Your message dated Wed, 26 Dec 2018 17:33:40 +0100
with message-id <[email protected]>
and subject line fixed in 3.12-1.2
has caused the Debian Bug report #915295,
regarding rp-pppoe: reproducible build (usrmerge): embeds path of echo found 
via PATH
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
915295: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=915295
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: rp-pppoe
Version: 3.12-1
Severity: normal
Tags: patch
User: [email protected]
Usertags: usrmerge

Dear Maintainer,

The package currently fails to reproducibly build on merged-usr vs
non-merged systems.

The problem is that the full path of echo is embedded in a shipped file.

The problem could be fixed by passing ECHO=/bin/echo to configure,
but that would still embedd a full path and avoid using the
shell-builtin which would be more efficient.

I've thus opted for a patch that simply eliminates the indirection
and just uses plain echo in the script. The script already uses
plain echo in atleast one place, so the $ECHO use isn't even consistent.
I see no value in keeping $ECHO.

Regards,
Andreas Henriksson
diff -Nru rp-pppoe-3.12/debian/changelog rp-pppoe-3.12/debian/changelog
--- rp-pppoe-3.12/debian/changelog      2016-12-25 11:09:52.000000000 +0100
+++ rp-pppoe-3.12/debian/changelog      2018-12-02 16:34:59.000000000 +0100
@@ -1,3 +1,11 @@
+rp-pppoe (3.12-1.2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Add debian/patches/07_pppoestart-echo.patch
+    - fixes reproducible build on merged-usr vs non-merged
+
+ -- Andreas Henriksson <[email protected]>  Sun, 02 Dec 2018 16:34:59 +0100
+
 rp-pppoe (3.12-1.1) unstable; urgency=low
 
   * Non-maintainer upload.
diff -Nru rp-pppoe-3.12/debian/patches/07_pppoestart-echo.patch 
rp-pppoe-3.12/debian/patches/07_pppoestart-echo.patch
--- rp-pppoe-3.12/debian/patches/07_pppoestart-echo.patch       1970-01-01 
01:00:00.000000000 +0100
+++ rp-pppoe-3.12/debian/patches/07_pppoestart-echo.patch       2018-12-02 
16:31:44.000000000 +0100
@@ -0,0 +1,166 @@
+From: Andreas Henriksson <[email protected]>
+Subject: Avoid useless indirection and full path embedding of echo
+
+Embedding the full path of echo at build-time, instead of relying
+on PATH at *runtime* seems pointless. Spawning a command rather than
+using using plain echo which is often a shell-builtin is wasteful.
+
+The script also doesn't even consistently use $ECHO, but atleast
+in one place already uses plain echo.
+
+Thus this patch just drops the entire indirection.
+(Even better would be to join the gazillion echos run one after the
+other into a single write.)
+
+Apart from generally being a sane thing to do, this patch fixes
+the reproducible build failure on merged-usr vs non-merged systems
+as was spotted at:
+https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/rp-pppoe.html
+
+
+Index: rp-pppoe-3.12/scripts/pppoe-start.in
+===================================================================
+--- rp-pppoe-3.12.orig/scripts/pppoe-start.in
++++ rp-pppoe-3.12/scripts/pppoe-start.in
+@@ -28,7 +28,6 @@ exec_prefix=@exec_prefix@
+ 
+ # Paths to programs
+ CONNECT=@sbindir@/pppoe-connect
+-ECHO=@ECHO@
+ IFCONFIG=/sbin/ifconfig
+ 
+ # Set to "C" locale so we can parse messages from commands
+@@ -42,63 +41,63 @@ ETH=""
+ ME=`basename $0`
+ # Must be root
+ if [ "`@ID@ -u`" != 0 ] ; then
+-    $ECHO "$ME: You must be root to run this script" >& 2
++    echo "$ME: You must be root to run this script" >& 2
+     exit 1
+ fi
+ 
+ # Debugging
+ if [ "$DEBUG" = "1" ] ; then
+-    $ECHO "*** Running in debug mode... please be patient..."
++    echo "*** Running in debug mode... please be patient..."
+     DEBUG=/tmp/pppoe-debug-$$
+     export DEBUG
+     mkdir $DEBUG
+     if [ "$?" != 0 ] ; then
+-      $ECHO "Could not create directory $DEBUG... exiting"
++      echo "Could not create directory $DEBUG... exiting"
+       exit 1
+     fi
+     DEBUG=$DEBUG/pppoe-debug.txt
+ 
+     # Initial debug output
+-    $ECHO "---------------------------------------------" > $DEBUG
+-    $ECHO "* The following section contains information about your system" >> 
$DEBUG
++    echo "---------------------------------------------" > $DEBUG
++    echo "* The following section contains information about your system" >> 
$DEBUG
+     date >> $DEBUG
+-    $ECHO "Output of uname -a" >> $DEBUG
++    echo "Output of uname -a" >> $DEBUG
+     uname -a >> $DEBUG
+-    $ECHO "---------------------------------------------" >> $DEBUG
+-    $ECHO "* The following section contains information about your network" 
>> $DEBUG
+-    $ECHO "* interfaces.  The one you chose for PPPoE should contain the 
words:" >> $DEBUG
+-    $ECHO "* 'UP' and 'RUNNING'.  If it does not, you probably have an 
Ethernet" >> $DEBUG
+-    $ECHO "* driver problem." >> $DEBUG
+-    $ECHO "Output of ifconfig -a" >> $DEBUG
++    echo "---------------------------------------------" >> $DEBUG
++    echo "* The following section contains information about your network" >> 
$DEBUG
++    echo "* interfaces.  The one you chose for PPPoE should contain the 
words:" >> $DEBUG
++    echo "* 'UP' and 'RUNNING'.  If it does not, you probably have an 
Ethernet" >> $DEBUG
++    echo "* driver problem." >> $DEBUG
++    echo "Output of ifconfig -a" >> $DEBUG
+     $IFCONFIG -a >> $DEBUG
+-    $ECHO "---------------------------------------------" >> $DEBUG
++    echo "---------------------------------------------" >> $DEBUG
+     if [ "`uname -s`" = "Linux" ] ; then
+-        $ECHO "* The following section contains information about kernel 
modules" >> $DEBUG
+-      $ECHO "* If the module for your Ethernet card is 'tulip', you might" >> 
$DEBUG
+-      $ECHO "* want to look for an updated version at http://www.scyld.com"; 
>> $DEBUG
+-      $ECHO "Output of lsmod" >> $DEBUG
++        echo "* The following section contains information about kernel 
modules" >> $DEBUG
++      echo "* If the module for your Ethernet card is 'tulip', you might" >> 
$DEBUG
++      echo "* want to look for an updated version at http://www.scyld.com"; >> 
$DEBUG
++      echo "Output of lsmod" >> $DEBUG
+       lsmod >> $DEBUG
+-      $ECHO "---------------------------------------------" >> $DEBUG
++      echo "---------------------------------------------" >> $DEBUG
+     fi
+-    $ECHO "* The following section lists your routing table." >> $DEBUG
+-    $ECHO "* If you have an entry which starts with '0.0.0.0', you probably" 
>> $DEBUG
+-    $ECHO "* have defined a default route and gateway, and pppd will" >> 
$DEBUG
+-    $ECHO "* not create a default route using your ISP.  Try getting" >> 
$DEBUG
+-    $ECHO "* rid of this route." >> $DEBUG
+-    $ECHO "Output of netstat -n -r" >> $DEBUG
++    echo "* The following section lists your routing table." >> $DEBUG
++    echo "* If you have an entry which starts with '0.0.0.0', you probably" 
>> $DEBUG
++    echo "* have defined a default route and gateway, and pppd will" >> $DEBUG
++    echo "* not create a default route using your ISP.  Try getting" >> $DEBUG
++    echo "* rid of this route." >> $DEBUG
++    echo "Output of netstat -n -r" >> $DEBUG
+     netstat -n -r >> $DEBUG
+-    $ECHO "---------------------------------------------" >> $DEBUG
+-    $ECHO "Contents of /etc/resolv.conf" >> $DEBUG
+-    $ECHO "* The following section lists DNS setup." >> $DEBUG
+-    $ECHO "* If you can browse by IP address, but not name, suspect" >> $DEBUG
+-    $ECHO "* a DNS problem." >> $DEBUG
++    echo "---------------------------------------------" >> $DEBUG
++    echo "Contents of /etc/resolv.conf" >> $DEBUG
++    echo "* The following section lists DNS setup." >> $DEBUG
++    echo "* If you can browse by IP address, but not name, suspect" >> $DEBUG
++    echo "* a DNS problem." >> $DEBUG
+     cat /etc/resolv.conf >> $DEBUG
+-    $ECHO "---------------------------------------------" >> $DEBUG
+-    $ECHO "* The following section lists /etc/ppp/options." >> $DEBUG
+-    $ECHO "* You should have NOTHING in that file." >> $DEBUG
+-    $ECHO "Contents of /etc/ppp/options" >> $DEBUG
++    echo "---------------------------------------------" >> $DEBUG
++    echo "* The following section lists /etc/ppp/options." >> $DEBUG
++    echo "* You should have NOTHING in that file." >> $DEBUG
++    echo "Contents of /etc/ppp/options" >> $DEBUG
+     cat /etc/ppp/options >> $DEBUG 2>/dev/null
+-    $ECHO "---------------------------------------------" >> $DEBUG
++    echo "---------------------------------------------" >> $DEBUG
+ else
+     DEBUG=""
+ fi
+@@ -114,7 +113,7 @@ case "$#" in
+ esac
+ 
+ if [ ! -f "$CONFIG" -o ! -r "$CONFIG" ] ; then
+-    $ECHO "$ME: Cannot read configuration file '$CONFIG'" >& 2
++    echo "$ME: Cannot read configuration file '$CONFIG'" >& 2
+     exit 1
+ fi
+ export CONFIG
+@@ -134,7 +133,7 @@ if [ -r "$PIDFILE" ] ; then
+     # Check if still running
+     kill -0 $PID > /dev/null 2>&1
+     if [ $? = 0 ] ; then
+-      $ECHO "$ME: There already seems to be a PPPoE connection up (PID $PID)" 
>& 2
++      echo "$ME: There already seems to be a PPPoE connection up (PID $PID)" 
>& 2
+       exit 1
+     fi
+     # Delete bogus PIDFILE
+@@ -169,7 +168,7 @@ while [ true ] ; do
+     # Looks like the interface came up
+     if [ $? = 0 ] ; then
+       # Print newline if standard input is a TTY
+-      tty -s && $ECHO " Connected!"
++      tty -s && echo " Connected!"
+       exit 0
+     fi
+ 
+@@ -185,7 +184,7 @@ while [ true ] ; do
+     fi
+ done
+ 
+-$ECHO "TIMED OUT" >& 2
++echo "TIMED OUT" >& 2
+ # Timed out!  Kill the pppoe-connect process and quit
+ kill $CONNECT_PID > /dev/null 2>&1
+ 
diff -Nru rp-pppoe-3.12/debian/patches/series 
rp-pppoe-3.12/debian/patches/series
--- rp-pppoe-3.12/debian/patches/series 2016-12-25 11:07:18.000000000 +0100
+++ rp-pppoe-3.12/debian/patches/series 2018-12-02 16:24:34.000000000 +0100
@@ -4,3 +4,4 @@
 04_ignore_broadcasted_pado_packets.patch
 05_change_default_timeout.patch
 06_typo_fixes.patch
+07_pppoestart-echo.patch

--- End Message ---
--- Begin Message ---
Version: 3.12-1.2

Closing this bug now as the fixed version is accepted into the archive
(but did not contain a closes statement in the debian/changelog).

Regards,
Andreas Henriksson

--- End Message ---

Reply via email to