[buildd-tools-devel] Bug#708844: buildd-mail: cannot move packages > 50Mb correctly to upload directory
Michael Cree
mcree at orcon.net.nz
Sat May 18 23:58:07 UTC 2013
Package: buildd
Version: 0.63.2-1.1
Severity: normal
Dear Maintainer,
buildd-mail fails to correctly move packages larger than 50Mb to the upload
directory. It chomps such packages to exactly 50Mb thus corrupting the build
because of data loss.
As an example here is the build directory before signing the changes files:
buildd at imago:~$ ls -lFS build|head
total 130984
-rw-rw-r-- 1 buildd buildd 63001774 May 19 03:41 ghc_7.4.1-4+b1_alpha.deb
-rw-rw-r-- 1 buildd buildd 55189872 May 19 03:50 ghc-prof_7.4.1-4+b1_alpha.deb
-rw-rw-r-- 1 buildd buildd 13422968 May 19 03:51 ghc-haddock_7.4.1-4+b1_alpha.deb
-rw-rw-r-- 1 buildd buildd 1486780 May 19 04:16 dssp-dbg_2.1.0-1_alpha.deb
-rw-rw-r-- 1 buildd buildd 582434 May 16 21:26 gcal_3.6.3-1_alpha.deb
-rw-rw-r-- 1 buildd buildd 221738 May 19 04:16 dssp_2.1.0-1_alpha.deb
-rw-rw-r-- 1 buildd buildd 60728 May 19 04:09 libgtkglextmm-x11-1.2-dev_1.2.0-6_alpha.deb
-rw-rw-r-- 1 buildd buildd 44088 May 19 03:55 librelp-dev_1.0.7-1_alpha.deb
-rw-rw-r-- 1 buildd buildd 38800 May 19 04:09 libgtkglextmm-x11-1.2-0_1.2.0-6_alpha.deb
There is plenty of room on the disks (20GB) for shifting packages to upload.
I sign the received changes file by mail and then see in daemon.log:
May 19 08:26:38 buildd-mail[2354]: Log reply from [censored_email_address]
database is deprecated, please use 'arch' instead.
cp: writing '/home/buildd/upload/ghc_7.4.1-4+b1_alpha.deb': File too large
cp: failed to extend '/home/buildd/upload/ghc_7.4.1-4+b1_alpha.deb': File too large
May 19 08:26:43 buildd-mail[2354]: Cannot copy ghc_7.4.1-4+b1_alpha.deb to /home/buildd/upload/
cp: writing '/home/buildd/upload/ghc-prof_7.4.1-4+b1_alpha.deb': File too large
cp: failed to extend '/home/buildd/upload/ghc-prof_7.4.1-4+b1_alpha.deb': File too large
May 19 08:26:44 buildd-mail[2354]: Cannot copy ghc-prof_7.4.1-4+b1_alpha.deb to /home/buildd/upload/
May 19 08:26:44 buildd-mail[2354]: Moved ghc_7.4.1-4+b1 to upload
May 19 08:26:44 buildd-mail[2354]: Error: Could not move all files to upload dir.
And receive the following mail message in reply to the signed changes file:
To: [censored_email_address]
Subject: Re: Log for successful build of ghc_7.4.1-4+b1 on alpha (dist=unstable)
Your mail could not be processed:
Could not move all files to upload dir.
[rest of message includes signed changes file.]
In the upload directory is the following:
buildd at imago:~$ ls -lFS upload | head
total 112640
-rw------- 1 buildd buildd 50000000 May 19 08:26 ghc_7.4.1-4+b1_alpha.deb
-rw------- 1 buildd buildd 50000000 May 19 08:26 ghc-prof_7.4.1-4+b1_alpha.deb
-rw------- 1 buildd buildd 13422968 May 19 08:26 ghc-haddock_7.4.1-4+b1_alpha.deb
-rw------- 1 buildd buildd 1486780 May 19 08:23 dssp-dbg_2.1.0-1_alpha.deb
-rw------- 1 buildd buildd 221738 May 19 08:23 dssp_2.1.0-1_alpha.deb
-rw------- 1 buildd buildd 60728 May 19 08:24 libgtkglextmm-x11-1.2-dev_1.2.0-6_alpha.deb
-rw------- 1 buildd buildd 44088 May 19 08:23 librelp-dev_1.0.7-1_alpha.deb
-rw------- 1 buildd buildd 38800 May 19 08:24 libgtkglextmm-x11-1.2-0_1.2.0-6_alpha.deb
-rw------- 1 buildd buildd 27222 May 19 08:23 librelp0_1.0.7-1_alpha.deb
And the upload fails because of corrupted package files.
Cheers
Michael Cree.
-- System Information:
Debian Release: 7.0
APT prefers unreleased
APT policy: (500, 'unreleased'), (500, 'unstable')
Architecture: alpha
Kernel: Linux 3.8.11-titan-p+ (SMP w/3 CPU cores)
Locale: LANG=en_NZ.UTF-8, LC_CTYPE=en_NZ.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages buildd depends on:
ii adduser 3.113+nmu3
ii cron 3.0pl1-124
ii dupload 2.7.0
ii libsbuild-perl 0.63.2-1.1
ii libyaml-tiny-perl 1.51-2
ii perl 5.14.2-21
ii postfix [mail-transport-agent] 2.10.0-3
ii sbuild 0.63.2-1.1
buildd recommends no packages.
Versions of packages buildd suggests:
pn wanna-build <none>
-- Configuration Files:
/etc/cron.d/buildd changed:
5,20,35,50 * * * * buildd /usr/bin/buildd-watcher
/etc/schroot/setup.d/25nssdatabases changed:
set -e
if [ -f "/etc/schroot/setup.d/20nssdatabases" ]; then
# We're dealing with a schroot from squeeze. 20nssdatabases will
# handle everything for us. This script is only needed with
# schroot from lenny. So exit now.
exit 0
fi
if [ -f "$CHROOT_SCRIPT_CONFIG" ]; then
. "$CHROOT_SCRIPT_CONFIG"
elif [ "$2" = "ok" ]; then
echo "script-config file '$CHROOT_SCRIPT_CONFIG' does not exist"
exit 1
fi
if [ "$AUTH_VERBOSITY" = "verbose" ]; then
VERBOSE="--verbose"
fi
dup_nss()
{
if [ "$AUTH_VERBOSITY" = "verbose" ]; then
echo "Copying $1 database to $2"
fi
getent "$1" > "$2"
}
if [ $1 = "setup-start" ] || [ $1 = "setup-recover" ]; then
if [ -n "$NSSDATABASES" ]; then
if [ -f "$NSSDATABASES" ]; then
while read db; do
if echo "$db" | egrep -q '^(#|$)' ; then
continue
fi
# Device and inode
dr=$(/usr/bin/stat --format="%d %i" "/etc/$db")
# This one can fail since it might not exist yet
dc=$(/usr/bin/stat --format="%d %i" "${CHROOT_PATH}/etc/$db" 2>/dev/null || :)
# If the database inside and outside the chroot is the
# same, it's very likely that dup_nss would blank the
# database, so skip it.
if [ "$dr" = "$dc" ]; then
echo "warning: $db files '/etc/$db' and '${CHROOT_PATH}/etc/$db' are the same file; skipping" 1>&2
continue;
fi
dup_nss "$db" "${CHROOT_PATH}/etc/$db"
done < "$NSSDATABASES"
else
echo "nssdatabases file '$NSSDATABASES' does not exist"
exit 1
fi
fi
fi
-- no debconf information
More information about the Buildd-tools-devel
mailing list