Package: devscripts
Version: 2.25.15

Dear maintainer:

The debrebuild tool, used by reproduce.debian.net, is unable
to rebuild the smartlist package.

https://reproduce.debian.net/amd64/api/v0/builds/315659/log

-----------------------------------------------------------------------------------
gcc -g -O2 -Werror=implicit-function-declaration 
-ffile-prefix-map=/build/reproducible-path/smartlist-3.15=. 
-fstack-protector-strong -fstack-clash-protection -Wformat 
-Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2  
multigram.o sublib.o ecommon.o mcommon.o hsort.o lastdirsep.o -o multigram 
-Wl,-z,relro   -lm -lc
make[2]: Leaving directory '/build/reproducible-path/smartlist-3.15/src'
Can't access /build/reproducible-path/smartlist-3.15/debian/tmp/var/list, are 
you sure it's there?
-----------------------------------------------------------------------------------

I think the root cause of this is insufficient permissions in some
of the directories required to reach
/build/reproducible-path/smartlist-3.15/debian/tmp/var/list

This is a problem which I found in the past, and there was even
a comment in debian/rules about it, which I will quote below:

       # Important note: Make sure that all directories in
       # `pwd`/debian/tmp/var/list are world-readable.
       # Otherwise you may get this strange error:
       # "Can't access /var/list, are you sure it's there?"
       # I got this error because my home directory was mode 700.
       # Simply chmod 755 it and this will work.
       CC="$(CC)" CFLAGS0="$(CFLAGS0)" LDFLAGS0="$(LDFLAGS0)" \
                SmartList/install.sh `pwd`/debian/tmp/var/list /var/list

In version 3.15-25 from 2015-08-30, i.e. nearly ten years ago,
those comments were removed with this changelog entry:

      * debian/rules: Drop obsolete comments and set permissions in a more
        straightforward way. Hopefully the package is reproducible now.

So, while it's possible that we could avoid this problem to happen
by some minor change in debian/rules, I would consider this as
a bug in debrebuild, because this is not a hardware issue
and the package builds ok in buildd.debian.org:

https://buildd.debian.org/status/package.php?p=smartlist

and also in Salsa CI:

https://salsa.debian.org/sanvila/smartlist/-/pipelines

and the comments in debian/rules were removed when it was clear
that they were not needed anymore. In other words, I think debrebuild
is breaking some common assumptions, which I would consider reasonable,
about the way packages should be built.

(Cc: Holger, as I asked him about this weird issue first)

Thanks.

Reply via email to