diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 3b2263c..d6dcfcf 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -87,26 +87,22 @@ jobs: url='https://github.com/rkivalin/certforge' license=('MIT') depends=('systemd-libs') - source=("certforge-amd64.tar.gz" - "certforge.service" - "certforge.timer" - "config.toml") - sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP') + backup=('etc/certforge/config.toml') + source=("certforge-amd64.tar.gz") + sha256sums=('SKIP') package() { install -Dm755 "$srcdir/certforge" "$pkgdir/usr/bin/certforge" - install -Dm644 "$srcdir/certforge.service" "$pkgdir/usr/lib/systemd/system/certforge.service" - install -Dm644 "$srcdir/certforge.timer" "$pkgdir/usr/lib/systemd/system/certforge.timer" - install -Dm644 "$srcdir/config.toml" "$pkgdir/etc/certforge/config.toml" + install -Dm644 "$startdir/examples/certforge.service" "$pkgdir/usr/lib/systemd/system/certforge.service" + install -Dm644 "$startdir/examples/certforge.timer" "$pkgdir/usr/lib/systemd/system/certforge.timer" + install -Dm644 "$startdir/examples/config.toml" "$pkgdir/etc/certforge/config.toml" + install -Dm644 "$startdir/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" install -dm750 "$pkgdir/etc/certforge/certs" install -dm700 "$pkgdir/var/lib/certforge" } PKGEOF sed -i "s/VERSION_PLACEHOLDER/$VERSION/" PKGBUILD - # Place source files where makepkg expects them - cp examples/certforge.service examples/certforge.timer examples/config.toml . - useradd -m builder chown -R builder:builder . su builder -c 'makepkg --noconfirm --skipinteg' diff --git a/.gitignore b/.gitignore index 08a7e13..21098d2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ /target /testing +/pkg +certforge-*.pkg.tar.zst diff --git a/CHANGELOG.md b/CHANGELOG.md index 27c2e22..5e292d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ ### Fixes - Add HMAC-SHA-384 TSIG algorithm support +- Fix PKGBUILD to build from local repo checkout with `options=(!lto)` for Arch compatibility ### Known limitations diff --git a/PKGBUILD b/PKGBUILD index e80d537..ce8ba18 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -7,40 +7,38 @@ arch=('x86_64' 'aarch64') url='https://github.com/rkivalin/certforge' license=('MIT') depends=('systemd-libs') -makedepends=('cargo') +makedepends=('rustup') backup=('etc/certforge/config.toml') -source=("$pkgname-$pkgver.tar.gz") -sha256sums=('SKIP') +options=(!lto) prepare() { - cd "$pkgname-$pkgver" + cd "$startdir" export RUSTUP_TOOLCHAIN=stable cargo fetch --locked --target "$( rustc -vV | sed -n 's/host: //p' )" } build() { - cd "$pkgname-$pkgver" + cd "$startdir" export RUSTUP_TOOLCHAIN=stable export CARGO_TARGET_DIR=target cargo build --frozen --release } check() { - cd "$pkgname-$pkgver" + cd "$startdir" export RUSTUP_TOOLCHAIN=stable export CARGO_TARGET_DIR=target cargo test --frozen } package() { - cd "$pkgname-$pkgver" + cd "$startdir" install -Dm755 "target/release/$pkgname" "$pkgdir/usr/bin/$pkgname" - install -Dm644 examples/certforge.service "$pkgdir/usr/lib/systemd/system/certforge.service" install -Dm644 examples/certforge.timer "$pkgdir/usr/lib/systemd/system/certforge.timer" - install -Dm644 examples/config.toml "$pkgdir/etc/certforge/config.toml" + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" install -dm750 "$pkgdir/etc/certforge/certs" install -dm700 "$pkgdir/var/lib/certforge"