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=dcf5187289cfa9cc... https://src.fedoraproject.org/cgit/rpms/qpdf.git/commit/?id=eae1516501e2efd5....
Change: +%ifarch s390x -%ifarch aarch64
Thanks.
Full change: ============
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
arch-excludes@lists.fedoraproject.org