summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xfullpkg43
-rwxr-xr-xlibremakepkg4
-rwxr-xr-xlibrestage4
-rw-r--r--libretools.conf2
4 files changed, 33 insertions, 20 deletions
diff --git a/fullpkg b/fullpkg
index 14c4e9f..f281df3 100755
--- a/fullpkg
+++ b/fullpkg
@@ -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
diff --git a/librestage b/librestage
index f074672..917c9bf 100755
--- a/librestage
+++ b/librestage
@@ -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')