[neon/backports-jammy/debuerreotype/Neon/unstable] /: 0.3-1 (patches unapplied)

git-ubuntu importer null at kde.org
Fri Aug 11 03:02:00 BST 2023


Git commit 05bb004f690ede11d1857dedb6967056ad387622 by git-ubuntu importer, on behalf of Tianon Gravi.
Committed on 09/08/2017 at 06:29.
Pushed by carlosdem into branch 'Neon/unstable'.

0.3-1 (patches unapplied)

Imported using git-ubuntu import.

M  +2    -0    .travis.yml
M  +1    -21   README.md
M  +1    -1    VERSION
M  +6    -0    debian/changelog
M  +4    -0    scripts/.tar-exclude
M  +14   -6    scripts/debuerreotype-slimify

https://invent.kde.org/neon/backports-jammy/debuerreotype/-/commit/05bb004f690ede11d1857dedb6967056ad387622

diff --git a/.travis.yml b/.travis.yml
index de303a0..2ce3bd7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,6 +8,8 @@ env:
     - SUITE=testing  CODENAME=stretch TIMESTAMP=2017-01-01T00:00:00Z SHA256=139ed970d52ef950c223f9ab325657eb93d0a93c7d6e2fc697fe7510e61760fa
     - SUITE=sid      CODENAME=        TIMESTAMP=2017-01-01T00:00:00Z SHA256=b75b4496deb4d6cee32245e4125e7ef948b09afbeb1ef3b9669e56daf3e822a7
     - SUITE=unstable CODENAME=sid     TIMESTAMP=2017-01-01T00:00:00Z SHA256=b75b4496deb4d6cee32245e4125e7ef948b09afbeb1ef3b9669e56daf3e822a7
+    - SUITE=wheezy    CODENAME=       TIMESTAMP=2017-01-01T00:00:00Z SHA256=b4f7069aba089e014590e51437ab03dc1b827372711fe4860866bfe9d920e956
+    - SUITE=oldstable CODENAME=wheezy TIMESTAMP=2017-01-01T00:00:00Z SHA256=b4f7069aba089e014590e51437ab03dc1b827372711fe4860866bfe9d920e956
 
 script:
     - travis_retry ./.travis.sh
