[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bug in tar 1.14-2.1



On Fri, Mar 24, 2006 at 03:53:03PM +0100, Martin Zobel-Helas wrote:
> Looks like just rebuilding the security version resolves that error, for
> whatever reason. Julien and me just cross checked that and got the same
> result.

We tried to reproduce the bug with zobel, and finally discovered the Truth.

I'll try to explain:

$ apt-get source tar=1.14-2.1
$ cd tar-1.14
$ debuild > ../first-build.log
$ grep REMOTE_SHELL config.h
/* #undef REMOTE_SHELL */
$ debuild > ../second-build.log
$ grep REMOTE_SHELL config.h
#define REMOTE_SHELL "/usr/bin/rsh"

And with the diff between log files it is obvious, in the first run we
can see:

/usr/bin/make
make[1]: Entering directory `/home/tar-1.14'
cd . && /bin/sh /home/tar-1.14/config/missing --run aclocal-1.8 -I m4
/home/tar-1.14/config/missing: line 52: aclocal-1.8: command not found
WARNING: `aclocal-1.8' is missing on your system.  You should only need it if
         you modified `acinclude.m4' or `configure.ac'.  You might want
         to install the `Automake' and `Perl' packages.  Grab them from
         any GNU archive site.
 cd . && /bin/sh /home/tar-1.14/config/missing --run automake-1.8 --gnits 
/home/tar-1.14/config/missing: line 52: automake-1.8: command not found
WARNING: `automake-1.8' is missing on your system.  You should only need it if
         you modified `Makefile.am', `acinclude.m4' or `configure.ac'.
         You might want to install the `Automake' and `Perl' packages.
         Grab them from any GNU archive site.
cd . && /bin/sh /home/tar-1.14/config/missing --run autoconf
/home/tar-1.14/config/missing: line 52: autoconf: command not found
WARNING: `autoconf' is missing on your system.  You should only need it if
         you modified `configure.ac'.  You might want to install the
         `Autoconf' and `GNU m4' packages.  Grab them from any GNU
         archive site.
/bin/sh ./config.status --recheck
[...]

So ./configure is launched again without $RSH environment variable set
correctly.

Finally, I solved it this way:

diff -u tar-1.14/debian/rules tar-1.14/debian/rules
--- tar-1.14/debian/rules
+++ tar-1.14/debian/rules
@@ -16,7 +16,7 @@
 build-stamp:
        dh_testdir
 
-       $(MAKE)
+       RSH="/usr/bin/rsh" CFLAGS="-O2 -g -Wall" $(MAKE)
        (cd tests ; $(MAKE) check-TESTS)
 
        touch build-stamp


Happy birthday Martin ! ;-)

Regards,
-- 
Julien Danjou
.''`.  Debian Developer
: :' : http://julien.danjou.info
`. `'  http://people.debian.org/~acid
  `-   9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD

Attachment: signature.asc
Description: Digital signature


Reply to: