diff --git a/.agents/skills/create-package/SKILL.md b/.agents/skills/create-package/SKILL.md index 5c77492..df2cfe7 100644 --- a/.agents/skills/create-package/SKILL.md +++ b/.agents/skills/create-package/SKILL.md @@ -16,7 +16,17 @@ Obtain: length limit. (255 characters) - Either a GitHub repository or releases URL, or an AUR package name/URL. -Use a `-bin` suffix for packages that redistribute upstream prebuilt binaries. +Choose the package name based on the available package alternatives, not only on +the source format: + +- Use a `-bin` suffix when an unsuffixed source-built package exists in this + repository or is being added as the parallel alternative. +- Use the unsuffixed name when this repository has no source-built counterpart, + even if the package redistributes upstream prebuilt binaries. Do not create a + new `-bin` variant solely because the release asset is a binary archive. +- Before choosing the name, inspect the repository's top-level package + directories for an unsuffixed source package and any related package + relationships. Do not overwrite an existing package directory. Before writing the final PKGBUILD, confirm the upstream license, supported architectures, release format, and runtime, build, and test requirements. @@ -187,11 +197,13 @@ staged installs; never run `make install` against the live filesystem. Do not move build outputs from `${srcdir}` into `${pkgdir}`, because that breaks `makepkg --repackage`. -For prebuilt binaries, normally use `options=('!debug' '!strip')`, declare -matching `provides`/`conflicts` when replacing an unsuffixed package, and -install upstream license and useful documentation files. Use an install script -only when a pacman lifecycle action is genuinely required; do not end an -`.install` script with `exit`. +For prebuilt binaries, normally use `options=('!debug' '!strip')`. When the +package uses a `-bin` name alongside an unsuffixed source package, declare +matching versioned `provides` and `conflicts` (and `replaces` only for a real +package transition). Do not add those relations merely because the package +contains prebuilt files. Install upstream license and useful documentation +files. Use an install script only when a pacman lifecycle action is genuinely +required; do not end an `.install` script with `exit`. ## Finalize And Validate diff --git a/1password/1password-8.12.30.x64.tar.gz.signature b/1password/1password-8.12.30.x64.tar.gz.signature new file mode 100644 index 0000000..72499e9 Binary files /dev/null and b/1password/1password-8.12.30.x64.tar.gz.signature differ diff --git a/deja-bin/.SRCINFO b/deja/.SRCINFO similarity index 84% rename from deja-bin/.SRCINFO rename to deja/.SRCINFO index 9059987..86b3121 100644 --- a/deja-bin/.SRCINFO +++ b/deja/.SRCINFO @@ -1,4 +1,4 @@ -pkgbase = deja-bin +pkgbase = deja pkgdesc = Predictive inline shell autosuggestions for zsh pkgver = 0.4.1 pkgrel = 3 @@ -7,11 +7,9 @@ pkgbase = deja-bin license = MIT depends = glibc depends = zsh - provides = deja=0.4.1 - conflicts = deja options = !debug options = !strip source_x86_64 = https://github.com/Giammarco-Ferranti/deja/releases/download/v0.4.1/deja_0.4.1_linux_amd64.tar.gz sha256sums_x86_64 = 856ed143d73e1c1350ffd3f410300d40877b08bc3c8121006424f0ee61b4d68a -pkgname = deja-bin +pkgname = deja diff --git a/deja-bin/.gitignore b/deja/.gitignore similarity index 100% rename from deja-bin/.gitignore rename to deja/.gitignore diff --git a/deja-bin/LICENSE b/deja/LICENSE similarity index 100% rename from deja-bin/LICENSE rename to deja/LICENSE diff --git a/deja-bin/PKGBUILD b/deja/PKGBUILD similarity index 91% rename from deja-bin/PKGBUILD rename to deja/PKGBUILD index f9e06a9..7c855e8 100644 --- a/deja-bin/PKGBUILD +++ b/deja/PKGBUILD @@ -1,5 +1,5 @@ # Maintainer: Travis Lyons -pkgname=deja-bin +pkgname=deja pkgver=0.4.1 # renovate: datasource=github-tags depName=Giammarco-Ferranti/deja pkgrel=3 pkgdesc="Predictive inline shell autosuggestions for zsh" @@ -7,8 +7,6 @@ arch=('x86_64') url="https://github.com/Giammarco-Ferranti/deja" license=('MIT') depends=('glibc' 'zsh') -provides=("deja=${pkgver}") -conflicts=('deja') options=('!debug' '!strip') source_x86_64=("${url}/releases/download/v${pkgver}/deja_${pkgver}_linux_amd64.tar.gz") sha256sums_x86_64=('856ed143d73e1c1350ffd3f410300d40877b08bc3c8121006424f0ee61b4d68a') diff --git a/deja-bin/REUSE.toml b/deja/REUSE.toml similarity index 100% rename from deja-bin/REUSE.toml rename to deja/REUSE.toml diff --git a/opencode-desktop-bin/.SRCINFO b/opencode-desktop/.SRCINFO similarity index 77% rename from opencode-desktop-bin/.SRCINFO rename to opencode-desktop/.SRCINFO index b8282bf..9026d59 100644 --- a/opencode-desktop-bin/.SRCINFO +++ b/opencode-desktop/.SRCINFO @@ -1,4 +1,4 @@ -pkgbase = opencode-desktop-bin +pkgbase = opencode-desktop pkgdesc = Open source AI coding agent desktop client pkgver = 1.18.21 pkgrel = 2 @@ -39,14 +39,12 @@ pkgbase = opencode-desktop-bin depends = util-linux-libs depends = xdg-utils optdepends = libappindicator-gtk3: tray icon support - provides = opencode-desktop=1.18.21 - conflicts = opencode-desktop - noextract = opencode-desktop-bin-1.18.21-amd64.deb + noextract = opencode-desktop-1.18.21-amd64.deb options = !debug options = !strip source = LICENSE-1.18.21::https://raw.githubusercontent.com/anomalyco/opencode/v1.18.21/LICENSE sha256sums = 625f0f619133f89bbbb2abe37369613dfa1885eba1e50d02170deb62bb42cb6b - source_x86_64 = opencode-desktop-bin-1.18.21-amd64.deb::https://github.com/anomalyco/opencode/releases/download/v1.18.21/opencode-desktop-linux-amd64.deb + source_x86_64 = opencode-desktop-1.18.21-amd64.deb::https://github.com/anomalyco/opencode/releases/download/v1.18.21/opencode-desktop-linux-amd64.deb sha256sums_x86_64 = 5d5149057674388c73f3b8a6d3e776cba6fa75b26536482dbf03ff6e53d4fc26 -pkgname = opencode-desktop-bin +pkgname = opencode-desktop diff --git a/opencode-desktop-bin/.gitignore b/opencode-desktop/.gitignore similarity index 100% rename from opencode-desktop-bin/.gitignore rename to opencode-desktop/.gitignore diff --git a/opencode-desktop-bin/PKGBUILD b/opencode-desktop/PKGBUILD similarity index 95% rename from opencode-desktop-bin/PKGBUILD rename to opencode-desktop/PKGBUILD index 1cd5df7..31bdc80 100644 --- a/opencode-desktop-bin/PKGBUILD +++ b/opencode-desktop/PKGBUILD @@ -1,5 +1,5 @@ # Maintainer: Travis Lyons -pkgname=opencode-desktop-bin +pkgname=opencode-desktop pkgver=1.18.21 # renovate: datasource=github-tags depName=anomalyco/opencode pkgrel=2 pkgdesc="Open source AI coding agent desktop client" @@ -12,8 +12,6 @@ depends=('alsa-lib' 'at-spi2-core' 'cairo' 'dbus' 'expat' 'glib2' 'glibc' 'libxrandr' 'libxss' 'libxtst' 'mesa' 'nspr' 'nss' 'pango' 'ripgrep' 'systemd-libs' 'util-linux-libs' 'xdg-utils') optdepends=('libappindicator-gtk3: tray icon support') -provides=("opencode-desktop=${pkgver}") -conflicts=('opencode-desktop') options=('!debug' '!strip') noextract=("${pkgname}-${pkgver}-amd64.deb") source=("LICENSE-${pkgver}::https://raw.githubusercontent.com/anomalyco/opencode/v${pkgver}/LICENSE") diff --git a/opencode-desktop-bin/REUSE.toml b/opencode-desktop/REUSE.toml similarity index 100% rename from opencode-desktop-bin/REUSE.toml rename to opencode-desktop/REUSE.toml diff --git a/pkgdepot-bin/.SRCINFO b/pkgdepot/.SRCINFO similarity index 52% rename from pkgdepot-bin/.SRCINFO rename to pkgdepot/.SRCINFO index ed79aae..acbeab0 100644 --- a/pkgdepot-bin/.SRCINFO +++ b/pkgdepot/.SRCINFO @@ -1,15 +1,13 @@ -pkgbase = pkgdepot-bin +pkgbase = pkgdepot pkgdesc = Arch Linux package repository server pkgver = 0.3.0 pkgrel = 2 url = https://github.com/trly/pkgdepot arch = x86_64 license = MIT - provides = pkgdepot=0.3.0 - conflicts = pkgdepot options = !debug options = !strip - source = pkgdepot-bin-0.3.0-linux-amd64.tar.gz::https://github.com/trly/pkgdepot/releases/download/v0.3.0/pkgdepot_0.3.0_linux_amd64.tar.gz + source = pkgdepot-0.3.0-linux-amd64.tar.gz::https://github.com/trly/pkgdepot/releases/download/v0.3.0/pkgdepot_0.3.0_linux_amd64.tar.gz sha256sums = 8bb75b38f9369323990d868d065b6d118c56db3dd13c4f1757b854dc91da33e5 -pkgname = pkgdepot-bin +pkgname = pkgdepot diff --git a/pkgdepot/.gitignore b/pkgdepot/.gitignore new file mode 100644 index 0000000..177522a --- /dev/null +++ b/pkgdepot/.gitignore @@ -0,0 +1,5 @@ +/pkg/ +/src/ +/*.pkg.tar.* +/*.src.tar.* +/pkgdepot-*.tar.gz diff --git a/pkgdepot-bin/PKGBUILD b/pkgdepot/PKGBUILD similarity index 90% rename from pkgdepot-bin/PKGBUILD rename to pkgdepot/PKGBUILD index b2366c5..d260bf2 100644 --- a/pkgdepot-bin/PKGBUILD +++ b/pkgdepot/PKGBUILD @@ -1,13 +1,11 @@ # Maintainer: Travis Lyons -pkgname=pkgdepot-bin +pkgname=pkgdepot pkgver=0.3.0 # renovate: datasource=github-tags depName=trly/pkgdepot pkgrel=2 pkgdesc="Arch Linux package repository server" arch=('x86_64') url="https://github.com/trly/pkgdepot" license=('MIT') -provides=("pkgdepot=${pkgver}") -conflicts=('pkgdepot') options=('!debug' '!strip') source=("${pkgname}-${pkgver}-linux-amd64.tar.gz::${url}/releases/download/v${pkgver}/pkgdepot_${pkgver}_linux_amd64.tar.gz") sha256sums=('8bb75b38f9369323990d868d065b6d118c56db3dd13c4f1757b854dc91da33e5') diff --git a/pkgdepot-bin/REUSE.toml b/pkgdepot/REUSE.toml similarity index 100% rename from pkgdepot-bin/REUSE.toml rename to pkgdepot/REUSE.toml diff --git a/scip-bin/.SRCINFO b/scip/.SRCINFO similarity index 57% rename from scip-bin/.SRCINFO rename to scip/.SRCINFO index 16146b2..b94962e 100644 --- a/scip-bin/.SRCINFO +++ b/scip/.SRCINFO @@ -1,15 +1,13 @@ -pkgbase = scip-bin +pkgbase = scip pkgdesc = Language-agnostic protocol for indexing source code pkgver = 0.9.0 pkgrel = 3 url = https://github.com/scip-code/scip arch = x86_64 license = Apache-2.0 - provides = scip=0.9.0 - conflicts = scip options = !debug options = !strip - source_x86_64 = scip-bin-0.9.0-linux-amd64.tar.gz::https://github.com/scip-code/scip/releases/download/v0.9.0/scip-linux-amd64.tar.gz + source_x86_64 = scip-0.9.0-linux-amd64.tar.gz::https://github.com/scip-code/scip/releases/download/v0.9.0/scip-linux-amd64.tar.gz sha256sums_x86_64 = fc2e7273e110be9f35924da1066000183791e8bfdb0391355de6eaaa070fec75 -pkgname = scip-bin +pkgname = scip diff --git a/scip-bin/.gitignore b/scip/.gitignore similarity index 100% rename from scip-bin/.gitignore rename to scip/.gitignore diff --git a/scip-bin/LICENSE b/scip/LICENSE similarity index 100% rename from scip-bin/LICENSE rename to scip/LICENSE diff --git a/scip-bin/PKGBUILD b/scip/PKGBUILD similarity index 90% rename from scip-bin/PKGBUILD rename to scip/PKGBUILD index 6919681..c70c43a 100644 --- a/scip-bin/PKGBUILD +++ b/scip/PKGBUILD @@ -1,13 +1,11 @@ # Maintainer: Travis Lyons -pkgname=scip-bin +pkgname=scip pkgver=0.9.0 # renovate: datasource=github-tags depName=scip-code/scip pkgrel=3 pkgdesc="Language-agnostic protocol for indexing source code" arch=('x86_64') url="https://github.com/scip-code/scip" license=('Apache-2.0') -provides=("scip=${pkgver}") -conflicts=('scip') options=('!debug' '!strip') source_x86_64=("${pkgname}-${pkgver}-linux-amd64.tar.gz::${url}/releases/download/v${pkgver}/scip-linux-amd64.tar.gz") sha256sums_x86_64=('fc2e7273e110be9f35924da1066000183791e8bfdb0391355de6eaaa070fec75') diff --git a/scip-bin/REUSE.toml b/scip/REUSE.toml similarity index 100% rename from scip-bin/REUSE.toml rename to scip/REUSE.toml diff --git a/spotatui-bin/.SRCINFO b/spotatui/.SRCINFO similarity index 78% rename from spotatui-bin/.SRCINFO rename to spotatui/.SRCINFO index b8c5806..49a5556 100644 --- a/spotatui-bin/.SRCINFO +++ b/spotatui/.SRCINFO @@ -1,4 +1,4 @@ -pkgbase = spotatui-bin +pkgbase = spotatui pkgdesc = A Spotify client for the terminal written in Rust, powered by Ratatui pkgver = 0.41.0 pkgrel = 3 @@ -12,15 +12,13 @@ pkgbase = spotatui-bin depends = pipewire optdepends = yt-dlp: YouTube playback support optdepends = ffmpeg: improved YouTube playback support - provides = spotatui=0.41.0 - conflicts = spotatui options = !debug options = !strip - source = spotatui-bin-0.41.0-x86_64.tar.gz::https://github.com/LargeModGames/spotatui/releases/download/v0.41.0/spotatui-linux-x86_64.tar.gz + source = spotatui-0.41.0-x86_64.tar.gz::https://github.com/LargeModGames/spotatui/releases/download/v0.41.0/spotatui-linux-x86_64.tar.gz source = LICENSE-0.41.0::https://raw.githubusercontent.com/LargeModGames/spotatui/v0.41.0/LICENSE source = README-0.41.0.md::https://raw.githubusercontent.com/LargeModGames/spotatui/v0.41.0/README.md sha256sums = 66c0846529b62cfe2627062f044e21677697d807cfc14b07036348e849ca43e7 sha256sums = b47ad91f512f5ae715df2888abf19ff0172c75de71b6423f836174bae8f8161e sha256sums = 2c2b10b7cbd6d341bd795cea82161883cef23f15982c0e75f13c98ff9096967b -pkgname = spotatui-bin +pkgname = spotatui diff --git a/spotatui/.gitignore b/spotatui/.gitignore new file mode 100644 index 0000000..f92e2ba --- /dev/null +++ b/spotatui/.gitignore @@ -0,0 +1,7 @@ +/pkg/ +/src/ +/*.pkg.tar.* +/*.src.tar.* +/spotatui-*.tar.gz +/LICENSE-* +/README-*.md diff --git a/spotatui-bin/PKGBUILD b/spotatui/PKGBUILD similarity index 94% rename from spotatui-bin/PKGBUILD rename to spotatui/PKGBUILD index e2385ab..6a9863e 100644 --- a/spotatui-bin/PKGBUILD +++ b/spotatui/PKGBUILD @@ -1,5 +1,5 @@ # Maintainer: Travis Lyons -pkgname=spotatui-bin +pkgname=spotatui pkgver=0.41.0 # renovate: datasource=github-tags depName=LargeModGames/spotatui pkgrel=3 pkgdesc="A Spotify client for the terminal written in Rust, powered by Ratatui" @@ -9,8 +9,6 @@ license=('MIT') depends=('alsa-lib' 'glibc' 'gcc-libs' 'openssl' 'pipewire') optdepends=('yt-dlp: YouTube playback support' 'ffmpeg: improved YouTube playback support') -provides=("spotatui=${pkgver}") -conflicts=('spotatui') options=('!debug' '!strip') source=("${pkgname}-${pkgver}-${CARCH}.tar.gz::${url}/releases/download/v${pkgver}/spotatui-linux-${CARCH}.tar.gz" "LICENSE-${pkgver}::https://raw.githubusercontent.com/LargeModGames/spotatui/v${pkgver}/LICENSE" diff --git a/spotatui-bin/REUSE.toml b/spotatui/REUSE.toml similarity index 100% rename from spotatui-bin/REUSE.toml rename to spotatui/REUSE.toml diff --git a/spotify-bin/.gitignore b/spotify-bin/.gitignore deleted file mode 100644 index eb2a8a6..0000000 --- a/spotify-bin/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -/pkg/ -/src/ -/*.pkg.tar.* -/*.src.tar.* -/spotify-bin-*.deb -/spotify-client_*.deb -/spotify-bin-*-Release -/spotify-bin-*-Release.gpg -/spotify-bin-*-Packages diff --git a/spotify-bin/.SRCINFO b/spotify/.SRCINFO similarity index 72% rename from spotify-bin/.SRCINFO rename to spotify/.SRCINFO index e3cb9e4..0bb288c 100644 --- a/spotify-bin/.SRCINFO +++ b/spotify/.SRCINFO @@ -1,4 +1,4 @@ -pkgbase = spotify-bin +pkgbase = spotify pkgdesc = Spotify desktop client pkgver = 1.2.96.518.g366879e1 pkgrel = 2 @@ -19,17 +19,15 @@ pkgbase = spotify-bin optdepends = ffmpeg4.4: Adds support for playback of local files optdepends = zenity: Adds support for importing local files optdepends = libnotify: Desktop notifications - provides = spotify=1.2.96.518.g366879e1 - conflicts = spotify options = !debug options = !strip source = https://repository.spotify.com/pool/non-free/s/spotify-client/spotify-client_1.2.96.518.g366879e1_amd64.deb source = spotify.sh source = spotify.protocol source = LICENSE - source = spotify-bin-1.2.96.518.g366879e1-2-Release::https://repository.spotify.com/dists/testing/Release - source = spotify-bin-1.2.96.518.g366879e1-2-Release.gpg::https://repository.spotify.com/dists/testing/Release.gpg - source = spotify-bin-1.2.96.518.g366879e1-2-Packages::https://repository.spotify.com/dists/testing/non-free/binary-amd64/Packages + source = spotify-1.2.96.518.g366879e1-2-Release::https://repository.spotify.com/dists/testing/Release + source = spotify-1.2.96.518.g366879e1-2-Release.gpg::https://repository.spotify.com/dists/testing/Release.gpg + source = spotify-1.2.96.518.g366879e1-2-Packages::https://repository.spotify.com/dists/testing/non-free/binary-amd64/Packages validpgpkeys = E1096BCBFF6D418796DE78515384CE82BA52C83A sha256sums = 1a86581f53c2b0e2c406150665ea05e245b9e6b286390ea61d5d193ba617eb2f sha256sums = 764cf7d24c35e3327cef4c0469351dabbf8b1edbaa10e1f35f64c91f135b31d9 @@ -39,4 +37,4 @@ pkgbase = spotify-bin sha256sums = SKIP sha256sums = SKIP -pkgname = spotify-bin +pkgname = spotify diff --git a/spotify/.gitignore b/spotify/.gitignore new file mode 100644 index 0000000..5706789 --- /dev/null +++ b/spotify/.gitignore @@ -0,0 +1,9 @@ +/pkg/ +/src/ +/*.pkg.tar.* +/*.src.tar.* +/spotify-*.deb +/spotify-client_*.deb +/spotify-*-Release +/spotify-*-Release.gpg +/spotify-*-Packages diff --git a/spotify-bin/LICENSE b/spotify/LICENSE similarity index 100% rename from spotify-bin/LICENSE rename to spotify/LICENSE diff --git a/spotify-bin/PKGBUILD b/spotify/PKGBUILD similarity index 98% rename from spotify-bin/PKGBUILD rename to spotify/PKGBUILD index de0babf..0aae5d2 100644 --- a/spotify-bin/PKGBUILD +++ b/spotify/PKGBUILD @@ -7,7 +7,7 @@ # Contributor: Eothred # # Adapted from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=spotify -pkgname=spotify-bin +pkgname=spotify pkgver=1.2.96.518.g366879e1 # renovate: datasource=deb depName=spotify-client pkgrel=2 pkgdesc='Spotify desktop client' @@ -32,8 +32,6 @@ optdepends=( 'zenity: Adds support for importing local files' 'libnotify: Desktop notifications' ) -provides=("spotify=${pkgver}") -conflicts=('spotify') options=('!debug' '!strip') source=("https://repository.spotify.com/pool/non-free/s/spotify-client/spotify-client_${pkgver}_amd64.deb" "spotify.sh" diff --git a/spotify-bin/REUSE.toml b/spotify/REUSE.toml similarity index 100% rename from spotify-bin/REUSE.toml rename to spotify/REUSE.toml diff --git a/spotify-bin/keys/pgp/E1096BCBFF6D418796DE78515384CE82BA52C83A.asc b/spotify/keys/pgp/E1096BCBFF6D418796DE78515384CE82BA52C83A.asc similarity index 100% rename from spotify-bin/keys/pgp/E1096BCBFF6D418796DE78515384CE82BA52C83A.asc rename to spotify/keys/pgp/E1096BCBFF6D418796DE78515384CE82BA52C83A.asc diff --git a/spotify-bin/spotify.protocol b/spotify/spotify.protocol similarity index 100% rename from spotify-bin/spotify.protocol rename to spotify/spotify.protocol diff --git a/spotify-bin/spotify.sh b/spotify/spotify.sh similarity index 100% rename from spotify-bin/spotify.sh rename to spotify/spotify.sh