Fix PKGBUILD: build from local repo, options=(!lto) for Arch compat

Arch's makepkg LTO interferes with ring's asm objects. The standard
Arch workaround is options=(!lto) in the PKGBUILD. Also:
- Add backup= to CI release PKGBUILD for consistency
- Add /pkg/ and *.pkg.tar.zst to .gitignore
- Consolidate PKGBUILD changelog entries

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Roman Kivalin
2026-04-13 22:04:33 +02:00
co-authored by Claude Opus 4.6
parent f36b2f8559
commit 4ecd500a96
4 changed files with 17 additions and 20 deletions
+7 -11
View File
@@ -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'
+2
View File
@@ -1,2 +1,4 @@
/target
/testing
/pkg
certforge-*.pkg.tar.zst
+1
View File
@@ -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
+7 -9
View File
@@ -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"