2021-07-21 23:26:07 +00:00
|
|
|
# arch-pkgs
|
|
|
|
|
|
|
|
Code for `grawlinson` repository.
|
|
|
|
|
2021-07-24 14:51:34 +00:00
|
|
|
## Setup
|
2021-07-21 23:26:07 +00:00
|
|
|
|
2021-07-24 14:51:34 +00:00
|
|
|
**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
|
2021-07-21 23:26:07 +00:00
|
|
|
```
|
2021-07-24 14:51:34 +00:00
|
|
|
|
|
|
|
* Create a `systemd-nspawn` instance for aurbuild.
|
|
|
|
|
|
|
|
```sh
|
|
|
|
aur chroot --create \
|
|
|
|
-M /etc/aurutils/makepkg-grawlinson.conf \
|
|
|
|
-C /etc/aurutils/pacman-grawlinson.conf
|
2021-07-21 23:26:07 +00:00
|
|
|
```
|
|
|
|
|
2021-07-24 14:51:34 +00:00
|
|
|
## 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.
|
|
|
|
|
2021-07-21 23:26:07 +00:00
|
|
|
## Dependencies
|
|
|
|
|
2021-07-24 14:51:34 +00:00
|
|
|
### Required
|
|
|
|
|
|
|
|
* [nvchecker][url-nvchecker]
|
|
|
|
* [aurutils][url-aurutils]
|
|
|
|
* [rsync][url-rsync]
|
|
|
|
* [pass][url-pass]
|
2021-07-21 23:26:07 +00:00
|
|
|
|
2021-07-24 14:51:34 +00:00
|
|
|
### Optional
|
2021-07-21 23:26:07 +00:00
|
|
|
|
2021-07-24 14:51:34 +00:00
|
|
|
* [pacman-contrib][url-pacman-contrib]
|
|
|
|
* [pacutils][url-pacutils]
|
|
|
|
* [namcap][url-namcap]
|
|
|
|
* [expac][url-expac]
|
2021-07-21 23:26:07 +00:00
|
|
|
|
|
|
|
## References
|
|
|
|
|
2021-07-24 14:51:34 +00:00
|
|
|
* [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)
|
2021-07-21 23:26:07 +00:00
|
|
|
|
|
|
|
[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
|