From 4cb65dddd9289eb28086bddcbf919e3d01e0ad60 Mon Sep 17 00:00:00 2001 From: James Waters Date: Sun, 29 Aug 2021 23:55:28 +0100 Subject: [PATCH 1/2] Get pkgname from pkgbuild --- README.md | 2 +- action.yml | 4 ++-- build.sh | 20 +++++++++++++++++++- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 482efd4..9e6b73f 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ GitHub Actions to publish AUR package. ### `pkgname` -**Required** AUR package name. +**Optional** AUR package name. If not specified the name will be extracted from the PKGBUILD file. ### `pkgbuild` diff --git a/action.yml b/action.yml index 56cfdab..9433612 100644 --- a/action.yml +++ b/action.yml @@ -6,8 +6,8 @@ branding: icon: package inputs: pkgname: - description: 'AUR package name' - required: true + description: 'AUR package name, extracted from PKGBUILD if not specified' + required: false pkgbuild: description: 'Path to PKGBUILD file' required: true diff --git a/build.sh b/build.sh index a0a0991..6cb1629 100755 --- a/build.sh +++ b/build.sh @@ -23,7 +23,6 @@ assert_non_empty() { fi } -assert_non_empty inputs.pkgname "$pkgname" assert_non_empty inputs.pkgbuild "$pkgbuild" assert_non_empty inputs.commit_username "$commit_username" assert_non_empty inputs.commit_email "$commit_email" @@ -53,6 +52,25 @@ git config --global user.name "$commit_username" git config --global user.email "$commit_email" echo '::endgroup::' +echo '::group::Getting pkgname' +if [[ -z "$pkgname" ]]; then + echo 'Extracting pkgname from PKGBUILD' + + mkdir -p /tmp/makepkg + cp "$pkgbuild" /tmp/makepkg/PKGBUILD + info=$(cd /tmp/makepkg; makepkg --printsrcinfo) + + pattern='pkgname = ([a-z0-9@._+-]*)' + [[ "$info" =~ $pattern ]] + + pkgname="${BASH_REMATCH[1]}" + echo "Got pkgname '$pkgname'" +else + echo "Using pkgname '$pkgname' from argument" + assert_non_empty inputs.pkgname "$pkgname" +fi +echo '::endgroup::' + echo '::group::Cloning AUR package into /tmp/local-repo' git clone -v "https://aur.archlinux.org/${pkgname}.git" /tmp/local-repo echo '::endgroup::' From a0a6df3a94a43b720084a8995a967c21da0cbb7e Mon Sep 17 00:00:00 2001 From: James Waters Date: Mon, 30 Aug 2021 01:48:48 +0100 Subject: [PATCH 2/2] Default value for pkgbuild --- README.md | 2 +- action.yml | 3 ++- build.sh | 1 - 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9e6b73f..2bcdffe 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ GitHub Actions to publish AUR package. ### `pkgbuild` -**Required** Path to PKGBUILD file. This file is often generated by prior steps. +**Optional** Path to PKGBUILD file. This file is often generated by prior steps. The default value is './PKGBUILD' ### `assets` diff --git a/action.yml b/action.yml index 9433612..6e5ed84 100644 --- a/action.yml +++ b/action.yml @@ -10,7 +10,8 @@ inputs: required: false pkgbuild: description: 'Path to PKGBUILD file' - required: true + default: './PKGBUILD' + required: false assets: description: 'Newline-separated glob patterns for additional files to be added to the AUR repository' required: false diff --git a/build.sh b/build.sh index 6cb1629..b8adf7c 100755 --- a/build.sh +++ b/build.sh @@ -23,7 +23,6 @@ assert_non_empty() { fi } -assert_non_empty inputs.pkgbuild "$pkgbuild" assert_non_empty inputs.commit_username "$commit_username" assert_non_empty inputs.commit_email "$commit_email" assert_non_empty inputs.ssh_private_key "$ssh_private_key"