summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/chroot-tools/libremakepkg9
-rwxr-xr-xsrc/chroot-tools/libremakepkg.gpl219
2 files changed, 21 insertions, 7 deletions
diff --git a/src/chroot-tools/libremakepkg b/src/chroot-tools/libremakepkg
index 4e810d1..2769d5d 100755
--- a/src/chroot-tools/libremakepkg
+++ b/src/chroot-tools/libremakepkg
@@ -120,6 +120,7 @@ usage() {
echo " -n <CHROOT> Use this chroot instead of \`$CHROOT'"
echo ' -l <COPY> Use this chroot copy instead of basing it'
echo ' on the username'
+ echo ' -C Do not use a chroot'
echo ''
echo " -m <MAKEPKG> Use the command MAKEPKG instead of 'makepkg'"
echo ''
@@ -134,11 +135,13 @@ main() {
makepkg_args='-s --noconfirm -L '
MAKEPKG=makepkg
+ NOCHROOT=false
while getopts 'n:l:m:Rh' arg ; do
case "${arg}" in
n) CHROOT=$OPTARG;;
l) CHROOTCOPY=$OPTARG;;
+ C) NOCHROOT=true
m) MAKEPKG=$OPTARG;;
h) usage; exit 0;;
*) usage; exit 1;;
@@ -180,7 +183,7 @@ main() {
chroot_makepkg_conf_get CARCH
export CARCH
- chroot_init
+ $NOCHROOT || chroot_init
libre_check_pkgbuild
chroot_extract
@@ -188,8 +191,8 @@ main() {
chroot_build
libre_check_pkg
- copy_pkgs
- copy_logs
+ $NOCHROOT || copy_pkgs
+ $NOCHROOT || copy_logs
}
main "$@"
diff --git a/src/chroot-tools/libremakepkg.gpl2 b/src/chroot-tools/libremakepkg.gpl2
index fd58d50..9c600ed 100755
--- a/src/chroot-tools/libremakepkg.gpl2
+++ b/src/chroot-tools/libremakepkg.gpl2
@@ -36,6 +36,11 @@ EOF
}
chroot_extract() {
+ if $NOCHROOT; then
+ chcleanup
+ sudo -u ${LIBREUSER} ${MAKEPKG} ${makepkg_args} -o
+ return
+ fi
rm -rf "$copydir"/build/*
cp PKGBUILD "$copydir/build/"
(
@@ -72,14 +77,19 @@ chroot_extract() {
}
chroot_build() {
- chroot_exec -N "sudo -u nobody ${MAKEPKG} ${makepkg_args} -e"
+ local user=$LIBREUSER
+ $NOCHROOT || user=nobody
+ chroot_exec -N "sudo -u ${user} ${MAKEPKG} ${makepkg_args} -e"
}
chroot_exec() {
local flags=''
[[ $1 == -N ]] && { flags=$1; shift; }
local cmd="$*"
- cat >"$copydir/chrootexec" <<EOF
+ if $NOCHROOT; then
+ ${cmd}
+ else
+ cat >"$copydir/chrootexec" <<EOF
#!/bin/bash
. /etc/profile
export HOME=/build
@@ -87,8 +97,9 @@ cd /build
${cmd}
EOF
- chmod 755 "$copydir/chrootexec"
- archroot $flags "$copydir" -r /chrootexec
+ chmod 755 "$copydir/chrootexec"
+ archroot $flags "$copydir" -r /chrootexec
+ fi
}
copy_pkgs() {