[Reproducible-builds] reproducible builds of FreeBSD in a chroot on Linux

Holger Levsen holger at layer-acht.org
Thu Jul 23 15:06:15 UTC 2015


Hi Steven,

On Montag, 20. Juli 2015, Steven Chamberlain wrote:
> `mktemp freebsd-XXXXXXXX` on FreeBSD would result in random characters
> being appended, resulting in freebsd-XXXXXXXX.v1adN6Qo as above.
> 
> `mktemp -d -t freebsd-XXXXXXXX` should replace the X's with random
> characters, same as GNU mktemp.  But it doesn't seem to have done that.

this doesnt happen when trying this manually on freebsd:

[jenkins at freebsd-jenkins ~]$ TMPDIR=/srv/workspace/chroots/ mktemp -d -t 
freebsd-XXXXXXXX
/srv/workspace/chroots//freebsd-XXXXXXXX.Qnc7a204
[jenkins at freebsd-jenkins ~]$ TMPDIR=/srv/workspace/chroots/ mktemp -d -t 
freebsd 
/srv/workspace/chroots//freebsd.xmBuKFoO

So I've changed the code to use the 2nd command now…
 
> Are you sure that your RSSH command is sending switches -d and -t
> correctly, or do you need a "--" or extra quotes?
> 
> Take a look in /srv/workspace/chroots/ and see if mktemp has perhaps
> created a file instead of a directory?

there are directories as expected…

So I've disabled the cleanup after build and fired up another, the result can 
be seen at
https://jenkins.debian.net/view/reproducible/job/reproducible_freebsd/9/console
and again ends with 

--------------------------------------------------------------
>>> stage 2.1: cleaning up the object tree
--------------------------------------------------------------
cd /srv/workspace/chroots/freebsd.YUCtKJvs/freebsd; MAKEOBJDIRPREFIX=/usr/obj  
MACHINE_ARCH=amd64  MACHINE=amd64  CPUTYPE= 
GROFF_BIN_PATH=/usr/obj/srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/tmp/legacy/usr/bin  
GROFF_FONT_PATH=/usr/obj/srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/tmp/legacy/usr/share/groff_font  
GROFF_TMAC_PATH=/usr/obj/srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/tmp/legacy/usr/share/tmac  
_LDSCRIPTROOT=  VERSION="FreeBSD 11.0-CURRENT amd64 1100077"  INSTALL="sh 
/srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/tools/install.sh"  
PATH=/usr/obj/srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/tmp/legacy/usr/sbin:/usr/obj/srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/tmp/legacy/usr/bin:/usr/obj/srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/tmp/legacy/bin:/usr/obj/srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/tmp/usr/sbin:/usr/obj/srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin 
CC="cc " CXX="c++  "  DEPFLAGS=""  CPP="cpp "  AS="as" AR="ar" LD="ld" NM=nm  
OBJDUMP=objdump OBJCOPY="objcopy"  RANLIB=ranlib STRINGS=  SIZE="size" make  -
f Makefile.inc1 
DESTDIR=/usr/obj/srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/tmp par-
cleandir
===> lib (cleandir)
===> lib/csu (cleandir)
===> lib/csu/amd64 (cleandir)
===> lib/libcompiler_rt (cleandir)
===> lib/libc (cleandir)
===> lib/libc/tests (cleandir)
cd: /srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/lib/libc/tests: No such 
file or directory
*** Error code 2

and indeed, /srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/lib/libc/ does not 
exist, while /srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/lib/ exists and 
is populated:

[jenkins at freebsd-jenkins ~]$ ls 
/srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/lib/libc
ls: /srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/lib/libc: No such file or 
directory
[jenkins at freebsd-jenkins ~]$ ls 
/srv/workspace/chroots/freebsd.YUCtKJvs/freebsd/lib/libc
libc++/         libcalendar/    libcapsicum/    libclang_rt/    libcompat/      
libcuse/        
libc_nonshared/ libcam/         libcasper/      libcom_err/     libcrypt/       
libcxxrt/       
[jenkins at freebsd-jenkins ~]$ 


Any ideas how to proceed now?


cheers,
	Holger
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 828 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.alioth.debian.org/pipermail/reproducible-builds/attachments/20150723/5bb2c5af/attachment.sig>


More information about the Reproducible-builds mailing list