diff --git a/README.md b/README.md
index 842da0e..d1bb911 100644
--- a/README.md
+++ b/README.md
@@ -94,29 +94,9 @@ $ debuerreotype-tar rootfs - | sha256sum
 $ # try it!  you should get that same sha256sum value!
 ```
 
-## Why isn't Wheezy reproducible??
-
-Wheezy is a little sad, and will have a delta similar to the following (as seen via [`diffoscope`](https://diffoscope.org/)):
-
-```
-├── etc/apt/trustdb.gpg
-│ │ @@ -1,8 +1,8 @@
-│ │ -0000000: 0167 7067 0303 0105 0102 0000 591b faa5  .gpg........Y...
-│ │ +0000000: 0167 7067 0303 0105 0102 0000 591b fc0c  .gpg........Y...
-│ │  0000010: 0000 0000 0000 0000 0000 0000 0000 0000  ................
-│ │  0000020: 0000 0000 0000 0001 0a00 0000 0000 0000  ................
-│ │  0000030: 0000 0000 0000 0000 0000 0000 0000 0000  ................
-│ │  0000040: 0000 0000 0000 0000 0000 0000 0000 0000  ................
-│ │  0000050: 0a00 0000 0000 0000 0000 0000 0000 0000  ................
-│ │  0000060: 0000 0000 0000 0000 0000 0000 0000 0000  ................
-│ │  0000070: 0000 0000 0000 0000 0a00 0000 0000 0000  ................
-```
-
-Presumably this is some sort of timestamp, but that's just a guess.  Suggestions for ways of fixing this would be most welcome!  (Otherwise, we'll just wait for Wheezy to go EOL and forget this ever happened. :trollface:)  See [debuerreotype/debuerreotype#7](https://github.com/debuerreotype/debuerreotype/issues/7) for the current discussion of this issue.
-
 ## How much have you verified this?
 
-Well, I ran the scripts across seven explicit architectures (`amd64`, `arm64`, `armel`, `armhf`, `i386`, `ppc64el`, `s390x`) and eight explicit suites (`oldstable`, `stable`, `testing`, `unstable`, `wheezy`, `jessie`, `stretch`, `sid`) for a timestamp of `2017-05-16T00:00:00Z` (where supported, since `wheezy`/`oldstable` didn't or no longer currently supports some of those architectures), and the above `wheezy` delta (a few bytes in `etc/apt/trustdb.gpg`) were the _only_ modification to any of the tarballs after several runs across several days.
+Well, I ran the scripts across seven explicit architectures (`amd64`, `arm64`, `armel`, `armhf`, `i386`, `ppc64el`, `s390x`) and eight explicit suites (`oldstable`, `stable`, `testing`, `unstable`, `wheezy`, `jessie`, `stretch`, `sid`) for a timestamp of `2017-05-16T00:00:00Z` (where supported, since `wheezy`/`oldstable` didn't or no longer currently supports some of those architectures), and there were no modifications to any of the tarballs after several runs across several days.
 
 Additionally, Travis runs with a fixed timestamp value across several suites to verify that their checksums are reproducible, as expected.
 
diff --git a/VERSION b/VERSION
index 3b04cfb..be58634 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.2
+0.3
diff --git a/debian/changelog b/debian/changelog
index 5594442..5d46828 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+debuerreotype (0.3-1) unstable; urgency=medium
+
+  * Update to 0.3 upstream release
+
+ -- Tianon Gravi <tianon at debian.org>  Tue, 08 Aug 2017 14:20:05 -0700
+
 debuerreotype (0.2-1) unstable; urgency=medium
 
   * Update to 0.2 upstream release
diff --git a/scripts/.tar-exclude b/scripts/.tar-exclude
index 61d7376..e33b518 100644
--- a/scripts/.tar-exclude
+++ b/scripts/.tar-exclude
@@ -18,3 +18,7 @@
 
 # wheezy-only file which contains host-kernel info
 ./run/motd.dynamic
+
+# wheezy-only file which APT doesn't even use (and has timestamp embedded in binary data)
+# see https://github.com/debuerreotype/debuerreotype/issues/7
+./etc/apt/trustdb.gpg
diff --git a/scripts/debuerreotype-slimify b/scripts/debuerreotype-slimify
index ca25b2d..c895d5b 100755
--- a/scripts/debuerreotype-slimify
+++ b/scripts/debuerreotype-slimify
@@ -37,17 +37,25 @@ for slimExclude in "${slimExcludes[@]}"; do
 	if [[ "$slimExclude" == *'/*' ]]; then
 		if [ -d "$targetDir/$(dirname "$slimExclude")" ]; then
 			# use two passes so that we don't fail trying to remove directories from $neverExclude
+			# this is our best effort at implementing https://sources.debian.net/src/dpkg/stretch/src/filters.c/#L96-L97 in shell
+
+			# step 1 -- delete everything that doesn't match "$neverExclude" and isn't a directory or a symlink
 			"$thisDir/debuerreotype-chroot" "$targetDir" \
 				find "$(dirname "$slimExclude")" \
 					-mindepth 1 \
 					-not -path "$neverExclude" \
-					-not -type d \
-					-delete
-			"$thisDir/debuerreotype-chroot" "$targetDir" \
-				find "$(dirname "$slimExclude")" \
-					-mindepth 1 \
-					-empty \
+					-not \( -type d -o -type l \) \
 					-delete
+
+			# step 2 -- repeatedly delete any dangling symlinks and empty directories until there aren't any
+			# (might have a dangling symlink in a directory which then makes it empty, or a symlink to an empty directory)
+			while [ "$(
+				"$thisDir/debuerreotype-chroot" "$targetDir" \
+					find "$(dirname "$slimExclude")" \
+						-mindepth 1 \( -empty -o -xtype l \) \
+						-delete -printf '.' \
+					| wc -c
+			)" -gt 0 ]; do true; done
 		fi
 	else
 		"$thisDir/debuerreotype-chroot" "$targetDir" rm -f "$slimExclude"



More information about the Neon-commits mailing list