[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