aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rwxr-xr-xxbps-mini-builder17
2 files changed, 13 insertions, 5 deletions
diff --git a/.gitignore b/.gitignore
index 8f77419..531967f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ xbps-mini-builder.conf
xbps-src.conf
packages.list
id_rsa*
+changed
diff --git a/xbps-mini-builder b/xbps-mini-builder
index b9a2f45..b4a3f6a 100755
--- a/xbps-mini-builder
+++ b/xbps-mini-builder
@@ -9,6 +9,9 @@ if [ ! -f id_rsa ] ; then
ssh-keygen -b 4096 -t rsa -N "" -f id_rsa
fi
+# Remove old state
+rm -f changed
+
# Create the void-packages directory if it doesn't exit
mkdir -p void-packages
cd void-packages || exit 2
@@ -17,10 +20,13 @@ cd void-packages || exit 2
if [ ! -d srcpkgs ] ; then
# No, clone a fresh copy
git clone https://github.com/voidlinux/void-packages .
+
+ # On bootstrap we need to build everything
+ cp ../packages.list ../changed
else
# Yes, pull in the changes for this run
git reset --hard HEAD
- git pull
+ git pull | tee ../changed
fi
# Does this system use another set of repos
@@ -49,10 +55,11 @@ if [ -f ../xbps-src.conf ] ; then
cat ../xbps-src.conf >> etc/conf
fi
-# Main builder section
-packages="$(cat ../packages.list)"
-
-xbulk ${packages} "$@"
+for package in $(cat ../packages.list) ; do
+ if grep "${package}" ../changed; then
+ ./xbps-src pkg "${package}"
+ fi
+done
# Sign built packages
xbps-rindex --sign --signedby "XBPS-mini-builder" --privkey ../id_rsa hostdir/binpkgs