The package rpms/qpdf.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/qpdf.git/commit/?id=3e2876d6430daebb... https://src.fedoraproject.org/cgit/rpms/qpdf.git/commit/?id=dcf5187289cfa9cc... https://src.fedoraproject.org/cgit/rpms/qpdf.git/commit/?id=eae1516501e2efd5....
Change: +%ifarch aarch64 +%ifarch s390x -%ifarch aarch64
Thanks.
Full change: ============
commit 3e2876d6430daebb43a788b393a8a1e3882e365f Author: Zdenek Dohnal zdohnal@redhat.com Date: Thu May 20 10:05:27 2021 +0200
Revert to 10.1.0
diff --git a/.gitignore b/.gitignore index 17675c9..ba718e5 100644 --- a/.gitignore +++ b/.gitignore @@ -29,7 +29,3 @@ /qpdf-10.0.3.tar.gz /qpdf-10.0.4.tar.gz /qpdf-10.1.0.tar.gz -/qpdf-10.2.0.tar.gz -/qpdf-10.3.0.tar.gz -/qpdf-10.3.1.tar.gz -/qpdf-10.3.2.tar.gz diff --git a/qpdf-erase-tests-with-generated-object-stream.patch b/qpdf-erase-tests-with-generated-object-stream.patch new file mode 100644 index 0000000..8a076ae --- /dev/null +++ b/qpdf-erase-tests-with-generated-object-stream.patch @@ -0,0 +1,142 @@ +diff -up qpdf-9.0.1/examples/qtest/filter-tokens.test.erase-tests-with-generated-object-stream qpdf-9.0.1/examples/qtest/filter-tokens.test +--- qpdf-9.0.1/examples/qtest/filter-tokens.test.erase-tests-with-generated-object-stream 2019-09-20 14:07:56.000000000 +0200 ++++ qpdf-9.0.1/examples/qtest/filter-tokens.test 2019-10-03 08:05:23.809400490 +0200 +@@ -13,8 +13,4 @@ $td->runtest("filter tokens", + {$td->COMMAND => "pdf-filter-tokens in.pdf a.pdf"}, + {$td->STRING => "", $td->EXIT_STATUS => 0}); + +-$td->runtest("check output", +- {$td->FILE => "a.pdf"}, +- {$td->FILE => "out.pdf"}); +- +-$td->report(2); ++$td->report(1); +diff -up qpdf-9.0.1/examples/qtest/invert-images.test.erase-tests-with-generated-object-stream qpdf-9.0.1/examples/qtest/invert-images.test +--- qpdf-9.0.1/examples/qtest/invert-images.test.erase-tests-with-generated-object-stream 2019-09-20 14:07:56.000000000 +0200 ++++ qpdf-9.0.1/examples/qtest/invert-images.test 2019-10-03 08:05:23.810400481 +0200 +@@ -19,13 +19,13 @@ $td->runtest("double page size", + $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); + +-$td->runtest("check output", +- {$td->FILE => "a.pdf"}, +- {$td->FILE => "out.pdf"}); ++#$td->runtest("check output", ++# {$td->FILE => "a.pdf"}, ++# {$td->FILE => "out.pdf"}); + + cleanup(); + +-$td->report(2); ++$td->report(1); + + sub cleanup + { +diff -up qpdf-9.0.1/examples/qtest/set-form-values.test.erase-tests-with-generated-object-stream qpdf-9.0.1/examples/qtest/set-form-values.test +--- qpdf-9.0.1/examples/qtest/set-form-values.test.erase-tests-with-generated-object-stream 2019-09-20 14:07:56.000000000 +0200 ++++ qpdf-9.0.1/examples/qtest/set-form-values.test 2019-10-03 08:05:23.810400481 +0200 +@@ -14,13 +14,10 @@ cleanup(); + $td->runtest("set form values", + {$td->COMMAND => "pdf-set-form-values form-in.pdf a.pdf soup"}, + {$td->STRING => "", $td->EXIT_STATUS => 0}); +-$td->runtest("compare files", +- {$td->FILE => "a.pdf"}, +- {$td->FILE => "form-out.pdf"}); + + cleanup(); + +-$td->report(2); ++$td->report(1); + + sub cleanup + { +diff -up qpdf-9.0.1/libqpdf/qpdf-c.cc.erase-tests-with-generated-object-stream qpdf-9.0.1/libqpdf/qpdf-c.cc +--- qpdf-9.0.1/libqpdf/qpdf-c.cc.erase-tests-with-generated-object-stream 2019-09-20 14:07:56.000000000 +0200 ++++ qpdf-9.0.1/libqpdf/qpdf-c.cc 2019-10-03 08:05:23.811400473 +0200 +@@ -297,7 +297,6 @@ QPDF_ERROR_CODE qpdf_read_memory(qpdf_da + qpdf->size = size; + qpdf->password = password; + status = trap_errors(qpdf, &call_read_memory); +- QTC::TC("qpdf", "qpdf-c called qpdf_read_memory", status); + return status; + } + +@@ -508,7 +507,6 @@ unsigned char const* qpdf_get_buffer(qpd + + void qpdf_set_object_stream_mode(qpdf_data qpdf, qpdf_object_stream_e mode) + { +- QTC::TC("qpdf", "qpdf-c called qpdf_set_object_stream_mode"); + qpdf->qpdf_writer->setObjectStreamMode(mode); + } + +diff -up qpdf-9.0.1/libqpdf/QPDFWriter.cc.erase-tests-with-generated-object-stream qpdf-9.0.1/libqpdf/QPDFWriter.cc +--- qpdf-9.0.1/libqpdf/QPDFWriter.cc.erase-tests-with-generated-object-stream 2019-10-03 08:05:23.812400464 +0200 ++++ qpdf-9.0.1/libqpdf/QPDFWriter.cc 2019-10-03 08:07:08.083488747 +0200 +@@ -3436,8 +3436,6 @@ QPDFWriter::writeLinearized() + { + if (this->m->deterministic_id) + { +- QTC::TC("qpdf", "QPDFWriter linearized deterministic ID", +- need_xref_stream ? 0 : 1); + computeDeterministicIDData(); + pp_md5 = 0; + assert(this->m->md5_pipeline == 0); +@@ -3645,8 +3643,6 @@ QPDFWriter::writeStandard() + + if (this->m->deterministic_id) + { +- QTC::TC("qpdf", "QPDFWriter standard deterministic ID", +- this->m->object_stream_to_objects.empty() ? 0 : 1); + pp_md5 = 0; + assert(this->m->md5_pipeline == 0); + } +diff -up qpdf-9.0.1/qpdf/qpdf.testcov.erase-tests-with-generated-object-stream qpdf-9.0.1/qpdf/qpdf.testcov +--- qpdf-9.0.1/qpdf/qpdf.testcov.erase-tests-with-generated-object-stream 2019-09-20 14:07:56.000000000 +0200 ++++ qpdf-9.0.1/qpdf/qpdf.testcov 2019-10-03 08:05:23.814400446 +0200 +@@ -123,7 +123,6 @@ qpdf-c called qpdf_get_user_password 0 + qpdf-c called qpdf_is_linearized 0 + qpdf-c called qpdf_is_encrypted 0 + qpdf-c called qpdf_init_write 3 +-qpdf-c called qpdf_set_object_stream_mode 0 + qpdf-c called qpdf_set_stream_data_mode 0 + qpdf-c called qpdf_set_content_normalization 0 + qpdf-c called qpdf_set_qdf_mode 0 +@@ -177,7 +176,6 @@ QPDFObjectHandle append page contents 0 + QPDF_Stream getRawStreamData 0 + QPDF_Stream getStreamData 0 + QPDF_Stream expand filter abbreviation 0 +-qpdf-c called qpdf_read_memory 0 + QPDF stream without newline 0 + QPDF stream with CR only 0 + QPDF stream with CRNL 0 +@@ -261,8 +259,6 @@ qpdf pages range omitted at end 0 + qpdf pages range omitted in middle 0 + qpdf npages 0 + QPDF already reserved object 0 +-QPDFWriter standard deterministic ID 1 +-QPDFWriter linearized deterministic ID 1 + QPDFWriter deterministic with no data 0 + qpdf-c called qpdf_set_deterministic_ID 0 + QPDFObjectHandle indirect with 0 objid 0 +diff -up qpdf-9.0.1/qpdf/qtest/qpdf.test.erase-tests-with-generated-object-stream qpdf-9.0.1/qpdf/qtest/qpdf.test +--- qpdf-9.0.1/qpdf/qtest/qpdf.test.erase-tests-with-generated-object-stream 2019-09-20 14:07:56.000000000 +0200 ++++ qpdf-9.0.1/qpdf/qtest/qpdf.test 2019-10-03 08:05:23.816400429 +0200 +@@ -2584,7 +2584,6 @@ my @capi = ( + [3, 'normalized content'], + [4, 'ignore xref streams'], + [5, 'linearized'], +- [6, 'object streams'], + [7, 'qdf'], + [8, 'no original object ids'], + [9, 'uncompressed streams'], +@@ -2628,8 +2627,8 @@ $td->runtest("write damaged", + show_ntests(); + # ---------- + $td->notify("--- Deterministic ID Tests ---"); +-$n_tests += 11; +-foreach my $d ('nn', 'ny', 'yn', 'yy') ++$n_tests += 7; ++foreach my $d ('nn', 'yn') + { + my $linearize = ($d =~ m/^y/); + my $ostream = ($d =~ m/y$/); diff --git a/qpdf-relax.patch b/qpdf-relax.patch index ae50652..87cc167 100644 --- a/qpdf-relax.patch +++ b/qpdf-relax.patch @@ -1,7 +1,7 @@ -diff -up qpdf-10.2.0/libqpdf/QPDF.cc.relax qpdf-10.2.0/libqpdf/QPDF.cc ---- qpdf-10.2.0/libqpdf/QPDF.cc.relax 2021-02-23 16:41:58.000000000 +0100 -+++ qpdf-10.2.0/libqpdf/QPDF.cc 2021-02-24 12:35:50.715329461 +0100 -@@ -11,6 +11,10 @@ +diff -up qpdf-9.0.1/libqpdf/QPDF.cc.relax qpdf-9.0.1/libqpdf/QPDF.cc +--- qpdf-9.0.1/libqpdf/QPDF.cc.relax 2019-09-20 14:07:56.000000000 +0200 ++++ qpdf-9.0.1/libqpdf/QPDF.cc 2019-10-01 13:15:46.513551565 +0200 +@@ -10,6 +10,10 @@ #include <string.h> #include <memory.h>
@@ -12,7 +12,7 @@ diff -up qpdf-10.2.0/libqpdf/QPDF.cc.relax qpdf-10.2.0/libqpdf/QPDF.cc #include <qpdf/QTC.hh> #include <qpdf/QUtil.hh> #include <qpdf/Pipeline.hh> -@@ -261,7 +265,13 @@ QPDF::processFile(char const* filename, +@@ -207,7 +211,13 @@ QPDF::processFile(char const* filename, { FileInputSource* fi = new FileInputSource(); fi->setFilename(filename); @@ -26,7 +26,7 @@ diff -up qpdf-10.2.0/libqpdf/QPDF.cc.relax qpdf-10.2.0/libqpdf/QPDF.cc }
void -@@ -270,7 +280,13 @@ QPDF::processFile(char const* descriptio +@@ -216,7 +226,13 @@ QPDF::processFile(char const* descriptio { FileInputSource* fi = new FileInputSource(); fi->setFile(description, filep, close_file); @@ -40,9 +40,9 @@ diff -up qpdf-10.2.0/libqpdf/QPDF.cc.relax qpdf-10.2.0/libqpdf/QPDF.cc }
void -diff -up qpdf-10.2.0/libqpdf/QPDF_encryption.cc.relax qpdf-10.2.0/libqpdf/QPDF_encryption.cc ---- qpdf-10.2.0/libqpdf/QPDF_encryption.cc.relax 2021-02-23 16:41:58.000000000 +0100 -+++ qpdf-10.2.0/libqpdf/QPDF_encryption.cc 2021-02-24 12:37:17.267561185 +0100 +diff -up qpdf-9.0.1/libqpdf/QPDF_encryption.cc.relax qpdf-9.0.1/libqpdf/QPDF_encryption.cc +--- qpdf-9.0.1/libqpdf/QPDF_encryption.cc.relax 2019-09-20 14:07:56.000000000 +0200 ++++ qpdf-9.0.1/libqpdf/QPDF_encryption.cc 2019-10-01 13:19:56.086467631 +0200 @@ -1,6 +1,8 @@ // This file implements methods from the QPDF class that involve // encryption. @@ -63,7 +63,7 @@ diff -up qpdf-10.2.0/libqpdf/QPDF_encryption.cc.relax qpdf-10.2.0/libqpdf/QPDF_e static unsigned char const padding_string[] = { 0x28, 0xbf, 0x4e, 0x5e, 0x4e, 0x75, 0x8a, 0x41, 0x64, 0x00, 0x4e, 0x56, 0xff, 0xfa, 0x01, 0x08, -@@ -1150,6 +1156,12 @@ QPDF::getKeyForObject( +@@ -1140,6 +1146,12 @@ QPDF::getKeyForObject( void QPDF::decryptString(std::string& str, int objid, int generation) { @@ -76,7 +76,7 @@ diff -up qpdf-10.2.0/libqpdf/QPDF_encryption.cc.relax qpdf-10.2.0/libqpdf/QPDF_e if (objid == 0) { return; -@@ -1230,6 +1242,10 @@ QPDF::decryptString(std::string& str, in +@@ -1220,6 +1232,10 @@ QPDF::decryptString(std::string& str, in QUtil::int_to_string(objid) + " " + QUtil::int_to_string(generation) + ": " + e.what()); } @@ -87,8 +87,8 @@ diff -up qpdf-10.2.0/libqpdf/QPDF_encryption.cc.relax qpdf-10.2.0/libqpdf/QPDF_e }
void -@@ -1240,6 +1256,12 @@ QPDF::decryptStream(PointerHolder<Encryp - QPDFObjectHandle& stream_dict, +@@ -1231,6 +1247,12 @@ QPDF::decryptStream(PointerHolder<Encryp + bool is_attachment_stream, std::vector<PointerHolder<Pipeline> >& heap) { +#ifdef HAVE_GNUTLS @@ -100,7 +100,7 @@ diff -up qpdf-10.2.0/libqpdf/QPDF_encryption.cc.relax qpdf-10.2.0/libqpdf/QPDF_e std::string type; if (stream_dict.getKey("/Type").isName()) { -@@ -1361,6 +1383,10 @@ QPDF::decryptStream(PointerHolder<Encryp +@@ -1360,6 +1382,10 @@ QPDF::decryptStream(PointerHolder<Encryp toI(key.length())); } heap.push_back(pipeline); @@ -111,9 +111,9 @@ diff -up qpdf-10.2.0/libqpdf/QPDF_encryption.cc.relax qpdf-10.2.0/libqpdf/QPDF_e }
void -diff -up qpdf-10.2.0/libqpdf/QPDFWriter.cc.relax qpdf-10.2.0/libqpdf/QPDFWriter.cc ---- qpdf-10.2.0/libqpdf/QPDFWriter.cc.relax 2021-02-23 16:41:58.000000000 +0100 -+++ qpdf-10.2.0/libqpdf/QPDFWriter.cc 2021-02-24 12:35:50.716329452 +0100 +diff -up qpdf-9.0.1/libqpdf/QPDFWriter.cc.relax qpdf-9.0.1/libqpdf/QPDFWriter.cc +--- qpdf-9.0.1/libqpdf/QPDFWriter.cc.relax 2019-09-20 14:07:56.000000000 +0200 ++++ qpdf-9.0.1/libqpdf/QPDFWriter.cc 2019-10-01 13:16:49.665013937 +0200 @@ -24,6 +24,10 @@ #include <algorithm> #include <stdlib.h> diff --git a/qpdf-s390x-disable-streamtest.patch b/qpdf-s390x-disable-streamtest.patch deleted file mode 100644 index 921d676..0000000 --- a/qpdf-s390x-disable-streamtest.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc -index 1968214..0b9b59d 100644 ---- a/libqpdf/QPDFWriter.cc -+++ b/libqpdf/QPDFWriter.cc -@@ -2096,7 +2096,6 @@ QPDFWriter::writeObjectStream(QPDFObjectHandle object) - // This condition occurred in a fuzz input. Ideally we - // should block it at at parse time, but it's not - // clear to me how to construct a case for this. -- QTC::TC("qpdf", "QPDFWriter stream in ostream"); - obj_to_write.warnIfPossible( - "stream found inside object stream; treating as null"); - obj_to_write = QPDFObjectHandle::newNull(); -diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov -index 9a15ae6..ce58c3c 100644 ---- a/qpdf/qpdf.testcov -+++ b/qpdf/qpdf.testcov -@@ -442,7 +442,6 @@ QPDF xref skipped space 0 - QPDF eof skipping spaces before xref 1 - QPDF_encryption user matches owner V < 5 0 - QPDF_encryption same password 1 --QPDFWriter stream in ostream 0 - QPDFObjectHandle duplicate dict key 0 - QPDFWriter no encryption sig contents 0 - QPDFPageObjectHelper colorspace lookup 0 -diff --git a/qpdf/qtest/qpdf.test b/qpdf/qtest/qpdf.test -index 5a978d3..c9002ba 100644 ---- a/qpdf/qtest/qpdf.test -+++ b/qpdf/qtest/qpdf.test -@@ -996,7 +996,6 @@ my @bug_tests = ( - ["263", "empty xref stream", 2], - ["335a", "ozz-fuzz-12152", 2], - ["335b", "ozz-fuzz-14845", 2], -- ["fuzz-16214", "stream in object stream", 3, "--preserve-unreferenced"], - # When adding to this list, consider adding to SEED_CORPUS_FILES - # in fuzz/build.mk and updating the count in fuzz/qtest/fuzz.test. - ); diff --git a/qpdf.spec b/qpdf.spec index 44512e9..d6b329f 100644 --- a/qpdf.spec +++ b/qpdf.spec @@ -1,6 +1,6 @@ Summary: Command-line tools and library for transforming PDF files Name: qpdf -Version: 10.3.2 +Version: 10.1.0 Release: 1%{?dist} # MIT: e.g. libqpdf/sha2.c # upstream uses ASL 2.0 now, but he allowed other to distribute qpdf under @@ -10,11 +10,11 @@ URL: http://qpdf.sourceforge.net/ Source0: http://downloads.sourceforge.net/sourceforge/qpdf/qpdf-%%7Bversion%7D.tar.gz
Patch0: qpdf-doc.patch +# zlib has optimalization for aarch64 now, which gives different output after +# compression - patch erases 3 tests with generated object stream which were failing +Patch2: qpdf-erase-tests-with-generated-object-stream.patch # make qpdf working under FIPS, downstream patch -Patch1: qpdf-relax.patch -# now we have s390x specific patch in zlib which changes output -# so we need to disable one test because of it -Patch2: qpdf-s390x-disable-streamtest.patch +Patch3: qpdf-relax.patch
# gcc and gcc-c++ are no longer in buildroot by default # gcc is needed for qpdf-ctest.c @@ -96,10 +96,10 @@ QPDF Manual
# fix 'complete manual location' note in man pages %patch0 -p1 -b .doc -%patch1 -p1 -b .relax -%ifarch s390x -%patch2 -p1 -b .s390x-disable-streamtest +%ifarch aarch64 +%patch2 -p1 -b .erase-tests-with-generated-object-stream %endif +%patch3 -p1 -b .relax
%build # work-around check-rpaths errors @@ -135,7 +135,7 @@ make check %doc README.md TODO ChangeLog %license Artistic-2.0 %{_libdir}/libqpdf.so.28 -%{_libdir}/libqpdf.so.28.3.2 +%{_libdir}/libqpdf.so.28.1.0
%files devel %doc examples/*.cc examples/*.c @@ -148,25 +148,6 @@ make check
%changelog -* Thu May 20 2021 Zdenek Dohnal zdohnal@redhat.com - 10.3.2-1 -- 1958536 - qpdf-10.3.2 is available - -* Mon Apr 19 2021 Zdenek Dohnal zdohnal@redhat.com - 10.3.1-2 -- aarch64 specific patches were removed from zlib, so no need for ours -- zlib got downstream patches on s390x, we need to patch qpdf test suite for it - -* Fri Mar 12 2021 Zdenek Dohnal zdohnal@redhat.com - 10.3.1-1 -- 1937988 - qpdf-10.3.1 is available - -* Thu Mar 11 2021 Zdenek Dohnal zdohnal@redhat.com - 10.3.0-1 -- 1935799 - qpdf-10.3.0 is available - -* Wed Feb 24 2021 Zdenek Dohnal zdohnal@redhat.com - 10.2.0-1 -- 1932052 - qpdf-10.2.0 is available - -* Wed Jan 27 2021 Fedora Release Engineering releng@fedoraproject.org - 10.1.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - * Mon Jan 11 2021 Zdenek Dohnal zdohnal@redhat.com - 10.1.0-1 - 1912951 - qpdf-10.1.0 is available
diff --git a/sources b/sources index f22c2cf..eeee810 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (qpdf-10.3.2.tar.gz) = 4e630959abf27d1801e36d0cbd754945ded42ade9299057a6b9a642c7cb2a3f8242e274642f1c33a65b4a5a77562d91dcbe64fd5772d483cbe5edb4a6a389219 +SHA512 (qpdf-10.1.0.tar.gz) = f9b22d89fc62e430e6232c840ad74d220ac9eb09d7f2dfe2c42c1c943d35b5fd25e2abec9970ac19ad7ad25dc3d95c74e68e50bad395abf815cf71c432233106
commit 114edf6593c2979e806a1b655890e37d7a0069fd Author: Zdenek Dohnal zdohnal@redhat.com Date: Thu May 20 07:46:56 2021 +0200
1958536 - qpdf-10.3.2 is available
diff --git a/.gitignore b/.gitignore index eff57f6..17675c9 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ /qpdf-10.2.0.tar.gz /qpdf-10.3.0.tar.gz /qpdf-10.3.1.tar.gz +/qpdf-10.3.2.tar.gz diff --git a/qpdf-s390x-disable-streamtest.patch b/qpdf-s390x-disable-streamtest.patch index 8a157c3..921d676 100644 --- a/qpdf-s390x-disable-streamtest.patch +++ b/qpdf-s390x-disable-streamtest.patch @@ -1,5 +1,5 @@ diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc -index fccefe0..2793191 100644 +index 1968214..0b9b59d 100644 --- a/libqpdf/QPDFWriter.cc +++ b/libqpdf/QPDFWriter.cc @@ -2096,7 +2096,6 @@ QPDFWriter::writeObjectStream(QPDFObjectHandle object) @@ -11,10 +11,10 @@ index fccefe0..2793191 100644 "stream found inside object stream; treating as null"); obj_to_write = QPDFObjectHandle::newNull(); diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov -index b4e7c46..3e935d0 100644 +index 9a15ae6..ce58c3c 100644 --- a/qpdf/qpdf.testcov +++ b/qpdf/qpdf.testcov -@@ -443,7 +443,6 @@ QPDF xref skipped space 0 +@@ -442,7 +442,6 @@ QPDF xref skipped space 0 QPDF eof skipping spaces before xref 1 QPDF_encryption user matches owner V < 5 0 QPDF_encryption same password 1 @@ -23,14 +23,14 @@ index b4e7c46..3e935d0 100644 QPDFWriter no encryption sig contents 0 QPDFPageObjectHelper colorspace lookup 0 diff --git a/qpdf/qtest/qpdf.test b/qpdf/qtest/qpdf.test -index afb6668..b8f55a2 100644 +index 5a978d3..c9002ba 100644 --- a/qpdf/qtest/qpdf.test +++ b/qpdf/qtest/qpdf.test @@ -996,7 +996,6 @@ my @bug_tests = ( ["263", "empty xref stream", 2], ["335a", "ozz-fuzz-12152", 2], ["335b", "ozz-fuzz-14845", 2], -- ["fuzz-16214", "stream in object stream", 3], +- ["fuzz-16214", "stream in object stream", 3, "--preserve-unreferenced"], # When adding to this list, consider adding to SEED_CORPUS_FILES # in fuzz/build.mk and updating the count in fuzz/qtest/fuzz.test. ); diff --git a/qpdf.spec b/qpdf.spec index ac49afb..44512e9 100644 --- a/qpdf.spec +++ b/qpdf.spec @@ -1,7 +1,7 @@ Summary: Command-line tools and library for transforming PDF files Name: qpdf -Version: 10.3.1 -Release: 2%{?dist} +Version: 10.3.2 +Release: 1%{?dist} # MIT: e.g. libqpdf/sha2.c # upstream uses ASL 2.0 now, but he allowed other to distribute qpdf under # old license (see README) @@ -135,7 +135,7 @@ make check %doc README.md TODO ChangeLog %license Artistic-2.0 %{_libdir}/libqpdf.so.28 -%{_libdir}/libqpdf.so.28.3.1 +%{_libdir}/libqpdf.so.28.3.2
%files devel %doc examples/*.cc examples/*.c @@ -148,6 +148,9 @@ make check
%changelog +* Thu May 20 2021 Zdenek Dohnal zdohnal@redhat.com - 10.3.2-1 +- 1958536 - qpdf-10.3.2 is available + * Mon Apr 19 2021 Zdenek Dohnal zdohnal@redhat.com - 10.3.1-2 - aarch64 specific patches were removed from zlib, so no need for ours - zlib got downstream patches on s390x, we need to patch qpdf test suite for it diff --git a/sources b/sources index 875f18b..f22c2cf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (qpdf-10.3.1.tar.gz) = def94fe09770e67fe13bd3fc946667fc2935e7c448eb43602e15218e5b50f452e4f4152411f818115620e67934890c37203663537ac77ed1fcd4317e01a6d623 +SHA512 (qpdf-10.3.2.tar.gz) = 4e630959abf27d1801e36d0cbd754945ded42ade9299057a6b9a642c7cb2a3f8242e274642f1c33a65b4a5a77562d91dcbe64fd5772d483cbe5edb4a6a389219
commit dcf5187289cfa9cc6e6faf8c491c49041b28a989 Author: Zdenek Dohnal zdohnal@redhat.com Date: Mon Apr 19 14:48:14 2021 +0200
zlib got downstream patches on s390x, we need to patch qpdf test suite for it
diff --git a/qpdf-s390x-disable-streamtest.patch b/qpdf-s390x-disable-streamtest.patch new file mode 100644 index 0000000..8a157c3 --- /dev/null +++ b/qpdf-s390x-disable-streamtest.patch @@ -0,0 +1,36 @@ +diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc +index fccefe0..2793191 100644 +--- a/libqpdf/QPDFWriter.cc ++++ b/libqpdf/QPDFWriter.cc +@@ -2096,7 +2096,6 @@ QPDFWriter::writeObjectStream(QPDFObjectHandle object) + // This condition occurred in a fuzz input. Ideally we + // should block it at at parse time, but it's not + // clear to me how to construct a case for this. +- QTC::TC("qpdf", "QPDFWriter stream in ostream"); + obj_to_write.warnIfPossible( + "stream found inside object stream; treating as null"); + obj_to_write = QPDFObjectHandle::newNull(); +diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov +index b4e7c46..3e935d0 100644 +--- a/qpdf/qpdf.testcov ++++ b/qpdf/qpdf.testcov +@@ -443,7 +443,6 @@ QPDF xref skipped space 0 + QPDF eof skipping spaces before xref 1 + QPDF_encryption user matches owner V < 5 0 + QPDF_encryption same password 1 +-QPDFWriter stream in ostream 0 + QPDFObjectHandle duplicate dict key 0 + QPDFWriter no encryption sig contents 0 + QPDFPageObjectHelper colorspace lookup 0 +diff --git a/qpdf/qtest/qpdf.test b/qpdf/qtest/qpdf.test +index afb6668..b8f55a2 100644 +--- a/qpdf/qtest/qpdf.test ++++ b/qpdf/qtest/qpdf.test +@@ -996,7 +996,6 @@ my @bug_tests = ( + ["263", "empty xref stream", 2], + ["335a", "ozz-fuzz-12152", 2], + ["335b", "ozz-fuzz-14845", 2], +- ["fuzz-16214", "stream in object stream", 3], + # When adding to this list, consider adding to SEED_CORPUS_FILES + # in fuzz/build.mk and updating the count in fuzz/qtest/fuzz.test. + ); diff --git a/qpdf.spec b/qpdf.spec index 345e410..ac49afb 100644 --- a/qpdf.spec +++ b/qpdf.spec @@ -12,6 +12,9 @@ Source0: http://downloads.sourceforge.net/sourceforge/qpdf/qpdf-%%7Bversion%7D.tar.g Patch0: qpdf-doc.patch # make qpdf working under FIPS, downstream patch Patch1: qpdf-relax.patch +# now we have s390x specific patch in zlib which changes output +# so we need to disable one test because of it +Patch2: qpdf-s390x-disable-streamtest.patch
# gcc and gcc-c++ are no longer in buildroot by default # gcc is needed for qpdf-ctest.c @@ -94,6 +97,9 @@ QPDF Manual # fix 'complete manual location' note in man pages %patch0 -p1 -b .doc %patch1 -p1 -b .relax +%ifarch s390x +%patch2 -p1 -b .s390x-disable-streamtest +%endif
%build # work-around check-rpaths errors @@ -144,6 +150,7 @@ make check %changelog * Mon Apr 19 2021 Zdenek Dohnal zdohnal@redhat.com - 10.3.1-2 - aarch64 specific patches were removed from zlib, so no need for ours +- zlib got downstream patches on s390x, we need to patch qpdf test suite for it
* Fri Mar 12 2021 Zdenek Dohnal zdohnal@redhat.com - 10.3.1-1 - 1937988 - qpdf-10.3.1 is available
commit eae1516501e2efd536782b636418e716e2fd019a Author: Zdenek Dohnal zdohnal@redhat.com Date: Mon Apr 19 13:54:23 2021 +0200
aarch64 specific patches were removed from zlib, so no need for ours
diff --git a/qpdf-erase-tests-with-generated-object-stream.patch b/qpdf-erase-tests-with-generated-object-stream.patch deleted file mode 100644 index 62a06f1..0000000 --- a/qpdf-erase-tests-with-generated-object-stream.patch +++ /dev/null @@ -1,147 +0,0 @@ -diff -up qpdf-10.2.0/examples/qtest/filter-tokens.test.erase-tests-with-generated-object-stream qpdf-10.2.0/examples/qtest/filter-tokens.test ---- qpdf-10.2.0/examples/qtest/filter-tokens.test.erase-tests-with-generated-object-stream 2021-02-24 12:45:32.347357149 +0100 -+++ qpdf-10.2.0/examples/qtest/filter-tokens.test 2021-02-24 12:47:01.379611993 +0100 -@@ -15,13 +15,9 @@ $td->runtest("filter tokens", - {$td->COMMAND => "pdf-filter-tokens in.pdf a.pdf"}, - {$td->STRING => "", $td->EXIT_STATUS => 0}); - --$td->runtest("check output", -- {$td->FILE => "a.pdf"}, -- {$td->FILE => "out.pdf"}); -- - cleanup(); - --$td->report(2); -+$td->report(1); - - sub cleanup - { -diff -up qpdf-10.2.0/examples/qtest/invert-images.test.erase-tests-with-generated-object-stream qpdf-10.2.0/examples/qtest/invert-images.test ---- qpdf-10.2.0/examples/qtest/invert-images.test.erase-tests-with-generated-object-stream 2021-02-23 16:41:58.000000000 +0100 -+++ qpdf-10.2.0/examples/qtest/invert-images.test 2021-02-24 12:45:32.347357149 +0100 -@@ -19,13 +19,13 @@ $td->runtest("invert images", - $td->EXIT_STATUS => 0}, - $td->NORMALIZE_NEWLINES); - --$td->runtest("check output", -- {$td->FILE => "a.pdf"}, -- {$td->FILE => "out.pdf"}); -+#$td->runtest("check output", -+# {$td->FILE => "a.pdf"}, -+# {$td->FILE => "out.pdf"}); - - cleanup(); - --$td->report(2); -+$td->report(1); - - sub cleanup - { -diff -up qpdf-10.2.0/examples/qtest/set-form-values.test.erase-tests-with-generated-object-stream qpdf-10.2.0/examples/qtest/set-form-values.test ---- qpdf-10.2.0/examples/qtest/set-form-values.test.erase-tests-with-generated-object-stream 2021-02-23 16:41:58.000000000 +0100 -+++ qpdf-10.2.0/examples/qtest/set-form-values.test 2021-02-24 12:45:32.347357149 +0100 -@@ -14,13 +14,10 @@ cleanup(); - $td->runtest("set form values", - {$td->COMMAND => "pdf-set-form-values form-in.pdf a.pdf soup"}, - {$td->STRING => "", $td->EXIT_STATUS => 0}); --$td->runtest("compare files", -- {$td->FILE => "a.pdf"}, -- {$td->FILE => "form-out.pdf"}); - - cleanup(); - --$td->report(2); -+$td->report(1); - - sub cleanup - { -diff -up qpdf-10.2.0/libqpdf/qpdf-c.cc.erase-tests-with-generated-object-stream qpdf-10.2.0/libqpdf/qpdf-c.cc ---- qpdf-10.2.0/libqpdf/qpdf-c.cc.erase-tests-with-generated-object-stream 2021-02-23 16:41:58.000000000 +0100 -+++ qpdf-10.2.0/libqpdf/qpdf-c.cc 2021-02-24 12:45:32.348357141 +0100 -@@ -331,7 +331,6 @@ QPDF_ERROR_CODE qpdf_read_memory(qpdf_da - qpdf->size = size; - qpdf->password = password; - status = trap_errors(qpdf, &call_read_memory); -- QTC::TC("qpdf", "qpdf-c called qpdf_read_memory", status); - return status; - } - -@@ -542,7 +541,6 @@ unsigned char const* qpdf_get_buffer(qpd - - void qpdf_set_object_stream_mode(qpdf_data qpdf, qpdf_object_stream_e mode) - { -- QTC::TC("qpdf", "qpdf-c called qpdf_set_object_stream_mode"); - qpdf->qpdf_writer->setObjectStreamMode(mode); - } - -diff -up qpdf-10.2.0/libqpdf/QPDFWriter.cc.erase-tests-with-generated-object-stream qpdf-10.2.0/libqpdf/QPDFWriter.cc ---- qpdf-10.2.0/libqpdf/QPDFWriter.cc.erase-tests-with-generated-object-stream 2021-02-23 16:41:58.000000000 +0100 -+++ qpdf-10.2.0/libqpdf/QPDFWriter.cc 2021-02-24 12:45:32.348357141 +0100 -@@ -3445,8 +3445,6 @@ QPDFWriter::writeLinearized() - { - if (this->m->deterministic_id) - { -- QTC::TC("qpdf", "QPDFWriter linearized deterministic ID", -- need_xref_stream ? 0 : 1); - computeDeterministicIDData(); - pp_md5 = 0; - assert(this->m->md5_pipeline == 0); -@@ -3654,8 +3652,6 @@ QPDFWriter::writeStandard() - - if (this->m->deterministic_id) - { -- QTC::TC("qpdf", "QPDFWriter standard deterministic ID", -- this->m->object_stream_to_objects.empty() ? 0 : 1); - pp_md5 = 0; - assert(this->m->md5_pipeline == 0); - } -diff -up qpdf-10.2.0/qpdf/qpdf.testcov.erase-tests-with-generated-object-stream qpdf-10.2.0/qpdf/qpdf.testcov ---- qpdf-10.2.0/qpdf/qpdf.testcov.erase-tests-with-generated-object-stream 2021-02-23 16:41:58.000000000 +0100 -+++ qpdf-10.2.0/qpdf/qpdf.testcov 2021-02-24 12:45:32.348357141 +0100 -@@ -123,7 +123,6 @@ qpdf-c called qpdf_get_user_password 0 - qpdf-c called qpdf_is_linearized 0 - qpdf-c called qpdf_is_encrypted 0 - qpdf-c called qpdf_init_write 3 --qpdf-c called qpdf_set_object_stream_mode 0 - qpdf-c called qpdf_set_stream_data_mode 0 - qpdf-c called qpdf_set_content_normalization 0 - qpdf-c called qpdf_set_qdf_mode 0 -@@ -177,7 +176,6 @@ QPDFObjectHandle append page contents 0 - QPDF_Stream getRawStreamData 0 - QPDF_Stream getStreamData 0 - QPDF_Stream expand filter abbreviation 0 --qpdf-c called qpdf_read_memory 0 - QPDF stream without newline 0 - QPDF stream with CR only 0 - QPDF stream with CRNL 0 -@@ -260,8 +258,6 @@ qpdf pages range omitted at end 0 - qpdf pages range omitted in middle 0 - qpdf npages 0 - QPDF already reserved object 0 --QPDFWriter standard deterministic ID 1 --QPDFWriter linearized deterministic ID 1 - QPDFWriter deterministic with no data 0 - qpdf-c called qpdf_set_deterministic_ID 0 - QPDFObjectHandle indirect with 0 objid 0 -diff -up qpdf-10.2.0/qpdf/qtest/qpdf.test.erase-tests-with-generated-object-stream qpdf-10.2.0/qpdf/qtest/qpdf.test ---- qpdf-10.2.0/qpdf/qtest/qpdf.test.erase-tests-with-generated-object-stream 2021-02-23 16:41:58.000000000 +0100 -+++ qpdf-10.2.0/qpdf/qtest/qpdf.test 2021-02-24 12:45:32.349357133 +0100 -@@ -3254,7 +3254,6 @@ my @capi = ( - [3, 'normalized content'], - [4, 'ignore xref streams'], - [5, 'linearized'], -- [6, 'object streams'], - [7, 'qdf'], - [8, 'no original object ids'], - [9, 'uncompressed streams'], -@@ -3298,8 +3297,8 @@ $td->runtest("write damaged", - show_ntests(); - # ---------- - $td->notify("--- Deterministic ID Tests ---"); --$n_tests += 11; --foreach my $d ('nn', 'ny', 'yn', 'yy') -+$n_tests += 7; -+foreach my $d ('nn', 'yn') - { - my $linearize = ($d =~ m/^y/); - my $ostream = ($d =~ m/y$/); diff --git a/qpdf.spec b/qpdf.spec index 7f0e54a..345e410 100644 --- a/qpdf.spec +++ b/qpdf.spec @@ -1,7 +1,7 @@ Summary: Command-line tools and library for transforming PDF files Name: qpdf Version: 10.3.1 -Release: 1%{?dist} +Release: 2%{?dist} # MIT: e.g. libqpdf/sha2.c # upstream uses ASL 2.0 now, but he allowed other to distribute qpdf under # old license (see README) @@ -10,11 +10,8 @@ URL: http://qpdf.sourceforge.net/ Source0: http://downloads.sourceforge.net/sourceforge/qpdf/qpdf-%%7Bversion%7D.tar.gz
Patch0: qpdf-doc.patch -# zlib has optimalization for aarch64 now, which gives different output after -# compression - patch erases 3 tests with generated object stream which were failing -Patch2: qpdf-erase-tests-with-generated-object-stream.patch # make qpdf working under FIPS, downstream patch -Patch3: qpdf-relax.patch +Patch1: qpdf-relax.patch
# gcc and gcc-c++ are no longer in buildroot by default # gcc is needed for qpdf-ctest.c @@ -96,10 +93,7 @@ QPDF Manual
# fix 'complete manual location' note in man pages %patch0 -p1 -b .doc -%ifarch aarch64 -%patch2 -p1 -b .erase-tests-with-generated-object-stream -%endif -%patch3 -p1 -b .relax +%patch1 -p1 -b .relax
%build # work-around check-rpaths errors @@ -148,6 +142,9 @@ make check
%changelog +* Mon Apr 19 2021 Zdenek Dohnal zdohnal@redhat.com - 10.3.1-2 +- aarch64 specific patches were removed from zlib, so no need for ours + * Fri Mar 12 2021 Zdenek Dohnal zdohnal@redhat.com - 10.3.1-1 - 1937988 - qpdf-10.3.1 is available
commit 9f2499b59a62230864b67df071f653b05a7f645b Author: Zdenek Dohnal zdohnal@redhat.com Date: Fri Mar 12 07:48:26 2021 +0100
1937988 - qpdf-10.3.1 is available
diff --git a/.gitignore b/.gitignore index a903ddf..eff57f6 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ /qpdf-10.1.0.tar.gz /qpdf-10.2.0.tar.gz /qpdf-10.3.0.tar.gz +/qpdf-10.3.1.tar.gz diff --git a/qpdf.spec b/qpdf.spec index da63338..7f0e54a 100644 --- a/qpdf.spec +++ b/qpdf.spec @@ -1,6 +1,6 @@ Summary: Command-line tools and library for transforming PDF files Name: qpdf -Version: 10.3.0 +Version: 10.3.1 Release: 1%{?dist} # MIT: e.g. libqpdf/sha2.c # upstream uses ASL 2.0 now, but he allowed other to distribute qpdf under @@ -135,7 +135,7 @@ make check %doc README.md TODO ChangeLog %license Artistic-2.0 %{_libdir}/libqpdf.so.28 -%{_libdir}/libqpdf.so.28.3.0 +%{_libdir}/libqpdf.so.28.3.1
%files devel %doc examples/*.cc examples/*.c @@ -148,6 +148,9 @@ make check
%changelog +* Fri Mar 12 2021 Zdenek Dohnal zdohnal@redhat.com - 10.3.1-1 +- 1937988 - qpdf-10.3.1 is available + * Thu Mar 11 2021 Zdenek Dohnal zdohnal@redhat.com - 10.3.0-1 - 1935799 - qpdf-10.3.0 is available
diff --git a/sources b/sources index 0233939..875f18b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (qpdf-10.3.0.tar.gz) = 43afa0127d296fb314cf428403882fe200339f4620f842c129056d9498bd46574c83147e4db12405fff8ee27e0c0618ded024d46be1582ee5378c06bfae19f1f +SHA512 (qpdf-10.3.1.tar.gz) = def94fe09770e67fe13bd3fc946667fc2935e7c448eb43602e15218e5b50f452e4f4152411f818115620e67934890c37203663537ac77ed1fcd4317e01a6d623
commit 44c24cdb2b9444a0b6a89b440e399f3a71eb5d71 Author: Zdenek Dohnal zdohnal@redhat.com Date: Thu Mar 11 10:00:33 2021 +0100
1935799 - qpdf-10.3.0 is available
diff --git a/.gitignore b/.gitignore index 306c5a0..a903ddf 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ /qpdf-10.0.4.tar.gz /qpdf-10.1.0.tar.gz /qpdf-10.2.0.tar.gz +/qpdf-10.3.0.tar.gz diff --git a/qpdf.spec b/qpdf.spec index d482d64..da63338 100644 --- a/qpdf.spec +++ b/qpdf.spec @@ -1,6 +1,6 @@ Summary: Command-line tools and library for transforming PDF files Name: qpdf -Version: 10.2.0 +Version: 10.3.0 Release: 1%{?dist} # MIT: e.g. libqpdf/sha2.c # upstream uses ASL 2.0 now, but he allowed other to distribute qpdf under @@ -135,7 +135,7 @@ make check %doc README.md TODO ChangeLog %license Artistic-2.0 %{_libdir}/libqpdf.so.28 -%{_libdir}/libqpdf.so.28.2.0 +%{_libdir}/libqpdf.so.28.3.0
%files devel %doc examples/*.cc examples/*.c @@ -148,6 +148,9 @@ make check
%changelog +* Thu Mar 11 2021 Zdenek Dohnal zdohnal@redhat.com - 10.3.0-1 +- 1935799 - qpdf-10.3.0 is available + * Wed Feb 24 2021 Zdenek Dohnal zdohnal@redhat.com - 10.2.0-1 - 1932052 - qpdf-10.2.0 is available
diff --git a/sources b/sources index 47f7574..0233939 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (qpdf-10.2.0.tar.gz) = 07a37aafccb670034aedfc031a4c2c1d3b6aa001e5c1bde5a3f57520a0523eebd890011a8225bb26b5beb83be15d4be3d2f1f40ad91f8370032db984cf788c0a +SHA512 (qpdf-10.3.0.tar.gz) = 43afa0127d296fb314cf428403882fe200339f4620f842c129056d9498bd46574c83147e4db12405fff8ee27e0c0618ded024d46be1582ee5378c06bfae19f1f
arch-excludes@lists.fedoraproject.org