Sync from SUSE:ALP:Source:Standard:1.0 strip-nondeterminism revision 78b8b709b7b42f117738670e7377f262

This commit is contained in:
Adrian Schröter 2024-02-20 09:27:44 +01:00
commit 47e7db3439
8 changed files with 305 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

11
rpmmacros Normal file
View File

@ -0,0 +1,11 @@
# use as
# %?strip_all_nondeterminism
# or
# %if 0%?have_strip_nondeterminism > 0
# strip_nondeterminism path/to/file.zip
# %endif
%have_strip_nondeterminism 1
%strip_all_nondeterminism() \
strip-all-nondeterminism \
%{nil}

4
strip-all-nondeterminism Normal file
View File

@ -0,0 +1,4 @@
#!/bin/sh
dir=${1:-.}
find "$dir" -type f '(' -name '*.zip' -o -name '*.jar' -o -name '*.xpi' -o -name '*.pk3' -o -name '*.mo' -o -name '*.html' -o -name '*.gz' -o -name '*.png' ')' -print0 |\
xargs -0 --no-run-if-empty strip-nondeterminism --timestamp=${SOURCE_DATE_EPOCH:-1494270000} --clamp-timestamp

BIN
strip-nondeterminism-1.13.1.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEuL9UE3sJ01zwJv6dCRq4VgaaqhwFAmPEWyUACgkQCRq4Vgaa
qhxpMQ/+ORQhkJp+4DreVZY1+YodrBu+VpVICIMPor3gV4te9hRJCH2jduZKorX9
d/KjM5deHgABxsU/o8FnnTQpDtcS4UjmF5yMa7d9oIlfWaJhp4m9WrYTn4NPCyNq
CauPn0kyXAWFG07ErgpCMFcCcqGrSdPk1SN1r9lJdghqTqvd5a8w5CbApoYBHEDk
LPKuOsAiEJl2s0tLxOIf4jcIC3tHOsCRCoE6Rga8p31MlXqSjEcG1G05HIEkxV6P
kDeAc0UNo9szw7BdhtSbTrgZoz7br2KpJ9ICuQKVPCf521vhuJula58o6X1Yl2yi
10yl/j1bHM1NEd2hUOikRhnhqTM0AW4hgi86+Fg+Gh0KY+xR049GLqKJAQDV2SeX
UtQ2IujCXcjqORP9naTFoO/5ncl1RyvSKyo9SMw7n23Umy/rSTMtbZ7k/Gub1nzi
oO522iacYYsT2CAAu5VJKPnLTNfbklvxc8hbxcFqXaCxmOZNNKvr7Fl0fqCoxWZT
6ikf16IerpdkOnphH8lhFzelfJV3CR+Qavu+yzafe0FE6zC3p9ee1K/eKjnUg24T
ehnVtq7v85CdjAX04sb47ORLsf1/y3wPblOxGGDj5cAm3QpfSd90vAugYaNLCxI+
+bd2GL11wR/nruP6P5/YCzEg6XKCnmLN41IV3HzXWkjjNlgv8yE=
=WpCL
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,90 @@
-------------------------------------------------------------------
Fri Jul 28 16:19:49 UTC 2023 - Dirk Stoecker <opensuse@dstoecker.de>
- Update to version 1.13.1
* Update pyzip regex for latest file(1).
* Set upstream metadata fields: Bug-Database, Bug-Submit.
* dh_strip_nondeterminism: use get_non_binnmu_date_epoch() when available.
* Add a lintian overrides for some false positive tags.
* Do not fail on JAR archives containing invalid members with a .jar
extension.
- Drop upstream f1017c67.patch
-------------------------------------------------------------------
Wed Jan 11 11:53:54 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
- Add f1017c67.patch: Support the magic format as returned by file
5.44 (plus commit dc71304b).
-------------------------------------------------------------------
Mon Jun 14 10:21:07 UTC 2021 - Bernhard Wiedemann <bwiedemann@suse.com>
- Update to version 1.12.0
* Also normalise PO-Revision-Date in addition to POT-Creation-Date.
* Ignore unwritable files, printing a warning.
* Add a warning message under --verbose statement when the Archive::Cpio
package is missing. (MR: reproducible-builds/strip-nondeterminism!6)
* Fix an off-by-one error when parsing PNG modification times.
-------------------------------------------------------------------
Fri Jun 11 11:43:06 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
- Move macros.strip-nondeterminism from /etc/rpm to
%{_rpmmacrodir} (boo#1185657).
- Install the macro file non-executable: it is loaded by rpm, never
run.
-------------------------------------------------------------------
Tue Oct 29 11:54:17 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 1.6.1:
+ Parallelise dh_strip_nondeterminism script.
+ Correct indentation level of .zip file field format comment.
+ dh_strip_nondeterminism: Deduplicate hardlinks via stat(2) to
avoid issues.
+ Call file(1) with the "--" argument placeholder to fix
normalisation of files.
+ Check the return status from Archive::Zip when writing file to
disk.
+ Workaround Archive::Zip's incorrect handling of the
localExtraField field.
+ Support timestamp clamping of "tIME" chunks in .png files.
+ Drop the t/fixtures/zip/bug_803503.zip test fixtures as they
are no longer compatible with Archive::Zip >= 1.66.
- Drop strip-nondeterminism-0.029-fix-apk.patch: test suite passes
without this.
- BuildRequire perl(Sub::Override): new dependency.
- Drop _service file: it only has a download_url defined, which is
also transparently extracted from the spec file. So this service
essentially serves no purpose.
-------------------------------------------------------------------
Sat Dec 15 19:45:06 UTC 2018 - bwiedemann@suse.com
- Update to version 1.0.0
* Improvements for javadoc, zip, cpio and png handling
* Speed up startup time
- Drop upstream strip-nondeterminism-0.029-zipfix.patch
-------------------------------------------------------------------
Mon Jul 10 02:49:15 UTC 2017 - bwiedemann@suse.com
- Add strip-all-nondeterminism script to make this easier to use correctly
- Add strip-nondeterminism-0.029-zipfix.patch
to handle files without permissions in .zip files
-------------------------------------------------------------------
Sun May 7 09:47:22 UTC 2017 - bwiedemann@suse.com
- add rpm macro to use in spec files
-------------------------------------------------------------------
Sun Jan 1 00:00:51 UTC 2017 - bwiedemann@suse.com
- update to version 0.029
+ Add strip-nondeterminism-0.029-fix-apk.patch to fix tests
-------------------------------------------------------------------
Tue Mar 8 16:08:31 UTC 2016 - bwiedemann@suse.com
- initial package version 0.016

View File

@ -0,0 +1,78 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=4huk
-----END PGP PUBLIC KEY BLOCK-----

80
strip-nondeterminism.spec Normal file
View File

@ -0,0 +1,80 @@
#
# spec file for package strip-nondeterminism
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: strip-nondeterminism
Version: 1.13.1
Release: 0
Summary: A tool for stripping non-deterministic information
License: GPL-3.0-or-later
Group: Development/Libraries/Perl
URL: https://anonscm.debian.org/git/reproducible/strip-nondeterminism.git
#Bug-Database: https://salsa.debian.org/reproducible-builds/strip-nondeterminism/-/issues
Source: https://reproducible-builds.org/_lfs/releases/strip-nondeterminism/strip-nondeterminism-%{version}.tar.bz2
Source1: https://reproducible-builds.org/_lfs/releases/strip-nondeterminism/strip-nondeterminism-%{version}.tar.bz2.asc
Source2: rpmmacros
Source3: strip-all-nondeterminism
Source4: %{name}.keyring
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl-base
BuildRequires: perl-macros
BuildRequires: perl(Archive::Cpio)
BuildRequires: perl(Archive::Zip)
BuildRequires: perl(Sub::Override)
Requires: perl-base
Requires: perl(Archive::Zip)
Requires: perl(Sub::Override)
Recommends: perl(Archive::Cpio)
%{perl_requires}
%description
File::StripNondeterminism is a Perl module for stripping bits of
non-deterministic information, such as timestamps and file system
order, from files such as gzipped files, ZIP archives, and Jar files.
It can be used as a post-processing step to make a build reproducible,
when the build process itself cannot be made deterministic. It is used
as part of the Reproducible Builds project.
strip-nondeterminism contains the File::StripNondeterminism Perl module,
and the strip-nondeterminism command line utility.
%prep
%autosetup -p1 -n %{name}-%{version}
%build
%{__perl} Makefile.PL INSTALLDIRS=vendor
%{__make} %{?_smp_mflags}
%check
%{__make} test
%install
mkdir -p %buildroot%{_rpmmacrodir} %buildroot/%{_bindir}/
install -p %{SOURCE2} -m 644 %buildroot%{_rpmmacrodir}/macros.strip-nondeterminism
install -p %{SOURCE3} -m 755 %buildroot/%{_bindir}/
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%defattr(-,root,root,755)
%doc README TODO
%license COPYING
%{_rpmmacrodir}/macros.strip-nondeterminism
%changelog