makechrootpkg: read packager and makeflags from makepkg.conf
also set some sane default options
This commit is contained in:
parent
000d68f7c6
commit
6f4e865ff9
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
FORCE='n'
|
FORCE='n'
|
||||||
RUN=''
|
RUN=''
|
||||||
MAKEPKG_ARGS='-sr'
|
MAKEPKG_ARGS='-s --noconfirm'
|
||||||
REPACK=''
|
REPACK=''
|
||||||
COPY='copy'
|
COPY='copy'
|
||||||
WORKDIR=$PWD
|
WORKDIR=$PWD
|
||||||
|
@ -122,7 +122,7 @@ if [ -n "$install_pkg" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $update_first -eq 1 ]; then
|
if [ $update_first -eq 1 ]; then
|
||||||
mkarchroot -r 'pacman -Syu --noconfirm' "$copydir"
|
mkarchroot -u "$copydir"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -d "$copydir/build" ] || mkdir "$copydir/build"
|
[ -d "$copydir/build" ] || mkdir "$copydir/build"
|
||||||
|
@ -132,28 +132,43 @@ if [ "$REPACK" != "1" ]; then
|
||||||
rm -rf "$copydir/build/"*
|
rm -rf "$copydir/build/"*
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get SRC/PKGDEST from makepkg.conf
|
# read .makpekg.conf even if called via sudo
|
||||||
if [ -f ~/.makepkg.conf ]; then
|
if [ -n "${SUDO_USER}" ]; then
|
||||||
SRCDEST=$(grep '^SRCDEST=' ~/.makepkg.conf | cut -d= -f2)
|
makepkg_conf="/$(eval echo ~${SUDO_USER})/.makepkg.conf"
|
||||||
PKGDEST=$(grep '^PKGDEST=' ~/.makepkg.conf | cut -d= -f2)
|
else
|
||||||
|
makepkg_conf="~/.makepkg.conf"
|
||||||
fi
|
fi
|
||||||
[ -z ${SRCDEST} ] && SRCDEST=$(grep '^SRCDEST=' /etc/makepkg.conf | cut -d= -f2)
|
|
||||||
[ -z ${PKGDEST} ] && PKGDEST=$(grep '^PKGDEST=' /etc/makepkg.conf | cut -d= -f2)
|
# Get SRC/PKGDEST from makepkg.conf
|
||||||
|
if [ -f "${makepkg_conf}" ]; then
|
||||||
|
eval $(grep '^SRCDEST=' "${makepkg_conf}")
|
||||||
|
eval $(grep '^PKGDEST=' "${makepkg_conf}")
|
||||||
|
|
||||||
|
eval $(grep '^MAKEFLAGS=' "${makepkg_conf}")
|
||||||
|
eval $(grep '^PACKAGER=' "${makepkg_conf}")
|
||||||
|
fi
|
||||||
|
[ -z "${SRCDEST}" ] && eval $(grep '^SRCDEST=' /etc/makepkg.conf)
|
||||||
|
[ -z "${PKGDEST}" ] && eval $(grep '^PKGDEST=' /etc/makepkg.conf)
|
||||||
|
|
||||||
[ -d "$copydir/pkgdest" ] || mkdir "$copydir/pkgdest"
|
[ -d "$copydir/pkgdest" ] || mkdir "$copydir/pkgdest"
|
||||||
if ! grep 'PKGDEST=/pkgdest' "$copydir/etc/makepkg.conf" >/dev/null 2>&1; then
|
if ! grep 'PKGDEST="/pkgdest"' "$copydir/etc/makepkg.conf" >/dev/null 2>&1; then
|
||||||
echo 'PKGDEST=/pkgdest' >> "$copydir/etc/makepkg.conf"
|
echo 'PKGDEST="/pkgdest"' >> "$copydir/etc/makepkg.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -d "$copydir/srcdest" ] || mkdir "$copydir/srcdest"
|
[ -d "$copydir/srcdest" ] || mkdir "$copydir/srcdest"
|
||||||
if ! grep 'SRCDEST=/srcdest' "$copydir/etc/makepkg.conf" >/dev/null 2>&1; then
|
if ! grep 'SRCDEST="/srcdest"' "$copydir/etc/makepkg.conf" >/dev/null 2>&1; then
|
||||||
echo 'SRCDEST=/srcdest' >> "$copydir/etc/makepkg.conf"
|
echo 'SRCDEST="/srcdest"' >> "$copydir/etc/makepkg.conf"
|
||||||
fi
|
fi
|
||||||
|
[ -z "${MAKEFLAGS}" ] && eval $(grep '^MAKEFLAGS=' /etc/makepkg.conf)
|
||||||
|
[ -n "${MAKEFLAGS}" ] && echo "MAKEFLAGS='${MAKEFLAGS}'" >> "$copydir/etc/makepkg.conf"
|
||||||
|
[ -z "${PACKAGER}" ] && eval $(grep '^PACKAGER=' /etc/makepkg.conf)
|
||||||
|
[ -n "${PACKAGER}" ] && echo "PACKAGER='${PACKAGER}'" >> "$copydir/etc/makepkg.conf"
|
||||||
|
|
||||||
# Set target CARCH as it might be used within the PKGBUILD to select correct sources
|
# Set target CARCH as it might be used within the PKGBUILD to select correct sources
|
||||||
CARCH=$(eval $(grep '^CARCH=' "$copydir/etc/makepkg.conf"))
|
eval $(grep '^CARCH=' "$copydir/etc/makepkg.conf")
|
||||||
|
export CARCH
|
||||||
# Copy PKGBUILD and sources
|
# Copy PKGBUILD and sources
|
||||||
source PKGBUILD
|
source=($(. PKGBUILD; echo ${source[@]}))
|
||||||
cp PKGBUILD "$copydir/build/"
|
cp PKGBUILD "$copydir/build/"
|
||||||
for f in ${source[@]}; do
|
for f in ${source[@]}; do
|
||||||
basef=$(echo $f | sed 's|::.*||' | sed 's|^.*://.*/||g')
|
basef=$(echo $f | sed 's|::.*||' | sed 's|^.*://.*/||g')
|
||||||
|
@ -189,7 +204,7 @@ fi
|
||||||
#working copy
|
#working copy
|
||||||
(cat <<EOF
|
(cat <<EOF
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
export LANG=$LOCALE
|
export LANG=C
|
||||||
cd /build
|
cd /build
|
||||||
export HOME=/build
|
export HOME=/build
|
||||||
sudo -u nobody makepkg $MAKEPKG_ARGS || touch BUILD_FAILED
|
sudo -u nobody makepkg $MAKEPKG_ARGS || touch BUILD_FAILED
|
||||||
|
|
Loading…
Reference in New Issue