aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKunoiSayami <[email protected]>2021-10-25 18:01:49 +0800
committerKunoiSayami <[email protected]>2021-10-25 18:01:49 +0800
commit766b1246a9b12078d54e5b66966a5b69c5dd4586 (patch)
tree4ee3d6e48ee13e7aa76c36ebd0a9e4cccb02f185
parent0d02ab2f8032e540061c82d90022be4b6c6ceea3 (diff)
feat(script): Split package database related to another script
Signed-off-by: KunoiSayami <[email protected]>
-rwxr-xr-xpkgbuild.sh28
-rwxr-xr-xrepodb.sh22
2 files changed, 40 insertions, 10 deletions
diff --git a/pkgbuild.sh b/pkgbuild.sh
index 3db9621..ae14b4e 100755
--- a/pkgbuild.sh
+++ b/pkgbuild.sh
@@ -1,12 +1,10 @@
#!/bin/bash
-REPO_BASE_NAME="kunoisayami"
ARCH=$(uname -m)
PKGBUILD_DIRECTORY_BASE="repo"
PKGDEST="${PWD}/packages/$ARCH"
SRCDEST="${PWD}/build"
CONFDEST="${PWD}/makepkg.d/makepkg.$ARCH.conf"
-REPO_DEST="${PWD}/packages/$ARCH/$REPO_BASE_NAME.db.tar.xz"
REPO_PENDING="${PWD}/packages/$ARCH/PENDING"
REPO_DIFF="${PWD}/packages/$ARCH/DIFF"
@@ -18,9 +16,7 @@ cat "$CONFDEST" >> "$TMPCONF"
touch "$REPO_DIFF"
touch "$REPO_PENDING"
-if [ $# -gt 0 ] && [ "$1" = "--all" ]; then
- ls $PKGBUILD_DIRECTORY_BASE > "$REPO_DIFF"
-else
+function get_diff_list {
git diff --name-only HEAD^ | while read line; do
if [[ $line =~ $PKGBUILD_DIRECTORY_BASE ]]; then
echo "$line" | cut -d'/' -f2 >> "$REPO_DIFF"
@@ -29,6 +25,17 @@ else
cp "$REPO_DIFF" "${REPO_DIFF}_tmp"
sort "${REPO_DIFF}_tmp" | uniq -u > "$REPO_DIFF"
rm -rf "${REPO_DIFF}_tmp"
+}
+
+if [ $# -gt 0 ] && [ "$1" = "--diff" ]; then
+ get_diff_list
+ exit 0
+fi
+
+if [ $# -gt 0 ] && [ "$1" = "--all" ]; then
+ ls $PKGBUILD_DIRECTORY_BASE > "$REPO_DIFF"
+else
+ get_diff_list
fi
pushd $PKGBUILD_DIRECTORY_BASE || ( echo "Error, can't switch to pkgbuild directory" && exit 1 )
@@ -46,12 +53,13 @@ done < "$REPO_DIFF"
popd
-while read PACKAGE_NAME; do
- LATEST=$(ls -t "$PKGDEST/$PACKAGE_NAME"* | grep -v ".sig" | head -n 1 | cut -d' ' -f1)
- repo-add "$REPO_DEST" "$LATEST" -s -v -R -k 4A0F0C8BC709ACA4341767FB243975C8DB9656B9
-done < "$REPO_PENDING"
+if [ -z "${BUILD_ONLY+x}" ]; then
+ ./repodb.sh < "$REPO_PENDING"
+else
+ echo "Add package to database is skipped"
+fi
-echo $(date +%s) > "$PKGDEST/LASTBUILD"
+date +%s > "$PKGDEST/LASTBUILD"
unset PACKAGE_NAME
unset PKGDEST
diff --git a/repodb.sh b/repodb.sh
new file mode 100755
index 0000000..7ac8533
--- /dev/null
+++ b/repodb.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+REPO_BASE_NAME="kunoisayami"
+ARCH=$(uname -m)
+PKGDEST="${PWD}/packages/$ARCH"
+REPO_DEST="${PWD}/packages/$ARCH/$REPO_BASE_NAME.db.tar.xz"
+GPG_KEY="4A0F0C8BC709ACA4341767FB243975C8DB9656B9"
+
+while read PACKAGE_NAME; do
+ #LATEST=$(ls -t "$PKGDEST/$PACKAGE_NAME"* | grep -v ".sig" | head -n 1 | cut -d' ' -f1)
+ if [ -z $PACKAGE_NAME ]; then
+ continue
+ fi
+ repo-add "$REPO_DEST" "$PACKAGENAME" -s -v -R -k $GPG_KEY
+done
+
+unset ARCH
+unset PKGDEST
+unset REPO_DEST
+unset GPG_KEY
+unset PACKAGE_NAME
+unset LATEST \ No newline at end of file