Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pdftk for openSUSE:Factory checked in at 2023-10-27 22:29:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pdftk (Old) and /work/SRC/openSUSE:Factory/.pdftk.new.17445 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pdftk" Fri Oct 27 22:29:12 2023 rev:9 rq:1120810 version:3.3.3 Changes: -------- --- /work/SRC/openSUSE:Factory/pdftk/pdftk.changes 2022-09-23 14:16:18.634133297 +0200 +++ /work/SRC/openSUSE:Factory/.pdftk.new.17445/pdftk.changes 2023-10-27 22:29:51.391174724 +0200 @@ -1,0 +2,17 @@ +Fri Oct 27 13:30:22 UTC 2023 - Fridrich Strba <fst...@suse.com> + +- Use SOURCE_DATE_EPOCH for reproducible timestamps + +------------------------------------------------------------------- +Fri Oct 27 11:36:14 UTC 2023 - Fridrich Strba <fst...@suse.com> + +- Build using maven and install as maven artifact +- Generate the javadoc and package it in a separate sub-package +- Craft the script using the %%jpackage_script macro +- Added patch: + * pdftk-bc175.patch + + fix build with bouncycastle 1.75+ with some deprecated methods + now removed + + fixes build in Factory after bouncycastle upgrade + +------------------------------------------------------------------- New: ---- pdftk-bc175.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pdftk.spec ++++++ --- /var/tmp/diff_new_pack.y9pijf/_old 2023-10-27 22:29:51.843191302 +0200 +++ /var/tmp/diff_new_pack.y9pijf/_new 2023-10-27 22:29:51.847191449 +0200 @@ -1,7 +1,7 @@ # # spec file for package pdftk # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # Copyright (c) 2020 Franz Sirl (fsirl) # # All modifications and additions to the file contributed by third parties @@ -25,12 +25,17 @@ Group: Productivity/Publishing/PDF URL: https://www.pdflabs.com/ Source0: https://gitlab.com/pdftk-java/pdftk/-/archive/v%{version}/pdftk-v%{version}.tar.bz2 -BuildRequires: ant -BuildRequires: apache-commons-lang3 -BuildRequires: bouncycastle +Patch0: %{name}-bc175.patch +BuildRequires: fdupes +BuildRequires: java-devel >= 1.8 +BuildRequires: maven-local +BuildRequires: mvn(biz.aQute.bnd:bnd-maven-plugin) +BuildRequires: mvn(org.apache.commons:commons-lang3) +BuildRequires: mvn(org.bouncycastle:bcprov-jdk18on) Requires: apache-commons-lang3 Requires: bouncycastle -Requires: jre >= 11 +# needed for the startscript +Requires: javapackages-tools BuildArch: noarch %description @@ -55,29 +60,42 @@ * Uncompress and Re-Compress Page Streams * Repair Corrupted PDF (Where Possible) +%package javadoc +Summary: API documentation for %{name} +Group: Documentation/HTML + +%description javadoc +API documentation for %{name}. + %prep %setup -q -n %{name}-v%{version} -mkdir lib -ln -s %{_javadir}/bcprov.jar %{_javadir}/commons-lang3.jar -t lib +%patch0 -p1 + +%pom_remove_plugin :jacoco-maven-plugin + +%{mvn_file} : %{name} %build -%{ant} jar +%{mvn_build} -f -- \ + -Dproject.build.outputTimestamp=$(date -u -d @${SOURCE_DATE_EPOCH:-$(date +%%s)} +%%Y-%%m-%%dT%%H:%%M:%%SZ) \ + -Dsource=8 %install -install -dm0755 %{buildroot}%{_bindir} %{buildroot}%{_javadir} %{buildroot}%{_mandir}/man1 -install -m0644 build/jar/pdftk.jar %{buildroot}%{_javadir} -install -m0644 pdftk.1 -t %{buildroot}%{_mandir}/man1 +%mvn_install +%fdupes -s %{buildroot}%{_javadocdir}/%{name} + # startscript -cat >%{buildroot}%{_bindir}/%{name} << EOF -#!/bin/sh -exec %{_bindir}/java -cp %{_javadir}/%{name}.jar:%{_javadir}/bcprov.jar:%{_javadir}/commons-lang3.jar com.gitlab.pdftk_java.pdftk "\$@" -EOF -chmod 0755 %{buildroot}%{_bindir}/%{name} +%jpackage_script com.gitlab.pdftk_java.pdftk "" "" %{name}:bcprov:commons-lang3 %{name} true +# manpage +install -dm 0755 %{buildroot}%{_mandir}/man1 +install -pm 0644 pdftk.1 -t %{buildroot}%{_mandir}/man1 -%files -%license license_gpl_pdftk/*.txt license_gpl_pdftk/*/*.txt +%files -f .mfiles +%license LICENSE %doc CHANGELOG.md README.md %{_bindir}/%{name} %{_mandir}/man1/%{name}.1%{?ext_man} -%{_javadir}/%{name}.jar + +%files javadoc -f .mfiles-javadoc +%license LICENSE ++++++ pdftk-bc175.patch ++++++ --- pdftk-v3.3.3/java/com/gitlab/pdftk_java/com/lowagie/text/pdf/PdfPKCS7.java 2023-10-27 13:23:34.491764952 +0200 +++ pdftk-v3.3.3/java/com/gitlab/pdftk_java/com/lowagie/text/pdf/PdfPKCS7.java 2023-10-27 13:26:30.713026680 +0200 @@ -225,7 +225,7 @@ ASN1ObjectIdentifier objId = (ASN1ObjectIdentifier)signedData.getObjectAt(0); if (!objId.getId().equals(ID_PKCS7_SIGNED_DATA)) throw new SecurityException("Not a valid PKCS#7 object - not signed data"); - ASN1Sequence content = (ASN1Sequence)((DERTaggedObject)signedData.getObjectAt(1)).getObject(); + ASN1Sequence content = (ASN1Sequence)((DERTaggedObject)signedData.getObjectAt(1)).getBaseObject(); // the positions that we care are: // 0 - version // 1 - digestAlgorithms @@ -258,7 +258,7 @@ // the possible ID_PKCS7_DATA ASN1Sequence rsaData = (ASN1Sequence)content.getObjectAt(2); if (rsaData.size() > 1) { - DEROctetString rsaDataContent = (DEROctetString)((DERTaggedObject)rsaData.getObjectAt(1)).getObject(); + DEROctetString rsaDataContent = (DEROctetString)((DERTaggedObject)rsaData.getObjectAt(1)).getBaseObject(); RSAdata = rsaDataContent.getOctets(); } @@ -294,7 +294,7 @@ next = 3; if (signerInfo.getObjectAt(next) instanceof ASN1TaggedObject) { ASN1TaggedObject tagsig = (ASN1TaggedObject)signerInfo.getObjectAt(next); - ASN1Sequence sseq = (ASN1Sequence)tagsig.getObject(); + ASN1Sequence sseq = (ASN1Sequence)tagsig.getBaseObject(); ByteArrayOutputStream bOut = new ByteArrayOutputStream(); ASN1OutputStream dout = ASN1OutputStream.create(bOut); try {