mirror of
https://oauth2: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@github.com/m1ngsama/TNT.git
synced 2026-06-26 09:14:38 +08:00
packaging: document aur submission path
This commit is contained in:
parent
4c7b72e7a0
commit
599cd690b8
5 changed files with 73 additions and 1 deletions
|
|
@ -41,6 +41,8 @@
|
||||||
binary before installation, and fails fast on missing release assets.
|
binary before installation, and fails fast on missing release assets.
|
||||||
- Added a Debian packaging metadata draft for the future Ubuntu PPA path, with
|
- Added a Debian packaging metadata draft for the future Ubuntu PPA path, with
|
||||||
lightweight validation in `make release-check`.
|
lightweight validation in `make release-check`.
|
||||||
|
- Added an Arch `.SRCINFO` draft and AUR maintainer notes, with version/package
|
||||||
|
checks in `make release-check`.
|
||||||
|
|
||||||
## 2026-05-18 - Interactive input polish
|
## 2026-05-18 - Interactive input polish
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ any public registry.
|
||||||
|
|
||||||
## Current targets
|
## Current targets
|
||||||
|
|
||||||
- `arch/PKGBUILD` - AUR-ready draft for `tnt-chat`.
|
- `arch/` - AUR-ready draft for `tnt-chat`.
|
||||||
- `homebrew/tnt-chat.rb` - Homebrew tap formula draft.
|
- `homebrew/tnt-chat.rb` - Homebrew tap formula draft.
|
||||||
- `debian/` - Ubuntu PPA / Debian packaging notes and draft metadata.
|
- `debian/` - Ubuntu PPA / Debian packaging notes and draft metadata.
|
||||||
|
|
||||||
|
|
|
||||||
15
packaging/arch/.SRCINFO
Normal file
15
packaging/arch/.SRCINFO
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
pkgbase = tnt-chat
|
||||||
|
pkgdesc = SSH-native terminal chat server with a Vim-style interface
|
||||||
|
pkgver = 1.0.0
|
||||||
|
pkgrel = 1
|
||||||
|
url = https://github.com/m1ngsama/TNT
|
||||||
|
arch = x86_64
|
||||||
|
arch = aarch64
|
||||||
|
license = MIT
|
||||||
|
makedepends = gcc
|
||||||
|
makedepends = make
|
||||||
|
depends = libssh
|
||||||
|
source = tnt-chat-1.0.0.tar.gz::https://github.com/m1ngsama/TNT/archive/refs/tags/v1.0.0.tar.gz
|
||||||
|
sha256sums = SKIP
|
||||||
|
|
||||||
|
pkgname = tnt-chat
|
||||||
47
packaging/arch/README.md
Normal file
47
packaging/arch/README.md
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
# Arch / AUR Packaging
|
||||||
|
|
||||||
|
The draft package name is `tnt-chat` because `tnt` is already a likely name
|
||||||
|
collision in Arch/AUR contexts.
|
||||||
|
|
||||||
|
## Local validation
|
||||||
|
|
||||||
|
From this directory:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
makepkg -si
|
||||||
|
```
|
||||||
|
|
||||||
|
Optional package linting:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
namcap PKGBUILD
|
||||||
|
namcap tnt-chat-*.pkg.tar.zst
|
||||||
|
```
|
||||||
|
|
||||||
|
## Updating metadata
|
||||||
|
|
||||||
|
After editing `PKGBUILD`, regenerate `.SRCINFO`:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
makepkg --printsrcinfo > .SRCINFO
|
||||||
|
```
|
||||||
|
|
||||||
|
Before AUR submission, replace `sha256sums=('SKIP')` with the real release
|
||||||
|
archive checksum, then run the project-level strict check:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
make release-check-strict
|
||||||
|
```
|
||||||
|
|
||||||
|
## Manual AUR submission
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone ssh://aur@aur.archlinux.org/tnt-chat.git aur-tnt-chat
|
||||||
|
cp PKGBUILD .SRCINFO aur-tnt-chat/
|
||||||
|
cd aur-tnt-chat
|
||||||
|
git add PKGBUILD .SRCINFO
|
||||||
|
git commit -m "Update to 1.0.0"
|
||||||
|
git push
|
||||||
|
```
|
||||||
|
|
||||||
|
Do not wire this to automatic deployment or release automation.
|
||||||
|
|
@ -64,6 +64,12 @@ grep -q "\"TNT $version\"" tnt.1 ||
|
||||||
fail "tnt.1 does not mention TNT $version"
|
fail "tnt.1 does not mention TNT $version"
|
||||||
grep -q "^pkgver=$version$" packaging/arch/PKGBUILD ||
|
grep -q "^pkgver=$version$" packaging/arch/PKGBUILD ||
|
||||||
fail "packaging/arch/PKGBUILD pkgver does not match $version"
|
fail "packaging/arch/PKGBUILD pkgver does not match $version"
|
||||||
|
grep -q "pkgver = $version" packaging/arch/.SRCINFO ||
|
||||||
|
fail "packaging/arch/.SRCINFO pkgver does not match $version"
|
||||||
|
grep -q "^pkgname=tnt-chat$" packaging/arch/PKGBUILD ||
|
||||||
|
fail "packaging/arch/PKGBUILD pkgname is not tnt-chat"
|
||||||
|
grep -q "^pkgname = tnt-chat$" packaging/arch/.SRCINFO ||
|
||||||
|
fail "packaging/arch/.SRCINFO pkgname is not tnt-chat"
|
||||||
grep -q "v${version}.tar.gz" packaging/homebrew/tnt-chat.rb ||
|
grep -q "v${version}.tar.gz" packaging/homebrew/tnt-chat.rb ||
|
||||||
fail "packaging/homebrew/tnt-chat.rb URL does not match v$version"
|
fail "packaging/homebrew/tnt-chat.rb URL does not match v$version"
|
||||||
grep -q "^tnt-chat (${version}-1)" packaging/debian/debian/changelog ||
|
grep -q "^tnt-chat (${version}-1)" packaging/debian/debian/changelog ||
|
||||||
|
|
@ -129,6 +135,8 @@ if [ "$STRICT" -eq 1 ]; then
|
||||||
step "checking strict release gates"
|
step "checking strict release gates"
|
||||||
! grep -q "sha256sums=('SKIP')" packaging/arch/PKGBUILD ||
|
! grep -q "sha256sums=('SKIP')" packaging/arch/PKGBUILD ||
|
||||||
fail "replace PKGBUILD sha256sums before strict release"
|
fail "replace PKGBUILD sha256sums before strict release"
|
||||||
|
! grep -q "sha256sums = SKIP" packaging/arch/.SRCINFO ||
|
||||||
|
fail "replace .SRCINFO sha256sums before strict release"
|
||||||
! grep -q "REPLACE_WITH_RELEASE_TARBALL_SHA256" packaging/homebrew/tnt-chat.rb ||
|
! grep -q "REPLACE_WITH_RELEASE_TARBALL_SHA256" packaging/homebrew/tnt-chat.rb ||
|
||||||
fail "replace Homebrew sha256 before strict release"
|
fail "replace Homebrew sha256 before strict release"
|
||||||
git rev-parse -q --verify "refs/tags/v$version" >/dev/null ||
|
git rev-parse -q --verify "refs/tags/v$version" >/dev/null ||
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue