fix(aur): fix PKGBUILD generation in CI workflow
- commit
- db98fcdfdaa22aece2d4235443c7c2b9d894acb7
- author
- bnema · · 2025-12-30 21:35 UTC
- parent
- f12840f
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
1 file · +53 -40
M .github/workflows/aur.yml +53 -40
| @@ -24,6 +24,7 @@ jobs: | |||
| 24 | 24 | VERSION=${TAG#v} | |
| 25 | 25 | echo "tag=${TAG}" >> $GITHUB_OUTPUT | |
| 26 | 26 | echo "version=${VERSION}" >> $GITHUB_OUTPUT | |
| 27 | + | echo "Publishing AUR package for $TAG (version $VERSION)" | |
| 27 | 28 | ||
| 28 | 29 | - name: Wait 1 hour before publishing | |
| 29 | 30 | run: | | |
| @@ -47,52 +48,64 @@ jobs: | |||
| 47 | 48 | - name: Download checksums | |
| 48 | 49 | id: checksum | |
| 49 | 50 | run: | | |
| 50 | - | curl -sL "https://github.com/bnema/dumber/releases/download/${{ steps.release.outputs.tag }}/checksums.txt" -o checksums.txt | |
| 51 | + | TAG="${{ steps.release.outputs.tag }}" | |
| 52 | + | curl -sL "https://github.com/bnema/dumber/releases/download/${TAG}/checksums.txt" -o checksums.txt | |
| 53 | + | cat checksums.txt | |
| 51 | 54 | SHA256=$(grep 'dumber_linux_x86_64.tar.gz' checksums.txt | cut -d' ' -f1) | |
| 55 | + | if [ -z "$SHA256" ]; then | |
| 56 | + | echo "::error::Failed to extract SHA256 from checksums.txt" | |
| 57 | + | exit 1 | |
| 58 | + | fi | |
| 52 | 59 | echo "sha256=${SHA256}" >> $GITHUB_OUTPUT | |
| 60 | + | echo "SHA256: ${SHA256}" | |
| 53 | 61 | ||
| 54 | 62 | - name: Generate PKGBUILD for dumber-browser-bin | |
| 55 | - | env: | |
| 56 | - | VERSION: ${{ steps.release.outputs.version }} | |
| 57 | - | SHA256: ${{ steps.checksum.outputs.sha256 }} | |
| 58 | 63 | run: | | |
| 64 | + | VERSION="${{ steps.release.outputs.version }}" | |
| 65 | + | SHA256="${{ steps.checksum.outputs.sha256 }}" | |
| 66 | + | ||
| 59 | 67 | mkdir -p pkgbuild/dumber-browser-bin | |
| 60 | - | cat > pkgbuild/dumber-browser-bin/PKGBUILD << EOF | |
| 61 | - | # Maintainer: bnema <b at bnema dot dev> | |
| 62 | - | pkgname=dumber-browser-bin | |
| 63 | - | pkgver=${VERSION} | |
| 64 | - | pkgrel=1 | |
| 65 | - | pkgdesc="A minimal keyboard-driven browser for tiling WMs" | |
| 66 | - | arch=('x86_64') | |
| 67 | - | url="https://github.com/bnema/dumber" | |
| 68 | - | license=('MIT') | |
| 69 | - | depends=('gtk4' 'webkitgtk-6.0') | |
| 70 | - | optdepends=( | |
| 71 | - | 'gstreamer: Media playback support' | |
| 72 | - | 'gst-plugins-base: Base media codecs' | |
| 73 | - | 'gst-plugins-good: Additional media codecs' | |
| 74 | - | 'gst-plugins-bad: Extended media codecs' | |
| 75 | - | 'gst-libav: FFmpeg-based codecs' | |
| 76 | - | ) | |
| 77 | - | provides=('dumber-browser' 'dumber') | |
| 78 | - | conflicts=('dumber-browser' 'dumber-browser-git') | |
| 79 | - | source=("\${pkgname}-\${pkgver}.tar.gz::https://github.com/bnema/dumber/releases/download/v\${pkgver}/dumber_linux_x86_64.tar.gz" | |
| 80 | - | "dev.bnema.Dumber.desktop::https://raw.githubusercontent.com/bnema/dumber/v\${pkgver}/dev.bnema.Dumber.desktop" | |
| 81 | - | "logo-512.png::https://raw.githubusercontent.com/bnema/dumber/v\${pkgver}/assets/logo-512.png" | |
| 82 | - | "LICENSE::https://raw.githubusercontent.com/bnema/dumber/v\${pkgver}/LICENSE") | |
| 83 | - | sha256sums=('${SHA256}' | |
| 84 | - | 'SKIP' | |
| 85 | - | 'SKIP' | |
| 86 | - | 'SKIP') | |
| 87 | - | ||
| 88 | - | package() { | |
| 89 | - | cd "dumber_\${pkgver}" | |
| 90 | - | install -Dm755 dumber "\${pkgdir}/usr/bin/dumber" | |
| 91 | - | install -Dm644 "\${srcdir}/dev.bnema.Dumber.desktop" "\${pkgdir}/usr/share/applications/dev.bnema.Dumber.desktop" | |
| 92 | - | install -Dm644 "\${srcdir}/logo-512.png" "\${pkgdir}/usr/share/icons/hicolor/512x512/apps/dev.bnema.Dumber.png" | |
| 93 | - | install -Dm644 LICENSE "\${pkgdir}/usr/share/licenses/\${pkgname}/LICENSE" | |
| 94 | - | } | |
| 95 | - | EOF | |
| 68 | + | ||
| 69 | + | # Write PKGBUILD using printf to avoid heredoc issues | |
| 70 | + | printf '%s\n' \ | |
| 71 | + | '# Maintainer: bnema <b at bnema dot dev>' \ | |
| 72 | + | 'pkgname=dumber-browser-bin' \ | |
| 73 | + | "pkgver=${VERSION}" \ | |
| 74 | + | 'pkgrel=1' \ | |
| 75 | + | 'pkgdesc="A minimal keyboard-driven browser for tiling WMs"' \ | |
| 76 | + | "arch=('x86_64')" \ | |
| 77 | + | 'url="https://github.com/bnema/dumber"' \ | |
| 78 | + | "license=('MIT')" \ | |
| 79 | + | "depends=('gtk4' 'webkitgtk-6.0')" \ | |
| 80 | + | 'optdepends=(' \ | |
| 81 | + | " 'gstreamer: Media playback support'" \ | |
| 82 | + | " 'gst-plugins-base: Base media codecs'" \ | |
| 83 | + | " 'gst-plugins-good: Additional media codecs'" \ | |
| 84 | + | " 'gst-plugins-bad: Extended media codecs'" \ | |
| 85 | + | " 'gst-libav: FFmpeg-based codecs'" \ | |
| 86 | + | ')' \ | |
| 87 | + | "provides=('dumber-browser' 'dumber')" \ | |
| 88 | + | "conflicts=('dumber-browser' 'dumber-browser-git')" \ | |
| 89 | + | 'source=("${pkgname}-${pkgver}.tar.gz::https://github.com/bnema/dumber/releases/download/v${pkgver}/dumber_linux_x86_64.tar.gz"' \ | |
| 90 | + | ' "dev.bnema.Dumber.desktop::https://raw.githubusercontent.com/bnema/dumber/v${pkgver}/dev.bnema.Dumber.desktop"' \ | |
| 91 | + | ' "logo-512.png::https://raw.githubusercontent.com/bnema/dumber/v${pkgver}/assets/logo-512.png"' \ | |
| 92 | + | ' "LICENSE::https://raw.githubusercontent.com/bnema/dumber/v${pkgver}/LICENSE")' \ | |
| 93 | + | "sha256sums=('${SHA256}'" \ | |
| 94 | + | " 'SKIP'" \ | |
| 95 | + | " 'SKIP'" \ | |
| 96 | + | " 'SKIP')" \ | |
| 97 | + | '' \ | |
| 98 | + | 'package() {' \ | |
| 99 | + | ' cd "dumber_${pkgver}"' \ | |
| 100 | + | ' install -Dm755 dumber "${pkgdir}/usr/bin/dumber"' \ | |
| 101 | + | ' install -Dm644 "${srcdir}/dev.bnema.Dumber.desktop" "${pkgdir}/usr/share/applications/dev.bnema.Dumber.desktop"' \ | |
| 102 | + | ' install -Dm644 "${srcdir}/logo-512.png" "${pkgdir}/usr/share/icons/hicolor/512x512/apps/dev.bnema.Dumber.png"' \ | |
| 103 | + | ' install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"' \ | |
| 104 | + | '}' \ | |
| 105 | + | > pkgbuild/dumber-browser-bin/PKGBUILD | |
| 106 | + | ||
| 107 | + | echo "Generated PKGBUILD:" | |
| 108 | + | cat pkgbuild/dumber-browser-bin/PKGBUILD | |
| 96 | 109 | ||
| 97 | 110 | - name: Publish dumber-browser-bin to AUR | |
| 98 | 111 | uses: KSXGitHub/github-actions-deploy-aur@v4.1.1 | |
| @@ -24,6 +24,7 @@ jobs: | |||||
| 24 | VERSION=${TAG#v} | 24 | VERSION=${TAG#v} | ||
| 25 | echo "tag=${TAG}" >> $GITHUB_OUTPUT | 25 | echo "tag=${TAG}" >> $GITHUB_OUTPUT | ||
| 26 | echo "version=${VERSION}" >> $GITHUB_OUTPUT | 26 | echo "version=${VERSION}" >> $GITHUB_OUTPUT | ||
| 27 | + | echo "Publishing AUR package for $TAG (version $VERSION)" | |||
| 27 | 28 | ||||
| 28 | - name: Wait 1 hour before publishing | 29 | - name: Wait 1 hour before publishing | ||
| 29 | run: | | 30 | run: | | ||
| @@ -47,52 +48,64 @@ jobs: | |||||
| 47 | - name: Download checksums | 48 | - name: Download checksums | ||
| 48 | id: checksum | 49 | id: checksum | ||
| 49 | run: | | 50 | run: | | ||
| 50 | - | curl -sL "https://github.com/bnema/dumber/releases/download/${{ steps.release.outputs.tag }}/checksums.txt" -o checksums.txt | 51 | + | TAG="${{ steps.release.outputs.tag }}" |
| 52 | + | curl -sL "https://github.com/bnema/dumber/releases/download/${TAG}/checksums.txt" -o checksums.txt | |||
| 53 | + | cat checksums.txt | |||
| 51 | SHA256=$(grep 'dumber_linux_x86_64.tar.gz' checksums.txt | cut -d' ' -f1) | 54 | SHA256=$(grep 'dumber_linux_x86_64.tar.gz' checksums.txt | cut -d' ' -f1) | ||
| 55 | + | if [ -z "$SHA256" ]; then | |||
| 56 | + | echo "::error::Failed to extract SHA256 from checksums.txt" | |||
| 57 | + | exit 1 | |||
| 58 | + | fi | |||
| 52 | echo "sha256=${SHA256}" >> $GITHUB_OUTPUT | 59 | echo "sha256=${SHA256}" >> $GITHUB_OUTPUT | ||
| 60 | + | echo "SHA256: ${SHA256}" | |||
| 53 | 61 | ||||
| 54 | - name: Generate PKGBUILD for dumber-browser-bin | 62 | - name: Generate PKGBUILD for dumber-browser-bin | ||
| 55 | - | env: | |||
| 56 | - | VERSION: ${{ steps.release.outputs.version }} | |||
| 57 | - | SHA256: ${{ steps.checksum.outputs.sha256 }} | |||
| 58 | run: | | 63 | run: | | ||
| 64 | + | VERSION="${{ steps.release.outputs.version }}" | |||
| 65 | + | SHA256="${{ steps.checksum.outputs.sha256 }}" | |||
| 66 | + | ||||
| 59 | mkdir -p pkgbuild/dumber-browser-bin | 67 | mkdir -p pkgbuild/dumber-browser-bin | ||
| 60 | - | cat > pkgbuild/dumber-browser-bin/PKGBUILD << EOF | 68 | + | |
| 61 | - | # Maintainer: bnema <b at bnema dot dev> | 69 | + | # Write PKGBUILD using printf to avoid heredoc issues |
| 62 | - | pkgname=dumber-browser-bin | 70 | + | printf '%s\n' \ |
| 63 | - | pkgver=${VERSION} | 71 | + | '# Maintainer: bnema <b at bnema dot dev>' \ |
| 64 | - | pkgrel=1 | 72 | + | 'pkgname=dumber-browser-bin' \ |
| 65 | - | pkgdesc="A minimal keyboard-driven browser for tiling WMs" | 73 | + | "pkgver=${VERSION}" \ |
| 66 | - | arch=('x86_64') | 74 | + | 'pkgrel=1' \ |
| 67 | - | url="https://github.com/bnema/dumber" | 75 | + | 'pkgdesc="A minimal keyboard-driven browser for tiling WMs"' \ |
| 68 | - | license=('MIT') | 76 | + | "arch=('x86_64')" \ |
| 69 | - | depends=('gtk4' 'webkitgtk-6.0') | 77 | + | 'url="https://github.com/bnema/dumber"' \ |
| 70 | - | optdepends=( | 78 | + | "license=('MIT')" \ |
| 71 | - | 'gstreamer: Media playback support' | 79 | + | "depends=('gtk4' 'webkitgtk-6.0')" \ |
| 72 | - | 'gst-plugins-base: Base media codecs' | 80 | + | 'optdepends=(' \ |
| 73 | - | 'gst-plugins-good: Additional media codecs' | 81 | + | " 'gstreamer: Media playback support'" \ |
| 74 | - | 'gst-plugins-bad: Extended media codecs' | 82 | + | " 'gst-plugins-base: Base media codecs'" \ |
| 75 | - | 'gst-libav: FFmpeg-based codecs' | 83 | + | " 'gst-plugins-good: Additional media codecs'" \ |
| 76 | - | ) | 84 | + | " 'gst-plugins-bad: Extended media codecs'" \ |
| 77 | - | provides=('dumber-browser' 'dumber') | 85 | + | " 'gst-libav: FFmpeg-based codecs'" \ |
| 78 | - | conflicts=('dumber-browser' 'dumber-browser-git') | 86 | + | ')' \ |
| 79 | - | source=("\${pkgname}-\${pkgver}.tar.gz::https://github.com/bnema/dumber/releases/download/v\${pkgver}/dumber_linux_x86_64.tar.gz" | 87 | + | "provides=('dumber-browser' 'dumber')" \ |
| 80 | - | "dev.bnema.Dumber.desktop::https://raw.githubusercontent.com/bnema/dumber/v\${pkgver}/dev.bnema.Dumber.desktop" | 88 | + | "conflicts=('dumber-browser' 'dumber-browser-git')" \ |
| 81 | - | "logo-512.png::https://raw.githubusercontent.com/bnema/dumber/v\${pkgver}/assets/logo-512.png" | 89 | + | 'source=("${pkgname}-${pkgver}.tar.gz::https://github.com/bnema/dumber/releases/download/v${pkgver}/dumber_linux_x86_64.tar.gz"' \ |
| 82 | - | "LICENSE::https://raw.githubusercontent.com/bnema/dumber/v\${pkgver}/LICENSE") | 90 | + | ' "dev.bnema.Dumber.desktop::https://raw.githubusercontent.com/bnema/dumber/v${pkgver}/dev.bnema.Dumber.desktop"' \ |
| 83 | - | sha256sums=('${SHA256}' | 91 | + | ' "logo-512.png::https://raw.githubusercontent.com/bnema/dumber/v${pkgver}/assets/logo-512.png"' \ |
| 84 | - | 'SKIP' | 92 | + | ' "LICENSE::https://raw.githubusercontent.com/bnema/dumber/v${pkgver}/LICENSE")' \ |
| 85 | - | 'SKIP' | 93 | + | "sha256sums=('${SHA256}'" \ |
| 86 | - | 'SKIP') | 94 | + | " 'SKIP'" \ |
| 87 | - | 95 | + | " 'SKIP'" \ | |
| 88 | - | package() { | 96 | + | " 'SKIP')" \ |
| 89 | - | cd "dumber_\${pkgver}" | 97 | + | '' \ |
| 90 | - | install -Dm755 dumber "\${pkgdir}/usr/bin/dumber" | 98 | + | 'package() {' \ |
| 91 | - | install -Dm644 "\${srcdir}/dev.bnema.Dumber.desktop" "\${pkgdir}/usr/share/applications/dev.bnema.Dumber.desktop" | 99 | + | ' cd "dumber_${pkgver}"' \ |
| 92 | - | install -Dm644 "\${srcdir}/logo-512.png" "\${pkgdir}/usr/share/icons/hicolor/512x512/apps/dev.bnema.Dumber.png" | 100 | + | ' install -Dm755 dumber "${pkgdir}/usr/bin/dumber"' \ |
| 93 | - | install -Dm644 LICENSE "\${pkgdir}/usr/share/licenses/\${pkgname}/LICENSE" | 101 | + | ' install -Dm644 "${srcdir}/dev.bnema.Dumber.desktop" "${pkgdir}/usr/share/applications/dev.bnema.Dumber.desktop"' \ |
| 94 | - | } | 102 | + | ' install -Dm644 "${srcdir}/logo-512.png" "${pkgdir}/usr/share/icons/hicolor/512x512/apps/dev.bnema.Dumber.png"' \ |
| 95 | - | EOF | 103 | + | ' install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"' \ |
| 104 | + | '}' \ | |||
| 105 | + | > pkgbuild/dumber-browser-bin/PKGBUILD | |||
| 106 | + | ||||
| 107 | + | echo "Generated PKGBUILD:" | |||
| 108 | + | cat pkgbuild/dumber-browser-bin/PKGBUILD | |||
| 96 | 109 | ||||
| 97 | - name: Publish dumber-browser-bin to AUR | 110 | - name: Publish dumber-browser-bin to AUR | ||
| 98 | uses: KSXGitHub/github-actions-deploy-aur@v4.1.1 | 111 | uses: KSXGitHub/github-actions-deploy-aur@v4.1.1 | ||