[Neurodebian-users] Question about nd_* tools
Hänel Nikolaus Valentin
valentin.haenel at epfl.ch
Sun May 6 18:35:14 UTC 2012
* Hänel Nikolaus Valentin <valentin.haenel at epfl.ch> [2012-05-06]:
> * Hänel Nikolaus Valentin <valentin.haenel at epfl.ch> [2012-05-06]:
> > * Yury V. Zaytsev <yury at shurup.com> [2012-05-06]:
> > > On Sun, 2012-05-06 at 16:38 +0200, Hänel Nikolaus Valentin wrote:
> > > What I personally use is the approach that is described here in more
> > > details: https://wiki.ubuntu.com/PbuilderHowto . Basically, you create a
> > > smart ~/.pbuilderrc which automates the selection of the right keyring
> > > basing upon the DIST variable:
> > >
> > > if $(echo ${DEBIAN_SUITES[@]} | grep -q $DIST); then
> > > # Debian configuration
> > > MIRRORSITE="http://$DEBIAN_MIRROR/debian/"
> > > COMPONENTS="main contrib non-free"
> > > DEBOOTSTRAPOPTS=("${DEBOOTSTRAPOPTS[@]}" "--keyring=/usr/share/keyrings/debian-archive-keyring.gpg")
> > > elif $(echo ${UBUNTU_SUITES[@]} | grep -q $DIST); then
> > > # Ubuntu configuration
> > > MIRRORSITE="http://$UBUNTU_MIRROR/ubuntu/"
> > > COMPONENTS="main restricted universe multiverse"
> > > DEBOOTSTRAPOPTS=("${DEBOOTSTRAPOPTS[@]}" "--keyring=/usr/share/keyrings/ubuntu-archive-keyring.gpg")
> > > else
> > > echo "Unknown distribution: $DIST"
> > > exit 1
> > > fi
> > >
> > > However, I don't know how this integrates with NeuroDebian tools, which
> > > I have never tried.
> >
> > I modified the .pbuilderrc as follows:
> >
> > if env | grep -q debian; then
> > # Debian configuration
> > DEBOOTSTRAPOPTS=("${DEBOOTSTRAPOPTS[@]}" "--keyring=/usr/share/keyrings/debian-archive-keyring.gpg")
> > elif env | grep -q ubuntu; then
> > # Ubuntu configuration
> > DEBOOTSTRAPOPTS=("${DEBOOTSTRAPOPTS[@]}" "--keyring=/usr/share/keyrings/ubuntu-archive-keyring.gpg")
> > else
> > echo "Unknown distribution: $DIST"
> > exit 1
> > fi
> >
> > This works because the envirnoment (env) contains some variable which
> > contains either 'debian' or 'ubuntu' keyword. I know this ultra-fragile,
> > but right now, «it works for me»™. I can't remember what the variable
> > was, maybe something like SUDO_CMD?
> >
> > Note also, that I could do this in the $HOME/.pbuilderrc of my regular
> > user, because Ubuntu (unlike Debian) has a sudo that does not reset the
> > environment. But since it is ubuntu that I am working on that does not
> > matter.
> >
> > Now i get:
> >
> > SUMMARY:
> > nd+debian-squeeze exists
> > nd+debian-wheezy exists
> > nd+debian-sid ok
> > nd+ubuntu-natty exists
> > nd+ubuntu-oneiric exists
> > nd+ubuntu-precise failed
> > debian-squeeze exists
> > debian-wheezy exists
> > debian-sid exists
> >
> > Guess the configuration for precise is missing, or did I misspell it?
> >
> > Now on to build from *.dsc....
>
> So here, my luck leaves me, the .pbuilderrc posted above then causes
> nd_build4all to fall over... Because there is neither 'ubuntu' nor
> 'debian' in the env then. So... simply comment out the exit 1 and off we
> go. :D
So it finally went through and i found some errors in my package. Mainly precision problems with the unit tests on i386.
However there were also some errors not related to this. For example:
zsh» nd_build nd+debian sid i386 psignifit_3.0\~beta.20120503.1-1.dsc
Building for nd+debian sid i386 ...
-> Copying COW directory
forking: rm -rf /home/haenel/nd_cowbuildroot/build/cow.22381
forking: cp -al /home/haenel/nd_cowbuildroot/cow/nd+debian-sid-i386.cow /home/haenel/nd_cowbuildroot/build/cow.22381
I: unlink for ilistfile /home/haenel/nd_cowbuildroot/build/cow.22381/.ilist failed, it didn't exist?
forking: chroot /home/haenel/nd_cowbuildroot/build/cow.22381 cowdancer-ilistcreate /.ilist find . -xdev -path ./home -prune -o \( \( -type l -o -type f \) -a -links +1 -print0 \) | xargs -0 stat --format '%d %i '
chroot: failed to run command `cowdancer-ilistcreate': No such file or directory
W: cowdancer-ilistcreate failed to run within chroot, falling back to old method
-> Invoking pbuilder
forking: pbuilder build --logfile psignifit_3.0~beta.20120503.1-1_i386.build --aptcache /home/haenel/nd_cowbuildroot/debian_aptcache --debbuildopts -B --buildplace /home/haenel/nd_cowbuildroot/build/cow.22381 --buildresult . --debbuildopts -B --no-targz --internal-chrootexec chroot /home/haenel/nd_cowbuildroot/build/cow.22381 cow-shell /home/haenel/nd_cowbuildroot/dsc/psignifit_3.0~beta.20120503.1-1.dsc
Unknown distribution:
I: Logging to psignifit_3.0~beta.20120503.1-1_i386.build
I: Running in no-targz mode
I: using fakeroot in build.
I: Current time: Sun May 6 20:31:00 CEST 2012
I: pbuilder-time-stamp: 1336329060
I: copying local configuration
cp: cannot create regular file `/home/haenel/nd_cowbuildroot/build/cow.22381/etc/hosts': No such file or directory
-> Cleaning COW directory
forking: rm -rf /home/haenel/nd_cowbuildroot/build/cow.22381
It would seem like the call to:
forking: cp -al /home/haenel/nd_cowbuildroot/cow/nd+debian-sid-i386.cow /home/haenel/nd_cowbuildroot/build/cow.22381
perhaps failed?
V-
More information about the Neurodebian-users
mailing list