arch-pkgs/README.md

89 lines
2.3 KiB
Markdown

# arch-pkgs
Code for `grawlinson` repository.
## Setup
**Note**: Creation of a brand spankin' new repository is not documented here.
* Ensure local repository is in `/etc/pacman.conf`, using the `file://` format.
```conf
[grawlinson]
Server = file:///var/lib/repo/grawlinson
```
* Ensure GPG keys for signing packages & repositories have been created,
and exist in pacman's keyring.
* Copy aurutils configuration to the global directory.
```sh
cp -t /etc/aurutils {pacman,makepkg}-grawlinson.conf
```
* Create a `systemd-nspawn` instance for aurbuild.
```sh
aur chroot --create \
-M /etc/aurutils/makepkg-grawlinson.conf \
-C /etc/aurutils/pacman-grawlinson.conf
```
## Usage
* `make check`: Check for new package versions.
* `make sync` : Sync local repository with remote.
* `make` for the rest of the commands.
### Building a new or updated package
```sh
sh .repo/build [packages ...]
```
A wrapper around [aurutils][url-aurutils], builds package(s) specified in a
clean chroot. After successful build, packages are added to the repository
and old versions are removed. By default, packages and repository database
are signed.
### Removal
```sh
sh .repo/remove [packages ...]
rm -f /var/lib/repo/$REPO/{packages,and,signatures,to,delete}
```
Removal of package(s) from the repository is invoked via the `.repo/remove`
script (shown above). Actual deletion of the package(s) (and the
corresponding package signatures) is to be done manually.
## Dependencies
### Required
* [nvchecker][url-nvchecker]
* [aurutils][url-aurutils]
* [rsync][url-rsync]
* [pass][url-pass]
### Optional
* [pacman-contrib][url-pacman-contrib]
* [pacutils][url-pacutils]
* [namcap][url-namcap]
* [expac][url-expac]
## References
* [Developer Wiki: Building in a clean chroot](https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_clean_chroot)
* [GitHub: mdaffin/arch-pkgs](https://github.com/mdaffin/arch-pkgs)
[url-nvchecker]:https://github.com/lilydjwg/nvchecker
[url-aurutils]:https://github.com/AladW/aurutils
[url-rsync]:https://rsync.samba.org
[url-pass]:https://www.passwordstore.org
[url-pacman-contrib]:https://git.archlinux.org/pacman-contrib.git/about/
[url-namcap]:https://git.archlinux.org/namcap.git/about/
[url-expac]:https://github.com/falconindy/expac
[url-pacutils]:https://github.com/andrewgregory/pacutils