Skip to content
TwoWellsPublic

About

Arch channel for TwoWells products — [twowells] pacman repo + AUR publishing, pinned provenance

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

pkgbuilds

Build packages Check for Updates

Arch Linux distribution channel for TwoWells products (catenary, lattice, themis) — automated builds, version tracking, AUR publishing, and the [twowells] pacman repository. Checksum trust policy: PROVENANCE.md.

Renamed 2026-08: the pacman repository here is now twowells (was markwells-dev). If you had [markwells-dev] configured against this repo, replace the block with the one below. The maintainer's personal packages moved to m-wells/pkgbuilds, which carries the markwells-dev name onward.

Usage

# Import the maintainer's signing key
sudo pacman-key --keyserver keys.openpgp.org --recv-keys ED9FEE0BB96D6A5E
sudo pacman-key --lsign-key ED9FEE0BB96D6A5E

# Add to /etc/pacman.conf (before [core] for priority over official packages)
[twowells]
SigLevel = Required DatabaseOptional
Server = https://github.com/TwoWells/pkgbuilds/releases/latest/download

# Sync and install
sudo pacman -Sy
sudo pacman -S <package-name>

Packages

See the pkgs/ directory for the current list — each subdirectory is one package, named after its pkgname. Its PKGBUILD records the upstream source and version.

Publish Targets

Each package opts into one or both distribution channels via empty marker files in its directory:

Marker Behavior
.local Build, sign, and publish to the [markwells-dev] pacman repo
.aur Push PKGBUILD + generated .SRCINFO to the AUR

A package may carry both markers — e.g. a -bin package served from the pacman repo and mirrored to the AUR. Source packages usually carry .aur only: the AUR builds from source by design, while the pacman repo ships binaries. A package with no marker is inert (kept in-tree but published nowhere).

How It Works

  • PKGBUILDs are stored in this repo
  • Versions are checked every 30 minutes and updated automatically
  • GitHub Actions builds only changed .local packages in a clean Arch Linux container
  • Packages are signed with GPG and published atomically to GitHub Releases
  • AUR packages (.aur marker) are pushed to aur.archlinux.org on every push to main — including watcher-dispatched version bumps — with .SRCINFO generated in CI
  • pacman syncs directly from the release assets

For CI/CD pipeline details, see the wiki.

Adding a New Package

  1. Create a directory in pkgs/ with a PKGBUILD (directory name must match pkgname):

    pkgs/my-package/
    └── PKGBUILD    # pkgname=my-package
    
  2. Add an update script in scripts/packages/<pkgname>.sh:

check_pkgname() {

  # check logic here, call perform_update

}

check_pkgname

Common datasources:

  • npm - for npm packages
  • github-releases - for GitHub releases
  1. Add a target marker (.local, .aur, or both — see Publish Targets); .local packages should also carry a check.sh smoke test

  2. Commit and push - the package will be automatically detected and built

Contributing

For detailed instructions on how to add new packages, build them locally, and understand the project structure, please see CONTRIBUTING.md.

About

Arch channel for TwoWells products — [twowells] pacman repo + AUR publishing, pinned provenance

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages