alarm/devtools-alarm to 20130525-1, fixes #504

This commit is contained in:
Kevin Mihelich 2013-06-27 17:15:42 +00:00
parent f465bec84d
commit 34dc543cef
7 changed files with 100 additions and 60 deletions

View file

@ -1,30 +1,31 @@
diff -urN a/makechrootpkg.in b/makechrootpkg.in
--- a/makechrootpkg.in 2013-04-08 10:09:19.000000000 -0600
+++ b/makechrootpkg.in 2013-05-31 12:12:06.555461241 -0600
@@ -49,6 +49,7 @@
--- a/makechrootpkg.in 2013-05-25 15:39:46.000000000 -0500
+++ b/makechrootpkg.in 2013-06-04 16:19:08.453803346 -0500
@@ -48,6 +48,7 @@
echo 'Flags:'
echo '-h This help'
echo '-c Clean the chroot before building'
+ echo '-C <dir> Set pacman cache to pass to mkarchroot'
+ echo '-C <dir> Set pacman cache to pass to arch-nspawn'
echo '-u Update the working copy of the chroot before building'
echo ' This is useful for rebuilds without dirtying the pristine'
echo ' chroot'
@@ -63,10 +64,11 @@
@@ -61,11 +62,12 @@
exit 1
}
-while getopts 'hcudr:I:l:nT' arg; do
+while getopts 'hcudC:r:I:l:nT' arg; do
-while getopts 'hcur:I:l:nT' arg; do
+while getopts 'hcuC:r:I:l:nT' arg; do
case "$arg" in
h) usage ;;
c) clean_first=true ;;
+ C) cache_dir="$OPTARG" ;;
u) update_first=true ;;
d) add_to_db=true ;;
+ C) cache_dir="$OPTARG" ;;
r) passeddir="$OPTARG" ;;
@@ -116,6 +118,10 @@
umask 0022
I) install_pkgs+=("$OPTARG") ;;
l) copy="$OPTARG" ;;
@@ -84,6 +86,10 @@
[[ ! -d $chrootdir ]] && die "No chroot dir defined, or invalid path '$passeddir'"
[[ ! -d $chrootdir/root ]] && die "Missing chroot dir root directory. Try using: mkarchroot $chrootdir/root base-devel"
+if [ -n "$cache_dir" ]; then
+ cache_dir="-c $cache_dir"
@ -33,12 +34,12 @@ diff -urN a/makechrootpkg.in b/makechrootpkg.in
# Detect chrootdir filesystem type
chroottype=$(stat -f -c %T "$chrootdir")
@@ -288,7 +294,7 @@
EOF
chmod +x "$copydir/chrootbuild"
@@ -346,7 +352,7 @@
-if mkarchroot -r "/chrootbuild" "$copydir"; then
+if mkarchroot $cache_dir -r "/chrootbuild" "$copydir"; then
for pkgfile in "$copydir"/pkgdest/*.pkg.tar.?z; do
if $add_to_db; then
mkdir -p "$copydir/repo"
download_sources
-if arch-nspawn "$copydir" \
+if arch-nspawn $cache_dir "$copydir" \
--bind-ro="$PWD:/startdir_host" \
--bind-ro="$SRCDEST:/srcdest_host" \
/chrootbuild

View file

@ -0,0 +1,14 @@
diff -urN a/arch-nspawn.in b/arch-nspawn.in
--- a/arch-nspawn.in 2013-05-25 15:39:46.000000000 -0500
+++ b/arch-nspawn.in 2013-06-04 16:22:20.718826563 -0500
@@ -74,8 +74,8 @@
}
copy_hostconf () {
- cp -a /etc/pacman.d/gnupg "$working_dir/etc/pacman.d"
- echo "Server = $host_mirror" > $working_dir/etc/pacman.d/mirrorlist
+ #cp -a /etc/pacman.d/gnupg "$working_dir/etc/pacman.d"
+ #echo "Server = $host_mirror" > $working_dir/etc/pacman.d/mirrorlist
[[ -n $pac_conf ]] && cp $pac_conf $working_dir/etc/pacman.conf
[[ -n $makepkg_conf ]] && cp $makepkg_conf $working_dir/etc/makepkg.conf

View file

@ -1,21 +0,0 @@
diff -urN a/mkarchroot.in b/mkarchroot.in
--- a/mkarchroot.in 2013-04-08 10:09:19.000000000 -0600
+++ b/mkarchroot.in 2013-05-31 10:53:46.465229553 -0600
@@ -142,7 +142,7 @@
chroot_lock
build_mount_args
- copy_hostconf
+ #copy_hostconf
chroot_run "${working_dir}" ${RUN}
@@ -178,7 +178,7 @@
chroot_run "${working_dir}" locale-gen
echo 'LANG=C' > "${working_dir}/etc/locale.conf"
- copy_hostconf
+ #copy_hostconf
echo "${CHROOT_VERSION}" > "${working_dir}/.arch-chroot"
# }}}

View file

@ -1,14 +1,14 @@
diff -urN a/makechrootpkg.in b/makechrootpkg.in
--- a/makechrootpkg.in 2013-05-31 10:49:38.866569102 -0600
+++ b/makechrootpkg.in 2013-05-31 10:57:39.183970506 -0600
@@ -280,7 +280,9 @@
export HOME=/build
--- a/makechrootpkg.in 2013-06-04 16:19:08.453803346 -0500
+++ b/makechrootpkg.in 2013-06-04 16:29:16.961006377 -0500
@@ -306,7 +306,9 @@
exit 1
fi
cd /build
-sudo -u nobody makepkg $makepkg_args || exit 1
+mkdir .distcc
+chown nobody .distcc
+sudo -u nobody DISTCC_IO_TIMEOUT=0 DISTCC_DIR='/build/.distcc' makepkg $makepkg_args || exit 1
- sudo -u nobody makepkg $makepkg_args || exit 1
+ mkdir /build/.distcc
+ chown nobody /build/.distcc
+ sudo -u nobody DISTCC_IO_TIMEOUT=0 DISTCC_DIR='/build/.distcc' makepkg $makepkg_args || exit 1
if $run_namcap; then
pacman -S --needed --noconfirm namcap
if $run_namcap; then
pacman -S --needed --noconfirm namcap

View file

@ -0,0 +1,28 @@
diff -urN a/arch-nspawn.in b/arch-nspawn.in
--- a/arch-nspawn.in 2013-06-04 16:22:20.718826563 -0500
+++ b/arch-nspawn.in 2013-06-04 17:42:52.282698873 -0500
@@ -98,7 +98,7 @@
eval $(grep '^CARCH=' "$working_dir/etc/makepkg.conf")
-exec ${CARCH:+setarch "$CARCH"} systemd-nspawn 2>/dev/null \
+exec systemd-nspawn 2>/dev/null \
-D "$working_dir" \
--machine "${working_dir//\//-}" \
"${mount_args[@]}" \
diff -urN a/makechrootpkg.in b/makechrootpkg.in
--- a/makechrootpkg.in 2013-06-04 17:37:51.646420764 -0500
+++ b/makechrootpkg.in 2013-06-04 17:50:34.673206856 -0500
@@ -256,10 +256,10 @@
# Ensure sources are downloaded
if [[ -n $SUDO_USER ]]; then
sudo -u $SUDO_USER env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \
- makepkg --config="$copydir/etc/makepkg.conf" --verifysource -o
+ makepkg -A --config="$copydir/etc/makepkg.conf" --verifysource -o
else
( export SRCDEST BUILDDIR="$builddir"
- makepkg --asroot --config="$copydir/etc/makepkg.conf" --verifysource -o
+ makepkg -A --asroot --config="$copydir/etc/makepkg.conf" --verifysource -o
)
fi
(( $? != 0 )) && die "Could not download sources."

View file

@ -0,0 +1,12 @@
diff -urN a/makechrootpkg.in b/makechrootpkg.in
--- a/makechrootpkg.in 2013-06-27 12:01:03.730856796 -0500
+++ b/makechrootpkg.in 2013-06-27 12:01:29.209732875 -0500
@@ -12,7 +12,7 @@
shopt -s nullglob
-makepkg_args='-s --noconfirm -L --holdver'
+makepkg_args='-s --noconfirm --holdver'
repack=false
update_first=false
clean_first=false

View file

@ -6,7 +6,7 @@
pkgname=devtools-alarm
_pkgname=devtools
pkgver=20130408
pkgver=20130525
pkgrel=1
pkgdesc='Tools for Arch Linux package maintainers'
arch=('any')
@ -16,19 +16,25 @@ depends=('namcap' 'openssh' 'subversion' 'rsync' 'arch-install-scripts')
source=("ftp://ftp.archlinux.org/other/${_pkgname}/${_pkgname}-${pkgver}.tar.gz"
"ftp://ftp.archlinux.org/other/${_pkgname}/${_pkgname}-${pkgver}.tar.gz.sig"
'0001-makechrootpkg-cache-dir.patch'
'0002-mkarchroot-dont-change-confs.patch'
'0003-makechrootpkg-distcc.patch')
md5sums=('12b42b429744af6517ae789f728e9f63'
'0002-arch-nspawn-keep-mirrorlist.patch'
'0003-makechrootpkg-distcc.patch'
'0004-arch-nspawn-arm-fix.patch'
'0005-makechrootpkg-no-default-logging.patch')
md5sums=('afec33a914471db8b8fb8ef65ee6b9ee'
'SKIP'
'1a85c2d42aa9aaa77847e303422bc11e'
'37d9d2ca96a3a5130d39b1441b7acb99'
'550d15ec4ee1803476424d60460b89ec')
'2164cda16c7caf9789f2441d49fcdf77'
'8d229b27e16c74a5308b1f452a17d97e'
'1d0c06106bf633e555e2ce3cf26d30d5'
'a53f7dea2392ffede8f2a1012707f201'
'473f7128e088188121f5565e7ca34759')
prepare() {
cd ${srcdir}/${_pkgname}-${pkgver}
patch -p1 -i "${srcdir}"/0001-makechrootpkg-cache-dir.patch
patch -p1 -i "${srcdir}"/0002-mkarchroot-dont-change-confs.patch
patch -p1 -i "${srcdir}"/0002-arch-nspawn-keep-mirrorlist.patch
patch -p1 -i "${srcdir}"/0003-makechrootpkg-distcc.patch
patch -p1 -i "${srcdir}"/0004-arch-nspawn-arm-fix.patch
patch -p1 -i "${srcdir}"/0005-makechrootpkg-no-default-logging.patch
}
build() {