Bug#836605: torque: please make the build reproducible
Chris Lamb
lamby at debian.org
Sun Sep 4 12:51:36 UTC 2016
Source: torque
Version: 2.4.16+dfsg-1.5
Severity: wishlist
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: timestamps
X-Debbugs-Cc: reproducible-builds at lists.alioth.debian.org
Hi,
Whilst working on the Reproducible Builds effort [0], I noticed
that torque could not be built reproducibly.
Patch attached.
[0] https://reproducible-builds.org/
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby at debian.org / chris-lamb.co.uk
`-
-------------- next part --------------
--- a/debian/control 2016-09-04 11:52:16.103933074 +0100
--- b/debian/control 2016-09-04 13:32:08.295709352 +0100
@@ -8,6 +8,7 @@
Build-Depends: autotools-dev (>= 20100122.1~),
chrpath,
debhelper (>= 7),
+ dh-autoreconf,
libpam0g-dev,
libkvm-dev [kfreebsd-any],
openssh-client,
--- a/debian/patches/CVE-2014-3684.patch 2016-09-04 11:52:16.103933074 +0100
--- b/debian/patches/CVE-2014-3684.patch 2016-09-04 13:30:07.822486110 +0100
@@ -18,8 +18,8 @@
Reviewed-by: Salvatore Bonaccorso <carnil at debian.org>
Last-Update: 2014-10-21
---- a/src/cmds/pbs_track.c
-+++ b/src/cmds/pbs_track.c
+--- torque-2.4.16+dfsg.orig/src/cmds/pbs_track.c
++++ torque-2.4.16+dfsg/src/cmds/pbs_track.c
@@ -232,6 +232,12 @@ int main(
break;
@@ -33,8 +33,8 @@
default:
/* Unexpected error occurred */
---- a/src/include/tm.h
-+++ b/src/include/tm.h
+--- torque-2.4.16+dfsg.orig/src/include/tm.h
++++ torque-2.4.16+dfsg/src/include/tm.h
@@ -195,7 +195,7 @@ int tm_register(tm_whattodo_t *what,
/*
* DJH 15 Nov 2001.
@@ -44,8 +44,8 @@
* Cannot be called with any other tm call.
* 26 Feb 2002. Allows id to be jobid (adoptCmd = TM_ADOPT_JOBID)
* or some altid (adoptCmd = TM_ADOPT_ALTID)
---- a/src/include/tm_.h
-+++ b/src/include/tm_.h
+--- torque-2.4.16+dfsg.orig/src/include/tm_.h
++++ torque-2.4.16+dfsg/src/include/tm_.h
@@ -133,6 +133,7 @@ typedef unsigned int tm_task_id;
#define TM_EBADENVIRONMENT 17005
#define TM_ENOTFOUND 17006
@@ -54,8 +54,8 @@
#define TM_TODO_NOP 5000 /* Do nothing (the nodes value may be new) */
#define TM_TODO_CKPT 5001 /* Checkpoint <what> and continue it */
---- a/src/lib/Libifl/tm.c
-+++ b/src/lib/Libifl/tm.c
+--- torque-2.4.16+dfsg.orig/src/lib/Libifl/tm.c
++++ torque-2.4.16+dfsg/src/lib/Libifl/tm.c
@@ -80,10 +80,14 @@
#include <pbs_config.h> /* the master config generated by configure */
--- a/debian/patches/reproducible-build.patch 1970-01-01 01:00:00.000000000 +0100
--- b/debian/patches/reproducible-build.patch 2016-09-04 13:34:37.569226410 +0100
@@ -0,0 +1,28 @@
+Description: Make the build reproducible
+Author: Chris Lamb <lamby at debian.org>
+Last-Update: 2016-09-04
+
+--- torque-2.4.16+dfsg.orig/configure.ac
++++ torque-2.4.16+dfsg/configure.ac
+@@ -1417,13 +1417,20 @@ AH_VERBATIM([NEED_BLOCKING_CONNECTIONS],
+ pbs_build_host=`uname -n`
+ pbs_build_date=`date`
+ pbs_build_dir=`pwd`
++pbs_build_user="${USER}"
++if test -n "$SOURCE_DATE_EPOCH"; then
++ pbs_build_host=generic
++ pbs_build_user=generic
++ pbs_build_date=`LC_ALL=C date --utc --date="@$SOURCE_DATE_EPOCH"`
++ pbs_build_dir=.
++fi
+ pbs_source_dir=`cd $srcdir && pwd`
+ pbs_config_args=$@
+ AC_DEFINE_UNQUOTED([PBS_BUILD_HOST],"${pbs_build_host}",[Define to the build hostname])
+ AC_DEFINE_UNQUOTED([PBS_BUILD_DATE],"${pbs_build_date}",[Define to the build date])
+ AC_DEFINE_UNQUOTED([PBS_BUILD_DIR],"${pbs_build_dir}",[Define to the build directory])
+ AC_DEFINE_UNQUOTED([PBS_SOURCE_DIR],"${pbs_source_dir}",[Define to the source directory])
+-AC_DEFINE_UNQUOTED([PBS_BUILD_USER],"${USER}",[Define to the building username])
++AC_DEFINE_UNQUOTED([PBS_BUILD_USER],"${pbs_build_user}",[Define to the building username])
+ AC_DEFINE_UNQUOTED([PBS_INSTALL_DIR],"${prefix}",[Define to the install directory])
+ AC_DEFINE_UNQUOTED([PBS_CONFIG_ARGS],"${ac_configure_args}",[Define to the install directory])
+ AC_DEFINE_UNQUOTED([PBS_CFLAGS],"${CFLAGS}",[Define to the install directory])
--- a/debian/patches/series 2016-09-04 11:52:16.103933074 +0100
--- b/debian/patches/series 2016-09-04 13:21:21.949155279 +0100
@@ -9,3 +9,4 @@
CVE-2013-4495.patch
CVE-2014-0749.patch
CVE-2014-3684.patch
+reproducible-build.patch
--- a/debian/rules 2016-09-04 11:52:16.103933074 +0100
--- b/debian/rules 2016-09-04 13:44:31.467290816 +0100
@@ -46,9 +46,7 @@
configure: configure-stamp
configure-stamp:
dh_testdir
- if [ -x /usr/bin/dh_autotools-dev_updateconfig ]; then \
- dh_autotools-dev_updateconfig; \
- fi
+ dh_autoreconf
ln -sf $(CURDIR) /tmp/torque-src
mkdir -p debian/build/with-x
mkdir -p debian/build/without-x
@@ -75,10 +73,8 @@
dh_testroot
rm -f build-arch-stamp build-indep-stamp configure-stamp
rm -rf debian/build
+ dh_autoreconf_clean
dh_clean
- if [ -x /usr/bin/dh_autotools-dev_restoreconfig ]; then \
- dh_autotools-dev_restoreconfig; \
- fi
rm -f torque-2.4.16
@@ -112,11 +108,8 @@
mv $(CURDIR)/debian/torque-server/var/spool/torque/sched_priv \
$(CURDIR)/debian/torque-scheduler/var/spool/torque/
- # redundant with server package -> mv to -common
- if [ -r $(CURDIR)/debian/torque-server/var/spool/torque/pbs_environment ]; then \
- mv $(CURDIR)/debian/torque-server/var/spool/torque/pbs_environment \
- $(CURDIR)/debian/torque-common/var/spool/torque/pbs_environment; \
- fi
+ rm -f $(CURDIR)/debian/torque-server/var/spool/torque/pbs_environment
+ echo "PATH=/bin:/usr/bin" > $(CURDIR)/debian/torque-common/var/spool/torque/pbs_environment
echo "Removing the directory /usr/lib from server package, which contains the following files: "
-find $(CURDIR)/debian/torque-server/usr/lib
rm -rf $(CURDIR)/debian/torque-server/usr/lib
@@ -150,17 +143,7 @@
rm -f $(CURDIR)/debian/torque-mom/usr/sbin/momctl
chrpath --delete $(CURDIR)/debian/torque-mom/usr/sbin/pbs_demux
chrpath --delete $(CURDIR)/debian/torque-mom/usr/sbin/pbs_mom
-
- # redundant with server package -> mv to -common
- if [ -r $(CURDIR)/debian/torque-mom/var/spool/torque/pbs_environment ]; then \
- mv $(CURDIR)/debian/torque-mom/var/spool/torque/pbs_environment \
- $(CURDIR)/debian/torque-common/var/spool/torque/pbs_environment; \
- fi
-
- if [ ! -r $(CURDIR)/debian/torque-common/var/spool/torque/pbs_environment ]; then \
- touch $(CURDIR)/debian/torque-common/var/spool/torque/pbs_environment; \
- fi
-
+ rm -f $(CURDIR)/debian/torque-mom/var/spool/torque/pbs_environment
# mv /etc/torque/server_name to torque-common
if [ -r $(CURDIR)/debian/torque-client-x11/etc/torque/server_name ]; then \
mkdir -p $(CURDIR)/debian/torque-common/etc/torque/; \
More information about the Reproducible-builds
mailing list