index : devtools32 | |
Archlinux32 fork of devtools | gitolite user |
summaryrefslogtreecommitdiff |
author | Luke Shumaker <lukeshu@parabola.nu> | 2017-02-15 15:56:42 -0500 |
---|---|---|
committer | Luke Shumaker <lukeshu@parabola.nu> | 2017-02-19 14:21:30 -0500 |
commit | 8ee94a8ff1be0a0247521d6cc2a5a5b1bdc1b78f (patch) | |
tree | 43f2a243c3a1a3ec6ce9a575a85c38996fd46158 /makechrootpkg.in | |
parent | 2fa58ec7710c9f08d1422ff223bc5276703905ab (diff) |
-rw-r--r-- | makechrootpkg.in | 18 |
diff --git a/makechrootpkg.in b/makechrootpkg.in index f90e20d..3c80fb7 100644 --- a/makechrootpkg.in +++ b/makechrootpkg.in @@ -313,6 +313,12 @@ EOF # working copy { printf '#!/bin/bash\n' + declare -f _chrootprepare + printf '_chrootprepare "$@"\n' + } > "$copydir/chrootprepare" + chmod +x "$copydir/chrootprepare" + { + printf '#!/bin/bash\n' declare -f _chrootbuild printf '_chrootbuild "$@" || exit\n' @@ -326,9 +332,14 @@ EOF # These functions aren't run in makechrootpkg, # so no global variables +_chrootprepare() { + . /etc/profile + sudo -iu builduser bash -c 'cd /startdir; makepkg "$@" --nobuild' -bash "$@" +} + _chrootbuild() { . /etc/profile - sudo -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@" + sudo -iu builduser bash -c 'cd /startdir; makepkg "$@" --noextract --noprepare' -bash "$@" } _chrootnamcap() { @@ -481,6 +492,11 @@ if arch-nspawn "$copydir" \ --bind="$PWD:/startdir" \ --bind="$SRCDEST:/srcdest" \ "${bindmounts_ro[@]}" "${bindmounts_rw[@]}" \ + /chrootprepare "${makepkg_args[@]}" && + arch-nspawn "$copydir" \ + --bind="$PWD:/startdir" \ + --bind="$SRCDEST:/srcdest" \ + "${bindmounts_ro[@]}" "${bindmounts_rw[@]}" \ /chrootbuild "${makepkg_args[@]}" then move_products "$copydir" "$src_owner" |