Source: torque
Version: 2.4.16+dfsg-1.5
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps
X-Debbugs-Cc: reproducible-builds@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
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
--- 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 <car...@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 <la...@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/; \
_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to