diff options
-rwxr-xr-x | fullpkg | 43 | ||||
-rwxr-xr-x | libremakepkg | 4 | ||||
-rwxr-xr-x | librestage | 4 | ||||
-rw-r--r-- | libretools.conf | 2 |
4 files changed, 33 insertions, 20 deletions
@@ -10,7 +10,7 @@ source /usr/bin/libremessages [ -r $XDG_CONFIG_HOME/libretools/libretools.conf ] && \ source $XDG_CONFIG_HOME/libretools/libretools.conf -## START FUNCTIONS ## +##### START FUNCTIONS ##### function usage { echo "cd to a dir containing a PKGBUILD and run:" @@ -67,7 +67,7 @@ update_queue() { remove_queue() { get_queue - grep -vw "^$(basename $PWD)" $queue_file > $queue_file.2 + grep -Evw "^$(basename $PWD)" $queue_file > $queue_file.2 mv $queue_file.2 $queue_file put_queue && return 0 || return $? @@ -161,11 +161,12 @@ function find_deps { # if search pkgname in repo doesn't work # this should find pkgsplits - elif _dir=($(find "$ABSROOT/${_repo}" -type f -name PKGBUILD -print0 | \ - "xargs" -0 -e grep -HEw "pkgname=|pkgbase=|provides=" | grep $_dep 2>&1)); + elif _dir=($(find "$ABSROOT/${_repo}" -type f -name PKGBUILD -print0 2>/dev/null | \ + "xargs" -0 -e grep -HEw "pkgname=|pkgbase=|provides=" | grep -w "$_dep" 2>&1)); then + _dir=$(dirname $(echo $_dir | cut -d: -f1)) plain "guess for $_dep -> $_dir" - pushd $(dirname $(echo $_dir | cut -d: -f1)) > /dev/null + pushd $_dir > /dev/null $0 -c -d ${build_dir} -l ${next_level} # Circular deps must fail [ $? -eq 20 ] && return 20 @@ -237,20 +238,28 @@ function _pkg_build () { # this buildcmd is on libretools.conf $FULLBUILDCMD; r=$? case $r in - 0) plain "The build was succesful." - source .INFO && [ -n $repo ] && { - librestage $repo || { - echo "unstaged:$(basename $PWD)" >> $build_dir/log +###### Succesfull Build ###### + 0) + plain "The build was succesful." + source .INFO && [ -n $repo ] && { +# Release locally + mipsrelease *.pkg.tar.?z + +# Stage for releasing + librestage $repo || { + echo "unstaged:$(basename $PWD)" >> $build_dir/log + } + + msg "Updating pacman db and packages" + sudo pacman -Syu --noconfirm } - } - echo "built:$(basename $PWD)" >> $build_dir/log - cleanup "$(basename $PWD)" - ;; - 1) error "There were errors while trying to build the package." - echo "failed:$(basename $PWD)" >> $build_dir/log + echo "built:$(basename $PWD)" >> $build_dir/log + cleanup "$(basename $PWD)" ;; - 2) error "The build failed." - echo "failed:$(basename $PWD)" >> $build_dir/log +###### Failed Build ###### + *) + error "There were errors while trying to build the package." + echo "failed:$(basename $PWD)" >> $build_dir/log ;; esac diff --git a/libremakepkg b/libremakepkg index 9a76f5f..3cbc844 100755 --- a/libremakepkg +++ b/libremakepkg @@ -67,6 +67,8 @@ fi msg "Checking PKGBUILD for non-free issues" pkgbuild-check-nonfree ||{ +# pkgbuild-check-nonfree uses 15 for nonfree and +# other errors if something failed. if [[ $? -eq 15 ]]; then error "PKGBUILD contains non-free issues" exit 15 @@ -75,7 +77,7 @@ pkgbuild-check-nonfree ||{ if [ $update_first = y ]; then msg "Updating the main chroot" - # -c option in mkarchroot indicates cache +# -c option in mkarchroot indicates cache mkarchroot -c ${CACHEDIR} -u "${CHROOTDIR}/${CHROOT}" fi @@ -77,7 +77,9 @@ staged='n' for _arch in ${ARCHES[@]}; do for pkg in ${pkgname[@]}; do - pkgpath=$(find ${PKGDEST}/ -type f -name "${pkg}-${pkgver}-${pkgrel}-${_arch}${PKGEXT}") + pkgpath=$(find ${PKGDEST}/ -type f \ + -name "${pkg}-${pkgver}-${pkgrel}-${_arch}${PKGEXT}" -or \ + -name "${pkg}-${epoch}:${pkgver}-${pkgrel}-${_arch}${PKGEXT}") [[ -z ${pkgpath} ]] && continue diff --git a/libretools.conf b/libretools.conf index 4badc5c..c4ac606 100644 --- a/libretools.conf +++ b/libretools.conf @@ -10,7 +10,7 @@ WORKDIR=/home/$USER/packages # Tip: As early repos take precedence on $REPOS loops, you can use this as # inverted order of precedence. Put testing repos first so fullpkg find new # PKGBUILDs first, for instance. -REPOS=('libre' 'libre-testing' 'core' 'community' 'extra' 'social' 'sugar') +REPOS=('core' 'extra' 'community' 'libre' 'libre-testing' 'social' 'sugar') # The architectures ARCHES=('i686' 'x86_64' 'mips64el' 'any') |