Bug#570372: /usr/bin/pdebuild: pdebuild does not resolve some variable names
Ritesh Raj Sarraf
rrs at researchut.com
Thu Feb 18 12:27:44 UTC 2010
Package: pbuilder
Version: 0.196
Severity: normal
File: /usr/bin/pdebuild
I just took a pdebuil/pbuilder example configuration from Ubuntu that caters to
most of the distributions. I am attaching the config also.
The config, when used with cowbuilder, resolves the variable names correctly but when
used with pdebuild fails. I am not very sure if it is a bug or not.
I have done all the check I could think of but can not find a reason why this error is
happening.
In pdebuild:
dpkg-buildpackage: source only, diff-only upload (original source NOT included)
-> Copying COW directory
forking: rm -rf "/tmp/cowbuilder/build/"/cow.20641
forking: cp -al "/var/cache/pbuilder/$NAME-base.cow/" "/tmp/cowbuilder/build/"/cow.20641
cp: cannot stat `"/var/cache/pbuilder/$NAME-base.cow/"': No such file or directory
Failed cowcopy.
Where as in cowbuilder:
-> Copying COW directory
forking: rm -rf /tmp/cowbuilder/build//cow.16346
forking: cp -al /var/cache/pbuilder/lenny-amd64-base.cow/ /tmp/cowbuilder/build//cow.16346
I: removed stale ilistfile /tmp/cowbuilder/build//cow.16346/.ilist
-> Invoking pbuilder
forking: pbuilder login --buildplace /tmp/cowbuilder/build//cow.16346 --no-targz --internal-chrootexec chroot /tmp/cowbuilder/build//cow.16346 cow-shell
All I can make out is that when dpkg-buildpackage calls it, it is not able to resolve $NAME where as when cowbuilder calls it, it is able to resolve $NAME properly. Thus I think that it might be a pbuilder/dpkg-buildpackage bug. maybe.
I am attaching the full logs and the pbuilderrc file
Regards,
Ritesh
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (101, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages pbuilder depends on:
ii coreutils 7.4-2 The GNU core utilities
ii debconf [debconf-2.0] 1.5.28 Debian configuration management sy
ii debianutils 3.2.2 Miscellaneous utilities specific t
ii debootstrap 1.0.20 Bootstrap a basic Debian system
ii wget 1.12-1.1 retrieves files from the web
Versions of packages pbuilder recommends:
ii devscripts 2.10.61 scripts to make the life of a Debi
ii fakeroot 1.14.4-1 Gives a fake root environment
ii sudo 1.7.2p1-1 Provide limited super user privile
Versions of packages pbuilder suggests:
ii cowdancer 0.61 Copy-on-write directory tree utili
pn gdebi-core <none> (no description available)
pn pbuilder-uml <none> (no description available)
-- debconf information:
* pbuilder/mirrorsite: http://ftp.debian.org/debian/
pbuilder/nomirror:
* pbuilder/rewrite: false
-------------- next part --------------
17:59:51 rrs at champaran:/tmp/DebSources/open-iscsi-2.0.870~rc3 $ sudo DIST=lenny cowbuilder --login
-> Copying COW directory
forking: rm -rf /tmp/cowbuilder/build//cow.16346
forking: cp -al /var/cache/pbuilder/lenny-amd64-base.cow/ /tmp/cowbuilder/build//cow.16346
I: removed stale ilistfile /tmp/cowbuilder/build//cow.16346/.ilist
-> Invoking pbuilder
forking: pbuilder login --buildplace /tmp/cowbuilder/build//cow.16346 --no-targz --internal-chrootexec chroot /tmp/cowbuilder/build//cow.16346 cow-shell
#BASETGZ="/var/cache/pbuilder/$NAME-base.tgz"
# Optionally, set BASEPATH (and not BASETGZ) if using cowbuilder
BASEPATH="/var/cache/pbuilder/$NAME-base.cow/"
++++ BASEPATH=/var/cache/pbuilder/lenny-amd64-base.cow/
DISTRIBUTION="$DIST"
++++ DISTRIBUTION=lenny
BUILDRESULT="/var/cache/pbuilder/$NAME/result/"
++++ BUILDRESULT=/var/cache/pbuilder/lenny-amd64/result/
#APTCACHE="/var/cache/pbuilder/$NAME/aptcache/"
BUILDPLACE="/tmp/cowbuilder/build/"
++++ BUILDPLACE=/tmp/cowbuilder/build/
if $(echo ${DEBIAN_SUITES[@]} | grep -q $DIST); then
# Debian configuration
MIRRORSITE="http://$DEBIAN_MIRROR/debian/"
COMPONENTS="main contrib non-free"
# This is for enabling backports for the Debian stable suite.
if $(echo "$STABLE_CODENAME stable" | grep -q $DIST); then
EXTRAPACKAGES="$EXTRAPACKAGES debian-backports-keyring"
OTHERMIRROR="$OTHERMIRROR | deb http://www.backports.org/debian $STABLE_BACKPORTS_SUITE $COMPONENTS"
fi
set +vx
elif $(echo ${UBUNTU_SUITES[@]} | grep -q $DIST); then
# Ubuntu configuration
MIRRORSITE="http://$UBUNTU_MIRROR/ubuntu/"
COMPONENTS="main restricted universe multiverse"
else
echo "Unknown distribution: $DIST"
exit 1
fi
echo ${DEBIAN_SUITES[@]} | grep -q $DIST)
echo ${DEBIAN_SUITES[@]} | grep -q $DIST)
echo ${DEBIAN_SUITES[@]} | grep -q $DIST
+++++ grep -q lenny
+++++ echo sid squeeze lenny unstable testing stable
++++ MIRRORSITE=http://ftp.debian.org/debian/
++++ COMPONENTS='main contrib non-free'
echo "$STABLE_CODENAME stable" | grep -q $DIST)
echo "$STABLE_CODENAME stable" | grep -q $DIST
+++++ echo 'lenny stable'
+++++ grep -q lenny
++++ EXTRAPACKAGES='aptitude debian-backports-keyring'
++++ OTHERMIRROR=' | deb http://www.backports.org/debian lenny-backports main contrib non-free'
++++ set +vx
I: Running in no-targz mode
I: copying local configuration
I: mounting /proc filesystem
I: mounting /dev/pts filesystem
I: mounting selinux filesystem
I: policy-rc.d already exists
I: Obtaining the cached apt archive contents
I: entering the shell
root at champaran:/# cat /etc/debian_version
5.0.4
root at champaran:/# exit
logout
I: Copying back the cached apt archive contents
I: unmounting selinux filesystem
I: unmounting dev/pts filesystem
I: unmounting proc filesystem
-> Cleaning COW directory
forking: rm -rf /tmp/cowbuilder/build//cow.16346
18:01:17 rrs at champaran:/tmp/DebSources/open-iscsi-2.0.870~rc3 $ DIST=lenny pdebuild
#BASETGZ="/var/cache/pbuilder/$NAME-base.tgz"
# Optionally, set BASEPATH (and not BASETGZ) if using cowbuilder
BASEPATH="/var/cache/pbuilder/$NAME-base.cow/"
++++ BASEPATH=/var/cache/pbuilder/lenny-amd64-base.cow/
DISTRIBUTION="$DIST"
++++ DISTRIBUTION=lenny
BUILDRESULT="/var/cache/pbuilder/$NAME/result/"
++++ BUILDRESULT=/var/cache/pbuilder/lenny-amd64/result/
#APTCACHE="/var/cache/pbuilder/$NAME/aptcache/"
BUILDPLACE="/tmp/cowbuilder/build/"
++++ BUILDPLACE=/tmp/cowbuilder/build/
if $(echo ${DEBIAN_SUITES[@]} | grep -q $DIST); then
# Debian configuration
MIRRORSITE="http://$DEBIAN_MIRROR/debian/"
COMPONENTS="main contrib non-free"
# This is for enabling backports for the Debian stable suite.
if $(echo "$STABLE_CODENAME stable" | grep -q $DIST); then
EXTRAPACKAGES="$EXTRAPACKAGES debian-backports-keyring"
OTHERMIRROR="$OTHERMIRROR | deb http://www.backports.org/debian $STABLE_BACKPORTS_SUITE $COMPONENTS"
fi
set +vx
elif $(echo ${UBUNTU_SUITES[@]} | grep -q $DIST); then
# Ubuntu configuration
MIRRORSITE="http://$UBUNTU_MIRROR/ubuntu/"
COMPONENTS="main restricted universe multiverse"
else
echo "Unknown distribution: $DIST"
exit 1
fi
echo ${DEBIAN_SUITES[@]} | grep -q $DIST)
echo ${DEBIAN_SUITES[@]} | grep -q $DIST)
echo ${DEBIAN_SUITES[@]} | grep -q $DIST
+++++ grep -q lenny
+++++ echo sid squeeze lenny unstable testing stable
++++ MIRRORSITE=http://ftp.debian.org/debian/
++++ COMPONENTS='main contrib non-free'
echo "$STABLE_CODENAME stable" | grep -q $DIST)
echo "$STABLE_CODENAME stable" | grep -q $DIST
+++++ grep -q lenny
+++++ echo 'lenny stable'
++++ EXTRAPACKAGES='aptitude debian-backports-keyring'
++++ OTHERMIRROR=' | deb http://www.backports.org/debian lenny-backports main contrib non-free'
++++ set +vx
dpkg-checkbuilddeps: Unmet build dependencies: bison flex
W: Unmet build-dependency in source
dpkg-buildpackage: set CFLAGS to default value: -g -O2
dpkg-buildpackage: set CPPFLAGS to default value:
dpkg-buildpackage: set LDFLAGS to default value:
dpkg-buildpackage: set FFLAGS to default value: -g -O2
dpkg-buildpackage: set CXXFLAGS to default value: -g -O2
dpkg-buildpackage: source package open-iscsi
dpkg-buildpackage: source version 2.0.870~rc3-0.4.1
dpkg-buildpackage: source changed by Ritesh Raj Sarraf <rrs at researchut.com>
dpkg-checkbuilddeps: Unmet build dependencies: bison flex
dpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: warning: (Use -d flag to override.)
dpkg-buildpackage: warning: This is currently a non-fatal warning with -S, but
dpkg-buildpackage: warning: will probably become fatal in the future.
fakeroot debian/rules clean
dh_testdir
dh_testroot
rm -f build-arch-stamp build-indep-stamp configure-stamp
# Add here commands to clean up after the build process.
/usr/bin/make -C utils/fwparam_ibft clean
make[1]: Entering directory `/tmp/DebSources/open-iscsi-2.0.870~rc3/utils/fwparam_ibft'
rm -f *.o fwparam_ibft.o fw_entry.o prom_lex.o prom_parse.tab.o fwparam_ppc.o *.output *~ .depend
make[1]: Leaving directory `/tmp/DebSources/open-iscsi-2.0.870~rc3/utils/fwparam_ibft'
/usr/bin/make -C usr clean
make[1]: Entering directory `/tmp/DebSources/open-iscsi-2.0.870~rc3/usr'
rm -f *.o iscsid iscsiadm iscsistart .depend
make[1]: Leaving directory `/tmp/DebSources/open-iscsi-2.0.870~rc3/usr'
/usr/bin/make -C utils clean
make[1]: Entering directory `/tmp/DebSources/open-iscsi-2.0.870~rc3/utils'
rm -f *.o iscsi-iname .depend
make[1]: Leaving directory `/tmp/DebSources/open-iscsi-2.0.870~rc3/utils'
rm -rf modules
dh_clean
dh_clean: Compatibility levels before 5 are deprecated.
dpkg-source -b open-iscsi-2.0.870~rc3
dpkg-source: info: using source format `1.0'
dpkg-source: info: building open-iscsi using existing open-iscsi_2.0.870~rc3.orig.tar.gz
dpkg-source: info: building open-iscsi in open-iscsi_2.0.870~rc3-0.4.1.diff.gz
dpkg-source: warning: the diff modifies the following upstream files:
utils/iscsi_discovery
dpkg-source: info: use the '3.0 (quilt)' format to have separate and documented changes to upstream files, see dpkg-source(1)
dpkg-source: info: building open-iscsi in open-iscsi_2.0.870~rc3-0.4.1.dsc
dpkg-genchanges -S >../open-iscsi_2.0.870~rc3-0.4.1_source.changes
dpkg-genchanges: not including original source code in upload
dpkg-buildpackage: source only, diff-only upload (original source NOT included)
-> Copying COW directory
forking: rm -rf "/tmp/cowbuilder/build/"/cow.20641
forking: cp -al "/var/cache/pbuilder/$NAME-base.cow/" "/tmp/cowbuilder/build/"/cow.20641
cp: cannot stat `"/var/cache/pbuilder/$NAME-base.cow/"': No such file or directory
Failed cowcopy.
-------------- next part --------------
#
DEBEMAIL="Ritesh Raj Sarraf <rrs at researchut.com>"
PBUILDERROOTCMD=sudo
DEBOOTSTRAPOPTS[0]='--variant=buildd'
PKGNAME_LOGFILE=yes
BUILDSOURCEROOTCMD=fakeroot
BUILDUSERID=1234
PDEBUILD_PBUILDER=cowbuilder
APTCACHE=/var/cache/apt/archives
COMPONENTS="main contrib non-free"
#REMOVEPACKAGES="debian-archive-keyring, gpgv, gnupg"
# Codenames for Debian suites according to their alias. Update these when
# needed.
UNSTABLE_CODENAME="sid"
TESTING_CODENAME="squeeze"
STABLE_CODENAME="lenny"
STABLE_BACKPORTS_SUITE="$STABLE_CODENAME-backports"
# List of Debian suites.
DEBIAN_SUITES=($UNSTABLE_CODENAME $TESTING_CODENAME $STABLE_CODENAME
"unstable" "testing" "stable")
# List of Ubuntu suites. Update these when needed.
UBUNTU_SUITES=("lucid" "karmic" "jaunty" "intrepid" "hardy")
# Mirrors to use. Update these to your preferred mirror.
DEBIAN_MIRROR="ftp.debian.org"
UBUNTU_MIRROR="mirrors.kernel.org"
# Optionally use the changelog of a package to determine the suite to use if
# none set.
if [ -z "${DIST}" ] && [ -r "debian/changelog" ]; then
DIST=$(dpkg-parsechangelog | awk '/^Distribution: / {print $2}')
# Use the unstable suite for certain suite values.
if $(echo "experimental UNRELEASED" | grep -q $DIST); then
DIST="$UNSTABLE_CODENAME"
fi
fi
# Optionally set a default distribution if none is used. Note that you can set
# your own default (i.e. ${DIST:="unstable"}).
: ${DIST:="$(lsb_release --short --codename)"}
# Optionally change Debian release states in $DIST to their names.
case "$DIST" in
unstable)
DIST="$UNSTABLE_CODENAME"
;;
testing)
DIST="$TESTING_CODENAME"
;;
stable)
DIST="$STABLE_CODENAME"
;;
esac
# Optionally set the architecture to the host architecture if none set. Note
# that you can set your own default (i.e. ${ARCH:="i386"}).
: ${ARCH:="$(dpkg --print-architecture)"}
NAME="$DIST"
if [ -n "${ARCH}" ]; then
NAME="$NAME-$ARCH"
DEBOOTSTRAPOPTS=("--arch" "$ARCH" "${DEBOOTSTRAPOPTS[@]}")
fi
set -vx
#BASETGZ="/var/cache/pbuilder/$NAME-base.tgz"
# Optionally, set BASEPATH (and not BASETGZ) if using cowbuilder
BASEPATH="/var/cache/pbuilder/$NAME-base.cow/"
DISTRIBUTION="$DIST"
BUILDRESULT="/var/cache/pbuilder/$NAME/result/"
#APTCACHE="/var/cache/pbuilder/$NAME/aptcache/"
BUILDPLACE="/tmp/cowbuilder/build/"
if $(echo ${DEBIAN_SUITES[@]} | grep -q $DIST); then
# Debian configuration
MIRRORSITE="http://$DEBIAN_MIRROR/debian/"
COMPONENTS="main contrib non-free"
# This is for enabling backports for the Debian stable suite.
if $(echo "$STABLE_CODENAME stable" | grep -q $DIST); then
EXTRAPACKAGES="$EXTRAPACKAGES debian-backports-keyring"
OTHERMIRROR="$OTHERMIRROR | deb http://www.backports.org/debian $STABLE_BACKPORTS_SUITE $COMPONENTS"
fi
set +vx
elif $(echo ${UBUNTU_SUITES[@]} | grep -q $DIST); then
# Ubuntu configuration
MIRRORSITE="http://$UBUNTU_MIRROR/ubuntu/"
COMPONENTS="main restricted universe multiverse"
else
echo "Unknown distribution: $DIST"
exit 1
fi
More information about the Pbuilder-maint
mailing list