mika / jenkins-debian-glue

Scripts for Debian package/repository handling inside Jenkins
MIT License
131 stars 91 forks source link

pbuilder-satisfydepends: line 29: Segmentation fault #201

Closed vchrizz closed 6 years ago

vchrizz commented 6 years ago

not sure if this is jenkins-debian-glue or only pbuilder directly relevant, if latter, then please close this issue and ill open one for pbuilder. i've setup a new debian9 vm (amd64), installed fresh instance of jenkins-debian-glue (Jenkins ver. 2.138.2). now im trying to build olsrd packages from debian git repo. created olsrd-source and olsrd-binaries jobs exactly same as jenkins-debian-glue-source and jenkins-debian-glue-binaries.

forked the debian git repo, fixed some packaging problems, added architectures: amd64 i386 mips mipsel - arch amd64 and i386 build just fine, only mips and mipsel get the segmentation fault.)

debug log: https://gist.github.com/vchrizz/47a29f84cc400661f7b03656c918c673#file-gistfile1-txt-L1252

maybe related: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=904336 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=834990

vchrizz commented 6 years ago

ok, i've tried to build jenkins-debian-glue job with architectures amd64,i386,mips,mipsel and this went through successfully, so it seems its not pbuilder or jenkins-debian-glue...

vchrizz commented 6 years ago

@mika according to the bugreports on debian.org the apt resolver should be used: export PBUILDERSATISFYDEPENDSCMD=/usr/lib/pbuilder/pbuilder-satisfydepends-apt but though i added this as shell command in the build job at the top it does not seem to work, still the segfault. also putting this in ~/.pbuilderrc didnt work. how can this be set to be used correctly?

mika commented 6 years ago

You need to set the export PBUILDERSATISFYDEPENDSCMD=/usr/lib/pbuilder/pbuilder-satisfydepends-apt inside a file of your choice (e.g. /etc/jenkins/pbuilderrc) and then refer to this file, via PBUILDER_CONFIG (e.g. PBUILDER_CONFIG=/etc/jenkins/pbuilderrc). This is needed since j-d-g needs to pass certain pbuilder configurations dynamically during runtime.

To set this up globally use something like:

echo 'PBUILDER_CONFIG=/etc/jenkins/pbuilderrc' | sudo tee -a /etc/jenkins/debian_glue
echo 'export PBUILDERSATISFYDEPENDSCMD=/usr/lib/pbuilder/pbuilder-satisfydepends-apt' | sudo tee -a /etc/jenkins/pbuilderrc