aboutsummaryrefslogtreecommitdiff
path: root/xbps-mini-builder
diff options
context:
space:
mode:
Diffstat (limited to 'xbps-mini-builder')
-rwxr-xr-xxbps-mini-builder73
1 files changed, 36 insertions, 37 deletions
diff --git a/xbps-mini-builder b/xbps-mini-builder
index 72cd850..df1e5b6 100755
--- a/xbps-mini-builder
+++ b/xbps-mini-builder
@@ -1,33 +1,38 @@
#!/bin/sh
+PRIVATE_KEY="$(realpath "./private.pem")"
+BRANCH="$(git rev-parse --abbrev-ref "HEAD")"
+SIGNED_BY="Luca Matei Pintilie <luca@lucamatei.com>"
+HOST_XBPS_ARCH="x86_64"
+
# Jump to the directory that owns this script
cd "${0%/*}" || exit 1
# Do we have keys to sign with?
-if [ ! -f id_rsa ] ; then
- rm -rf id_rsa id_rsa.pub
- ssh-keygen -b 4096 -t rsa -m PEM -N "" -f id_rsa
+if [ ! -f "${PRIVATE_KEY}" ] ; then
+ rm -rf "${PRIVATE_KEY}" "${PRIVATE_KEY}".pub
+ ssh-keygen -b 4096 -t rsa -m PEM -N "" -f "${PRIVATE_KEY}"
fi
# Remove old state
-rm -f changed
+# rm -f changed
# Create the void-packages directory if it doesn't exit
-mkdir -p void-packages
-cd void-packages || exit 2
+# mkdir -p void-packages
+# cd void-packages || exit 2
# Do we actually have the repo yet?
-if [ ! -d srcpkgs ] ; then
- # No, clone a fresh copy
- git clone https://github.com/void-linux/void-packages .
+# if [ ! -d srcpkgs ] ; then
+# # No, clone a fresh copy
+# git clone https://github.com/void-linux/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 | tee ../changed
-fi
+# # 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 | tee ../changed
+# fi
# Does this system use another set of repos
if [ -d /etc/xbps.d ] ; then
@@ -45,41 +50,35 @@ if [ -d /etc/xbps.d ] ; then
fi
# Do we have a live build environment
-if [ ! -d masterdir ] ; then
+if [ ! -d masterdir-"${HOST_XBPS_ARCH}" ] ; then
# No masterdir, go ahead and bootstrap it
- ./xbps-src binary-bootstrap
+ ./xbps-src -A "${HOST_XBPS_ARCH}" binary-bootstrap
else
# Have a masterdir, keep it up to date
- ./xbps-src bootstrap-update
-fi
-
-# Apply provided config file if it exists
-if [ -f ../xbps-src.conf ] ; then
- cat ../xbps-src.conf >> etc/conf
+ ./xbps-src -A "${HOST_XBPS_ARCH}" bootstrap-update
fi
if [ -z "$@" ] ; then
while read -r package ; do
- if grep "${package}" ../changed; then
- ./xbps-src pkg "${package}"
- fi
- done < ../packages.list
+ ./xbps-src -QKsgEA "${HOST_XBPS_ARCH}" pkg "${package}"
+ done < ./packages.list
else
for pkg in "$@"; do
- ./xbps-src pkg "${pkg}"
+ ./xbps-src -QKsgEA "${HOST_XBPS_ARCH}" pkg "${pkg}"
done
fi
# Sign built packages
-xbps-rindex --sign --signedby "XBPS-mini-builder" --privkey ../id_rsa hostdir/binpkgs
-xbps-rindex --sign-pkg --privkey ../id_rsa hostdir/binpkgs/*.xbps
+xbps-rindex --sign --signedby "${SIGNED_BY}" --privkey "${PRIVATE_KEY}" "hostdir/binpkgs/${BRANCH}"
+xbps-rindex --sign-pkg --privkey "private.pem" "hostdir/binpkgs/${BRANCH}/"*.xbps
-for folder in multilib multilib/nonfree nonfree ; do
- printf "Trying to sign packages in %s\\n" ${folder}
+for folder in debug multilib multilib/nonfree nonfree ; do
+ _folder="${BRANCH}/${folder}"
+ printf "Trying to sign packages in %s\\n" ${_folder}
if [ -d "hostdir/binpkgs/${folder}" ] ; then
- printf "Updating repodata in hostdir/binpkgs/%s\\n" ${folder}
- xbps-rindex --sign --signedby "XBPS-mini-builder" --privkey ../id_rsa "hostdir/binpkgs/${folder}/"
- printf "Signing packages in hostdir/binpkgs/%s\\n" ${folder}
- xbps-rindex --sign-pkg --privkey ../id_rsa hostdir/binpkgs/${folder}/*.xbps
+ printf "Updating repodata in hostdir/binpkgs/%s\\n" ${_folder}
+ xbps-rindex --sign --signedby "${SIGNED_BY}" --privkey "${PRIVATE_KEY}" "hostdir/binpkgs/${_folder}/"
+ printf "Signing packages in hostdir/binpkgs/%s\\n" ${_folder}
+ xbps-rindex --sign-pkg --privkey "${PRIVATE_KEY}" "hostdir/binpkgs/${_folder}"/*.xbps
fi
done