summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/abslibre-tools/createworkdir49
-rwxr-xr-xsrc/abslibre-tools/diff-unfree16
-rwxr-xr-xsrc/abslibre-tools/libreaddiff10
-rwxr-xr-xsrc/abslibre-tools/librerelease136
-rwxr-xr-xsrc/abslibre-tools/librestage14
-rw-r--r--src/chroot-tools/hooks-chcleanup.sh3
-rwxr-xr-xsrc/chroot-tools/librechroot2
-rwxr-xr-xsrc/chroot-tools/libremakepkg73
-rw-r--r--src/chroot-tools/makechrootpkg.sh.patch68
-rwxr-xr-xsrc/librefetch/librefetch4
-rw-r--r--src/librefetch/librefetch.8.ronn4
-rw-r--r--src/libretools.conf5
12 files changed, 235 insertions, 149 deletions
diff --git a/src/abslibre-tools/createworkdir b/src/abslibre-tools/createworkdir
index 99214ab..a251d40 100755
--- a/src/abslibre-tools/createworkdir
+++ b/src/abslibre-tools/createworkdir
@@ -1,8 +1,10 @@
#!/usr/bin/env bash
+set -euE
# CreateWorkDir
# Creates a dir structure for working with Parabola packages
# Copyright 2010 Nicolás Reynolds
+# Copyright 2013 Luke Shumaker
# ---------- GNU General Public License 3 ----------
@@ -24,41 +26,26 @@
. libremessages
. $(librelib conf.sh)
load_files libretools
-check_vars libretools WORKDIR REPOS ABSLIBREGIT || exit 1
+check_vars libretools WORKDIR REPOS ABSLIBREGIT
-[[ ! -d ${WORKDIR} ]] && { # Create the WORKDIR
+trap 'error "Aborting..."' EXIT
- msg "Creating WORKDIR on ${WORKDIR}"
- mkdir -p ${WORKDIR} ||{
- error "Could not create ${WORKDIR}"; exit 1
- }
+msg "Creating WORKDIR at %s..." "$WORKDIR"
+mkdir -p "$WORKDIR"
-}
+msg "Creating staging directory in WORKDIR..."
+mkdir -p "$WORKDIR/staging"
-for _repo in "${REPOS[@]}"; do # Create the staging dirs
+cmd=(libregit "$ABSLIBREGIT" master "$WORKDIR/abslibre")
+if ! "${cmd[@]}"; then
+ error "Could not clone ABSLibre"
+ print "Try running this command:"
+ echo
+ print '%s' "${cmd[*]}"
+ exit 1
+fi
- [[ ! -d ${WORKDIR}/staging/${_repo} ]] && {
- mkdir -p ${WORKDIR}/staging/${_repo} || {
- error "Can't create ${WORKDIR}/staging/${_repo}"
- exit 1
- }
- }
-
-done
-
-[[ ! -d ${WORKDIR}/abslibre/.git ]] && {
- msg "Cloning into ABSLibre"
- CMD="git clone ${ABSLIBREGIT} ${WORKDIR}/abslibre"
- ${CMD} || {
- error "Could not clone ABSLibre"
- plain "Try running this command:"
- echo
- plain "${CMD}"
- exit 1
- }
-}
-
-msg "Finished, your packaging dir tree looks like this now:"
+msg "Finished, your packaging directory tree looks like this now:"
ls --color=always ${WORKDIR}/*/*
-exit 0
+trap -- EXIT
diff --git a/src/abslibre-tools/diff-unfree b/src/abslibre-tools/diff-unfree
index 07f2ca2..b3e2327 100755
--- a/src/abslibre-tools/diff-unfree
+++ b/src/abslibre-tools/diff-unfree
@@ -25,14 +25,12 @@
load_files libretools
check_vars libretools DIFFTOOL || exit 1
-cmd=${0##*/}
-
usage() {
- echo "Usage: $cmd [community|packages] [unfree-package] [repo]"
- echo "Usage: $cmd --help"
- echo "Helps you diff build scripts from ABSLibre against (Unfree) ABS."
- echo ""
- echo "Package name and repo will we guessed if you don't specify them."
+ print "Usage: %s [community|packages] [unfree-package] [repo]" "${0##*/}"
+ print "Usage: %s --help" "${0##*/}"
+ prose "Helps you diff build scripts from ABSLibre against (Unfree) ABS."
+ echo
+ prose "Package name and repo will we guessed if you don't specify them."
}
main() {
@@ -68,7 +66,7 @@ main() {
pushd "${tmp_dir}" &>/dev/null
- msg "Getting diff from $repo/$package..."
+ msg "Getting diff from %s..." "$repo/$package"
svn checkout --depth=empty svn://svn.archlinux.org/$svnrepo &>/dev/null
@@ -81,7 +79,7 @@ main() {
msg "Diffing files"
for _file in ${unfree_dir}/*; do
- msg2 "$(basename "${_file}")"
+ msg2 "%s" "$(basename "${_file}")"
${DIFFTOOL} "$PWD/$(basename "${_file}")" "${_file}"
done
}
diff --git a/src/abslibre-tools/libreaddiff b/src/abslibre-tools/libreaddiff
index 03d0ad0..9f5ae27 100755
--- a/src/abslibre-tools/libreaddiff
+++ b/src/abslibre-tools/libreaddiff
@@ -23,10 +23,12 @@ check_vars libretools WORKDIR
for arg in "$@" ; do
case "$arg" in
-h|--h|--he|--hel|--help|-\?)
- echo 'Usage: libreaddiff repo [arch]
-
-This script outputs a diff of package names and versions in repo
-between pacman'\''s sync db and abslibre checkout.' >&2
+ {
+ print 'Usage: %s repo [arch]' "${0##*/}"
+ echo
+ prose "This script outputs a diff of package names and versions
+ in repo between pacman's sync db and abslibre checkout."
+ } >&2
exit 0
;;
esac
diff --git a/src/abslibre-tools/librerelease b/src/abslibre-tools/librerelease
index 5913670..f0d59e3 100755
--- a/src/abslibre-tools/librerelease
+++ b/src/abslibre-tools/librerelease
@@ -38,25 +38,22 @@
. libremessages
. $(librelib conf.sh)
-function usage {
- print "Usage: %s [OPTIONS]" "${0##*/}"
- echo
- print 'This script uploads packages on $WORKDIR/stagging'
- print "to parabola server."
- echo
- print "Options:"
- print ' -c Clean packages on $WORKDIR/staging'
- print " -l Only list packages but not upload them"
- print " -n Dry-run; don't actually do anything"
- print " -h Show this message"
-}
-
-function list_packages {
- find "$WORKDIR/staging/" -mindepth 1 -type d -not -empty -printf '%f\n' | sort |
- while read -r repo; do
- msg2 "$repo"
- find "${WORKDIR}/staging/${repo}" -type f -printf "%f\n" | sort
- done
+dryrun=""
+readonly rsync_flags=(
+ --no-group
+ --no-perms
+ --copy-links
+ --hard-links
+ --partial
+ --human-readable
+ --progress
+ -e ssh
+)
+
+# Functions ####################################################################
+
+list0_files() {
+ find "${WORKDIR}/staging" -L -type f -print0
}
# This function is taken almost verbatim from makepkg
@@ -81,7 +78,7 @@ create_signature() {
fi
}
-function sign_packages {
+sign_packages() {
if [ -z "${GPG_AGENT_INFO}" ]; then
warning "It's better to use gpg-agent to sign packages in batches"
fi
@@ -104,36 +101,52 @@ function sign_packages {
}
# Remove everything that's not a package or a signature
-function clean_non_packages {
+clean_non_packages() {
find $WORKDIR/staging/ -type f \
\! -iname "*.pkg.tar.?z" -a \! -iname "*.pkg.tar.?z.sig" \
-delete
}
# Clean everything if not on dry-run mode
-function clean {
+clean_files() {
+ local file_list=$1
+
+ local rmcmd=(rm -fv)
if [[ -n "${dryrun}" ]]; then
- :
- else
- msg "Removing files from local staging directory"
- # use '-exec rm' instead of '-delete' to be verbose
- find "${WORKDIR}/staging" -type f -exec rm -fv {} +
+ rmcmd=(printf "$(_ "removed '%s' (dry-run)")\n")
fi
+
+ msg "Removing files from local staging directory"
+ xargs -0 -a "$file_list" "${rmcmd[@]}"
}
-function main {
- if [ -w / ]; then
+################################################################################
+
+usage() {
+ print "Usage: %s [OPTIONS]" "${0##*/}"
+ echo
+ prose 'This script uploads packages on $WORKDIR/stagging
+ to parabola server.'
+ echo
+ print "Options:"
+ flag '-c' 'Clean packages on $WORKDIR/staging'
+ flag '-l' "Only list packages but not upload them"
+ flag '-n' "Dry-run; don't actually do anything"
+ flag '-h' "Show this message"
+}
+
+main() {
+ if [[ -w / ]]; then
error "This program should be run as regular user"
return 1
fi
# Parse options
- local dryrun=""
local mode="release_packages"
while getopts 'clnh' arg; do
case $arg in
c) mode=clean ;;
- l) mode=list_packages ;;
+ l) mode=pretty_print_packages ;;
n) dryrun="--dry-run" ;;
h) mode=usage ;;
*) usage >/dev/stderr; return 1 ;;
@@ -154,41 +167,64 @@ function main {
check_vars makepkg GPGKEY
load_files libretools
check_vars libretools WORKDIR REPODEST || return 1
- # The following variables are actually optional
+ REPODEST+='/staging/'
+ # The following settings are actually optional
#check_vars libretools HOOKPRERELEASE HOOKPOSTRELEASE || return 1
- lock 10 "${WORKDIR}/staging.lock" 'Waiting for an exclusive lock on the staging directory'
"$mode"
}
-function release_packages {
+# The different modes (sans 'usage') ###########################################
+
+pretty_print_packages() {
+ find "$WORKDIR/staging/" -mindepth 1 -type d -not -empty -printf '%f\n' | sort |
+ while read -r repo; do
+ msg2 "$repo"
+ find "${WORKDIR}/staging/${repo}" -L -type f -printf "%f\n" | sort
+ done
+}
+
+clean() {
+ lock 10 "${WORKDIR}/staging.lock" \
+ 'Waiting for an exclusive lock on the staging directory'
+
+ local file_list="$(mktemp -t ${0##*/}.XXXXXXXXXX)"
+ trap "$(printf 'rm -f -- %q' "$file_list")" EXIT
+ list0_files > "$file_list"
+
+ lock_close 10
+
+ clean_files "$file_list"
+}
+
+release_packages() {
if [[ -n $HOOKPRERELEASE ]]; then
msg "Running HOOKPRERELEASE..."
bash -c "${HOOKPRERELEASE}"
fi
+ lock 10 "${WORKDIR}/staging.lock" \
+ 'Waiting for an exclusive lock on the staging directory'
+
clean_non_packages
sign_packages || return 1
# Make the permissions of the packages 644 otherwise the user will get access
# denied error when they try to download (rsync --no-perms doesn't seem to
# work).
- find ${WORKDIR}/staging -type f -exec chmod 644 {} \;
- find ${WORKDIR}/staging -type d -exec chmod 755 {} \;
+ find ${WORKDIR}/staging -type f -exec chmod 644 {} +
+ find ${WORKDIR}/staging -type d -exec chmod 755 {} +
+
+ local file_list="$(mktemp -t ${0##*/}.XXXXXXXXXX)"
+ trap "$(printf 'rm -f -- %q' "$file_list")" EXIT
+ list0_files > "$file_list"
+
+ lock_close 10
- msg "%s to upload" $(du -h -d 0 ${WORKDIR}/staging | tr "\t" " " | cut -d" " -f1)
+ msg "%s to upload" "$(du -hc --files0-from="$file_list" | sed -n '$s/\t.*//p')"
msg "Uploading packages..."
- if ! rsync --recursive \
- ${dryrun} \
- --no-group \
- --no-perms \
- --copy-links \
- --hard-links \
- --partial \
- --prune-empty-dirs \
- --human-readable \
- --progress \
- -e "ssh " \
+ if ! rsync ${dryrun} "${rsync_flags[@]}" \
+ -0 --files-from="$file_list"
${WORKDIR}/staging \
${REPODEST}/
then
@@ -196,10 +232,10 @@ function release_packages {
return 1
fi
- clean
+ clean_files "$file_list"
msg "Running db-update on repos"
- ssh ${REPODEST%%:*} dbscripts/db-update
+ ssh ${REPODEST%%:*} "$(printf 'STAGING=%q dbscripts/db-update' "${REPODEST#*:}")"
if [[ -n $HOOKPOSTRELEASE ]]; then
msg "Running HOOKPOSTRELEASE..."
diff --git a/src/abslibre-tools/librestage b/src/abslibre-tools/librestage
index 57846fc..6bbe80e 100755
--- a/src/abslibre-tools/librestage
+++ b/src/abslibre-tools/librestage
@@ -23,14 +23,13 @@
. libremessages
. $(librelib conf.sh)
-cmd=${0##*/}
usage() {
- print "Usage: %s REPO [REPO2 REPO3...]" "$cmd"
+ print "Usage: %s REPO [REPO2 REPO3...]" "${0##*/}"
print "Stages the package(s) build by ./PKGBUILD for upload."
echo
- print "The package(s) are staged for the named repositories."
- print "It is in general a bad idea to stage a package on multiple"
- print "repositories, but it supported by this tool."
+ prose "The package(s) are staged for the named repositories.
+ It is in general a bad idea to stage a package on multiple
+ repositories, but it supported by this tool."
}
main() {
@@ -67,7 +66,8 @@ main() {
# Now for the main routine.
staged=false
- slock 10 "${WORKDIR}/staging.lock" 'Waiting for a shared lock on the staging directory'
+ slock 10 "${WORKDIR}/staging.lock" \
+ 'Waiting for a shared lock on the staging directory'
for CARCH in "${ARCHES[@]}" any; do
for _pkgname in "${pkgname[@]}"; do
pkgfile=${_pkgname}-$(get_full_version $_pkgname)-${CARCH}${PKGEXT}
@@ -79,7 +79,7 @@ main() {
pkgpath="$(readlink -f "$pkgpath")"
fi
- msg "Found ${pkgfile}"
+ msg 'Found %s' "${pkgfile}"
canonical="" # is empty for the first iteration, set after that
for repo in "${repos[@]}"; do
diff --git a/src/chroot-tools/hooks-chcleanup.sh b/src/chroot-tools/hooks-chcleanup.sh
index 09e6dd9..198bc36 100644
--- a/src/chroot-tools/hooks-chcleanup.sh
+++ b/src/chroot-tools/hooks-chcleanup.sh
@@ -10,7 +10,6 @@ clean_chroot() (
cd /build
sudo -u nobody "$(librelib chroot/chcleanup)"
else
- librechroot -l "$copydir" clean-pkgs
+ librechroot "${librechroot_flags[@]}" clean-pkgs
fi
- r=$?; echo clean_chroot returning $r; return $r
)
diff --git a/src/chroot-tools/librechroot b/src/chroot-tools/librechroot
index 0b3ad43..cb7fe1b 100755
--- a/src/chroot-tools/librechroot
+++ b/src/chroot-tools/librechroot
@@ -88,7 +88,7 @@ usage() {
unless the copy name is manually specified as an absolute path,
in which case, that path is used.'
echo
- prose 'The current settings for the above varibles are:'
+ prose 'The current settings for the above variables are:'
printf ' CHROOTDIR : %s\n' "${CHROOTDIR:-$(_ 'ERROR: NO SETTING')}"
printf ' CHROOT : %s\n' "${CHROOT:-$(_ 'ERROR: NO SETTING')}"
printf ' COPY : %s\n' "$COPY"
diff --git a/src/chroot-tools/libremakepkg b/src/chroot-tools/libremakepkg
index a59315b..df4cd07 100755
--- a/src/chroot-tools/libremakepkg
+++ b/src/chroot-tools/libremakepkg
@@ -25,6 +25,7 @@ set -euE
. $(librelib messages)
. $(librelib chroot/makechrootpkg.sh)
+set -o pipefail
shopt -s nullglob
umask 0022
@@ -34,6 +35,7 @@ NONET=true # can be changed with the -N flag
# {SRC,LOG,PKG}DEST set at runtime by makepkg.conf
# MAKEFLAGS, PACKAGER set at runtime by makepkg.conf
# LIBREUSER, LIBREHOME are set by conf.sh
+librechroot_flags=()
# Hooks ########################################################################
@@ -47,6 +49,10 @@ hook_check_pkg=(:)
# Boring/mundane functions #####################################################
+indent() {
+ sed 's/^/ | /'
+}
+
# Usage: exit_copy $copydir $src_owner
# End immediately, but copy log files out
exit_copy() {
@@ -62,17 +68,18 @@ exit_copy() {
run_hook() {
local hookname=$1; shift
local hookvar="hook_${hookname}[@]"
+
local fails=()
- msg "Running hook: %s" "$hookname"
for hook in "${!hookvar}"; do
- msg2 'hook: %s' "$hook"
- "$hook" "$@" || { error "result: %s" $?; fails+=("$hook"); }
- done
+ "$hook" "$@" || fails+=("$hook")
+ done |& indent
+
if [[ ${#fails[@]} -gt 0 ]]; then
error "Failure(s) in %s: %s" "$hookname" "${fails[*]}"
return 1
+ else
+ return 0
fi
- return 0
}
# Usage: add_to_local_repo $copydir $pkgfiles...
@@ -88,25 +95,31 @@ add_to_local_repo() {
done
}
+hook_post_build+=('cleanup')
+cleanup() {
+ local copydir=$1
+ rm -f -- "$copydir"/chroot{prepare,build}
+}
+
build() (
local copydir=$1; shift
- local cmd=(/chrootbuild "$@")
-
- run_hook pre_build "$copydir"
- trap "run_hook post_build '$copydir'" EXIT
+ local repack=$1; shift
local netflag=''
+ local run=()
if $INCHROOT; then
- ! $NONET || netflag='-n'
- unshare $netflag -- "${cmd[@]}"
- else
! $NONET || netflag='-N'
- librechroot $netflag \
- -r "$PWD:/startdir_host" \
- -r "$SRCDEST:/srcdest_host" \
- -l "$copydir" \
- run "${cmd[@]}"
+ run=(unshare)
+ else
+ ! $NONET || netflag='-n'
+ run=(librechroot "${librechroot_flags[@]}" run)
fi
+
+ prepare_chroot "$copydir" "$LIBREHOME" "$repack" false
+ "${run[@]}" /chrootprepare "$@" |& indent
+ run_hook pre_build "$copydir"
+ trap "run_hook post_build '$copydir'" EXIT
+ "${run[@]}" /chrootbuild "$@" |& indent
)
# The main program #############################################################
@@ -212,6 +225,13 @@ main() {
MAKEFLAGS="$(get_conf_makepkg MAKEFLAGS '')"
PACKAGER="$(get_conf_makepkg PACKAGER '')"
+ librechroot_flags=(
+ -r "$PWD:/startdir_host"
+ -r "$SRCDEST:/srcdest_host"
+ -n "$CHROOT"
+ -l "$copy"
+ )
+
# OK, we are starting now ##############################################
if $INCHROOT; then
@@ -222,7 +242,8 @@ main() {
lock 9 "$copydir.lock" \
"Waiting for existing lock on chroot copy to be released: [%s]" "$copy"
# Create the chroot if it does not exist
- librechroot -n "$CHROOT" -l "$copy" make
+ msg 'Initializing the chroot...'
+ librechroot "${librechroot_flags[@]}" make |& indent
fi
# Set target CARCH
@@ -230,20 +251,20 @@ main() {
export CARCH="$(MAKEPKG_CONF=$copydir/etc/makepkg.conf get_conf_makepkg CARCH)"
# Pre-build
+ msg 'Starting pre-build activities...'
run_hook check_pkgbuild
- download_sources "$copydir" "$LIBREUSER"
- prepare_chroot "$copydir" "$LIBREHOME" "$repack" false
- clean_chroot "$copydir"
+ msg 'Downloading sources...'
+ download_sources "$copydir" "$LIBREUSER" |& indent
# Build
+ msg 'Starting to build the package...'
trap "exit_copy '$copydir' '$LIBREUSER'" EXIT
- warning 'Entering build...'
- build "$copydir" "${makepkg_args[@]}"
+ build "$copydir" "$repack" "${makepkg_args[@]}"
+
# Post-build
- warning 'Entering hook check_pkg...'
+ msg 'Starting post-build activities...'
run_hook check_pkg
- warning 'Entering add_to_local_repo ...'
- add_to_local_repo "$copydir" "$copydir"/pkgdest/*.pkg.tar*
+ add_to_local_repo "$copydir" "$copydir"/pkgdest/*.pkg.tar* |& indent
}
main "$@"
diff --git a/src/chroot-tools/makechrootpkg.sh.patch b/src/chroot-tools/makechrootpkg.sh.patch
index f5b8ed7..275b88a 100644
--- a/src/chroot-tools/makechrootpkg.sh.patch
+++ b/src/chroot-tools/makechrootpkg.sh.patch
@@ -1,5 +1,5 @@
---- makechrootpkg.sh.in 2013-09-08 23:01:20.000000000 -0400
-+++ makechrootpkg.sh.ugly 2013-09-09 15:43:06.000000000 -0400
+--- makechrootpkg.sh.in 2013-09-12 10:02:36.000000000 -0400
++++ makechrootpkg.sh.ugly 2013-09-14 13:51:51.000000000 -0400
@@ -12,6 +12,7 @@
shopt -s nullglob
@@ -162,7 +162,7 @@
sed -i '/^PACKAGER=/d' "$copydir/etc/makepkg.conf"
echo "PACKAGER='${PACKAGER}'" >> "$copydir/etc/makepkg.conf"
fi
-@@ -235,6 +270,14 @@
+@@ -235,20 +270,37 @@
chmod 440 "$copydir/etc/sudoers.d/nobody-pacman"
fi
@@ -176,8 +176,12 @@
+
# This is a little gross, but this way the script is recreated every time in the
# working copy
- printf $'#!/bin/bash\n%s\n_chrootbuild %q "$@"' "$(declare -f _chrootbuild)" \
-@@ -242,13 +285,19 @@
+- printf $'#!/bin/bash\n%s\n_chrootbuild %q "$@"' "$(declare -f _chrootbuild)" \
++ printf '#!/bin/bash\n%s\n_chrootprepare "$@"' "$(declare -f _chrootprepare)" \
++ > "$copydir/chrootprepare"
++ chmod +x "$copydir/chrootprepare"
++ printf '#!/bin/bash\n%s\n_chrootbuild %q "$@"' "$(declare -f _chrootbuild)" \
+ "$run_namcap" >"$copydir/chrootbuild"
chmod +x "$copydir/chrootbuild"
}
@@ -199,7 +203,7 @@
makepkg --config="$copydir/etc/makepkg.conf" --verifysource -o
else
( export SRCDEST BUILDDIR="$builddir"
-@@ -258,7 +307,7 @@
+@@ -258,20 +310,15 @@
(( $? != 0 )) && die "Could not download sources."
# Clean up garbage from verifysource
@@ -207,8 +211,48 @@
+ rm -rf "$builddir"
}
- _chrootbuild() {
-@@ -295,6 +344,7 @@
+-_chrootbuild() {
++_chrootprepare() {
+ # This function isn't run in makechrootpkg,
+ # so no global variables
+- local run_namcap="$1"; shift
+- local makepkg_args=("$@")
+-
+- . /etc/profile
+- export HOME=/build
+- shopt -s nullglob
+
+ # XXX: Workaround makepkg disliking read-only dirs
++ rm -rf -- /srcdest/* /startdir/*
+ ln -sft /srcdest /srcdest_host/*
+ ln -sft /startdir /startdir_host/*
+
+@@ -286,15 +333,27 @@
+ done
+ done
+
+- cd /startdir
+-
+ # XXX: Keep PKGBUILD writable for pkgver()
+- rm PKGBUILD*
+- cp /startdir_host/PKGBUILD* .
+- chown nobody PKGBUILD*
++ rm /startdir/PKGBUILD*
++ cp /startdir_host/PKGBUILD* /startdir
++ chown nobody /startdir/PKGBUILD*
++}
++
++_chrootbuild() {
++ # This function isn't run in makechrootpkg,
++ # so no global variables
++ local run_namcap="$1"; shift
++ local makepkg_args=("$@")
++
++ . /etc/profile
++ export HOME=/build
++ shopt -s nullglob
++
++ cd /startdir
# Safety check
if [[ ! -w PKGBUILD ]]; then
@@ -216,7 +260,7 @@
echo "Can't write to PKGBUILD!"
exit 1
fi
-@@ -312,12 +362,24 @@
+@@ -312,12 +371,24 @@
exit 0
}
@@ -241,7 +285,7 @@
for l in "$copydir"/logdest/*; do
chown "$src_owner" "$l"
mv "$l" "$LOGDEST"
-@@ -325,6 +387,10 @@
+@@ -325,6 +396,10 @@
}
# }}}
@@ -252,7 +296,7 @@
umask 0022
load_vars /etc/makepkg.conf
-@@ -335,27 +401,37 @@
+@@ -335,27 +410,37 @@
[[ -d $SRCDEST ]] || SRCDEST=$PWD
[[ -d $LOGDEST ]] || LOGDEST=$PWD
@@ -296,7 +340,7 @@
if (( ret != 0 )); then
if $temp_chroot; then
-@@ -366,3 +442,4 @@
+@@ -366,3 +451,4 @@
else
true
fi
diff --git a/src/librefetch/librefetch b/src/librefetch/librefetch
index 086a5e9..e9e45fd 100755
--- a/src/librefetch/librefetch
+++ b/src/librefetch/librefetch
@@ -298,8 +298,8 @@ checkdepends=()
makedepends=("${mkdepends[@]}")
####
-options+=(!strip docs libtool emptydirs !zipman purge !upx)
-PURGE_TARGETS+=(.bzr/ .cvs/ .git/ .hg/ .svn/ .makepkg/)
+options=(!strip docs libtool staticlibs emptydirs !zipman purge !upx)
+PURGE_TARGETS=(.bzr/ .cvs/ .git/ .hg/ .svn/ .makepkg/)
####
if ! declare -f mksource >/dev/null; then
diff --git a/src/librefetch/librefetch.8.ronn b/src/librefetch/librefetch.8.ronn
index 7fa15d4..c2b8ffe 100644
--- a/src/librefetch/librefetch.8.ronn
+++ b/src/librefetch/librefetch.8.ronn
@@ -128,11 +128,11 @@ Other changes:
* `options=()` is set have `makepkg` avoid making changes to
`$pkgdir`. The exact change is:
- options+=(!strip docs libtool emptydirs !zipman purge !upx)
+ options=(!strip docs libtool staticlibs emptydirs !zipman purge !upx)
* `PURGE_TARGETS=()` has vcs directories added to it:
- PURGE_TARGETS+=(.bzr/ .cvs/ .git/ .hg/ .svn/ .makepkg/)
+ PURGE_TARGETS=(.bzr/ .cvs/ .git/ .hg/ .svn/ .makepkg/)
### MAKEPKG MODIFICATIONS
diff --git a/src/libretools.conf b/src/libretools.conf
index 593aed6..8690803 100644
--- a/src/libretools.conf
+++ b/src/libretools.conf
@@ -35,9 +35,8 @@ ABSLIBREGIT=ssh://git@projects.parabolagnulinux.org:1863/srv/git/abslibre.git
################################################################################
## Where to upload packages to
-# Don't change unless you know what you're doing and you won't screw
-# anything ;)
-REPODEST=repo@repo:/srv/http/repo/public
+# '/staging/' is appended; this is for compatability with previous versions.
+REPODEST=repo@repo:/srv/http/repo/staging-$LIBREUSER
## Assumes something similar in your .ssh/config:
# Host repo
# Port 1863