Source: ceph
Version: 0.80.9-2
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: randomness
X-Debbugs-Cc: [email protected]
Hi,
While working on the "reproducible builds" effort [1], we have noticed
that ceph could not be built reproducibly.
This is because the dh_installinit snippets that are placed into the
post{inst,rm} scripts are generated in a filesystem — and thus
non-deterministic — order.
The attached patch removes this randomness from the build system by
simply
sorting the filenames. Once applied, ceph can be built reproducibly in
our
reproducible toolchain.
[1]: https://wiki.debian.org/ReproducibleBuilds
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` [email protected] / chris-lamb.co.uk
`-
diff --git a/debian/rules b/debian/rules
index b3b0ccb..45833b4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -62,17 +62,17 @@ override_dh_installinit:
dh_installinit --no-start
dh_installinit -pceph --no-start --name=rbdmap
# Install upstart configurations using dh_installinit
- for conf in `ls -1 src/upstart/ceph*.conf | grep -v mds`; do \
+ for conf in `ls -1 src/upstart/ceph*.conf | grep -v mds | LC_ALL=C
sort`; do \
name=`basename $$conf | cut -d . -f 1`; \
cp -v $$conf debian/ceph.$$name.upstart; \
dh_installinit -pceph --no-start --name=$$name; \
done
- for conf in `ls -1 src/upstart/ceph-mds*.conf`; do \
+ for conf in `ls -1 src/upstart/ceph-mds*.conf | LC_ALL=C sort`; do \
name=`basename $$conf | cut -d . -f 1`; \
cp -v $$conf debian/ceph-mds.$$name.upstart; \
dh_installinit -pceph-mds --no-start --name=$$name; \
done
- for conf in `ls -1 src/upstart/radosgw*.conf`; do \
+ for conf in `ls -1 src/upstart/radosgw*.conf | LC_ALL=C sort`; do \
name=`basename $$conf | cut -d . -f 1`; \
[ $$name = "radosgw" ] && name="radosgw-instance";\
cp -v $$conf debian/radosgw.$$name.upstart; \