Avoid setting variable ARCH in makepackage

This commit is contained in:
Rubén Rodríguez 2014-07-06 05:26:28 +02:00
parent f0c77eebd2
commit 4af35e8034

View file

@ -87,13 +87,13 @@ disablescripts(){
createjail () { createjail () {
[ -d jails ] || mkdir jails [ -d jails ] || mkdir jails
CHROOT=jails/$UPSTREAM-$ARCH CHROOT=jails/$UPSTREAM-$JAILARCH
C="chroot $CHROOT" C="chroot $CHROOT"
MIRROR=http://mir1.ovh.net/mirrors/ftp.ubuntu.com/ubuntu MIRROR=http://mir1.ovh.net/mirrors/ftp.ubuntu.com/ubuntu
mkdir $CHROOT-tmp mkdir $CHROOT-tmp
mount -t tmpfs -o size=500M none $CHROOT-tmp mount -t tmpfs -o size=500M none $CHROOT-tmp
debootstrap --arch=$ARCH $UPSTREAM $CHROOT-tmp $MIRROR debootstrap --arch=$JAILARCH $UPSTREAM $CHROOT-tmp $MIRROR
fuser -k $CHROOT-tmp fuser -k $CHROOT-tmp
cp -a $CHROOT-tmp $CHROOT cp -a $CHROOT-tmp $CHROOT
umount $CHROOT-tmp umount $CHROOT-tmp
@ -111,7 +111,7 @@ createjail () {
echo GPG private key for $GPGKEY not found, the packages and repositories will not be signed. echo GPG private key for $GPGKEY not found, the packages and repositories will not be signed.
fi fi
echo $UPSTREAM-$ARCH > $CHROOT/etc/debian_chroot echo $UPSTREAM-$JAILARCH > $CHROOT/etc/debian_chroot
cat << EOF > $CHROOT/etc/apt/sources.list cat << EOF > $CHROOT/etc/apt/sources.list
deb $MIRROR $UPSTREAM main universe deb $MIRROR $UPSTREAM main universe
deb $MIRROR $UPSTREAM-updates main universe deb $MIRROR $UPSTREAM-updates main universe
@ -143,7 +143,7 @@ EOF
$C apt-key add /tmp/key.gpg $C apt-key add /tmp/key.gpg
# Hack for i386 # Hack for i386
if [ $ARCH = "i386" ] if [ $JAILARCH = "i386" ]
then then
for BIN in /bin/uname /usr/bin/arch for BIN in /bin/uname /usr/bin/arch
do do
@ -166,8 +166,8 @@ umount $CHROOT/proc $CHROOT/dev/pts
} }
prepare(){ prepare(){
[ -d jails/$UPSTREAM-$ARCH ] || createjail [ -d jails/$UPSTREAM-$JAILARCH ] || createjail
cat << EOF > jails/$UPSTREAM-$ARCH/tmp/update cat << EOF > jails/$UPSTREAM-$JAILARCH/tmp/update
mount -t proc none /proc mount -t proc none /proc
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
export LANG=C export LANG=C
@ -182,34 +182,34 @@ export DEBIAN_FRONTEND=noninteractive
apt-get --force-yes -y dist-upgrade apt-get --force-yes -y dist-upgrade
umount /proc umount /proc
EOF EOF
chroot jails/$UPSTREAM-$ARCH bash /tmp/update chroot jails/$UPSTREAM-$JAILARCH bash /tmp/update
if [ -f jails/$UPSTREAM-$ARCH/CurrentlyBuilding ] if [ -f jails/$UPSTREAM-$JAILARCH/CurrentlyBuilding ]
then then
echo The $UPSTREAM-$ARCH jail appears to be running $(cat jails/$UPSTREAM-$ARCH/CurrentlyBuilding |grep Package: |sed 's/Package:\ //'), aborting. echo The $UPSTREAM-$JAILARCH jail appears to be running $(cat jails/$UPSTREAM-$JAILARCH/CurrentlyBuilding |grep Package: |sed 's/Package:\ //'), aborting.
exit 1 exit 1
fi fi
CHROOT=jails/$UPSTREAM-$ARCH disablescripts CHROOT=jails/$UPSTREAM-$JAILARCH disablescripts
} }
tmpumount(){ tmpumount(){
grep jails/$UPSTREAM-$ARCH/tmp /proc/mounts -q || return 0 grep jails/$UPSTREAM-$JAILARCH/tmp /proc/mounts -q || return 0
umount jails/$UPSTREAM-$ARCH/tmp && return umount jails/$UPSTREAM-$JAILARCH/tmp && return
echo ERROR: could not umount tmpfs at jails/$UPSTREAM-$ARCH/tmp echo ERROR: could not umount tmpfs at jails/$UPSTREAM-$JAILARCH/tmp
exit 1 exit 1
} }
tmpmount(){ tmpmount(){
[ $MEM -lt 16000000 ] && return [ $MEM -lt 16000000 ] && return
grep jails/$UPSTREAM-$ARCH/tmp /proc/mounts -q && tmpumount grep jails/$UPSTREAM-$JAILARCH/tmp /proc/mounts -q && tmpumount
echo $PACKAGE | grep -q "linux" && return echo $PACKAGE | grep -q "linux" && return
mount -t tmpfs -o size=15G none jails/$UPSTREAM-$ARCH/tmp mount -t tmpfs -o size=15G none jails/$UPSTREAM-$JAILARCH/tmp
} }
compile(){ compile(){
[ -d jails/$UPSTREAM-$ARCH/$WORKDIR ] && rm -rf jails/$UPSTREAM-$ARCH/$WORKDIR/ [ -d jails/$UPSTREAM-$JAILARCH/$WORKDIR ] && rm -rf jails/$UPSTREAM-$JAILARCH/$WORKDIR/
tmpmount tmpmount
cp -a helpers/ jails/$UPSTREAM-$ARCH/$WORKDIR/ cp -a helpers/ jails/$UPSTREAM-$JAILARCH/$WORKDIR/
cat << EOF > jails/$UPSTREAM-$ARCH/usr/local/sbin/makepackage-handler cat << EOF > jails/$UPSTREAM-$JAILARCH/usr/local/sbin/makepackage-handler
#!/bin/bash #!/bin/bash
WORKDIR=$WORKDIR WORKDIR=$WORKDIR
PACKAGE=$PACKAGE PACKAGE=$PACKAGE
@ -221,7 +221,7 @@ export PATH="/usr/lib/ccache:${PATH}"
bash -e make-$PACKAGE 2>&1 || exit 1 bash -e make-$PACKAGE 2>&1 || exit 1
EOF EOF
cat << EOF > jails/$UPSTREAM-$ARCH/etc/pkgbinarymangler/striptranslations.conf cat << EOF > jails/$UPSTREAM-$JAILARCH/etc/pkgbinarymangler/striptranslations.conf
enable: true enable: true
components: main components: main
invalid_currentlybuilding: ignore invalid_currentlybuilding: ignore
@ -229,36 +229,36 @@ posuffix: translations
oem_blacklist: partner oem_blacklist: partner
EOF EOF
cat << EOF > jails/$UPSTREAM-$ARCH/etc/pkgbinarymangler/sanitychecks.conf cat << EOF > jails/$UPSTREAM-$JAILARCH/etc/pkgbinarymangler/sanitychecks.conf
enable: true enable: true
EOF EOF
cat << EOF > jails/$UPSTREAM-$ARCH/etc/pkgbinarymangler/maintainermangler.conf cat << EOF > jails/$UPSTREAM-$JAILARCH/etc/pkgbinarymangler/maintainermangler.conf
enable: true enable: true
invalid_currentlybuilding: ignore invalid_currentlybuilding: ignore
EOF EOF
cat << EOF > jails/$UPSTREAM-$ARCH/etc/pkgbinarymangler/maintainermangler.overrides cat << EOF > jails/$UPSTREAM-$JAILARCH/etc/pkgbinarymangler/maintainermangler.overrides
default: Trisquel GNU/Linux developers <trisquel-devel@listas.trisquel.info> default: Trisquel GNU/Linux developers <trisquel-devel@listas.trisquel.info>
ignore_domains: trisquel.info sognus.com listas.trisquel.info gnu.org fsf.org ignore_domains: trisquel.info sognus.com listas.trisquel.info gnu.org fsf.org
ignore_emails: ruben@trisquel.info ignore_emails: ruben@trisquel.info
EOF EOF
chmod 755 jails/$UPSTREAM-$ARCH/usr/local/sbin/makepackage-handler chmod 755 jails/$UPSTREAM-$JAILARCH/usr/local/sbin/makepackage-handler
if ! chroot jails/$UPSTREAM-$ARCH makepackage-handler /$WORKDIR/make-$PACKAGE if ! chroot jails/$UPSTREAM-$JAILARCH makepackage-handler /$WORKDIR/make-$PACKAGE
then then
rm jails/$UPSTREAM-$ARCH/CurrentlyBuilding rm jails/$UPSTREAM-$JAILARCH/CurrentlyBuilding
exit 1 exit 1
fi fi
find jails/$UPSTREAM-$ARCH/$WORKDIR/PACKAGES/$PACKAGE/ -maxdepth 1 -type f -exec cp {} $REPOSITORY/incoming/ \; find jails/$UPSTREAM-$JAILARCH/$WORKDIR/PACKAGES/$PACKAGE/ -maxdepth 1 -type f -exec cp {} $REPOSITORY/incoming/ \;
tmpumount tmpumount
} }
ARCH=i386 prepare JAILARCH=i386 prepare
ARCH=amd64 prepare JAILARCH=amd64 prepare
ARCH=i386 compile JAILARCH=i386 compile
ARCH=amd64 compile JAILARCH=amd64 compile
cd $REPOSITORY cd $REPOSITORY