47 lines
1.6 KiB
Markdown
47 lines
1.6 KiB
Markdown
|
# Quick guide to ahtiports
|
||
|
|
||
|
`/etc/apk/repositories` points to a local index of packages at
|
||
|
`/var/ahtiports/packages/ports`. Packages we are maintaining ourselves are
|
||
|
pinned to that repository, meaning that no other updates on other repositories
|
||
|
are considered.
|
||
|
|
||
|
The `ahtiports` user may build new packages based on the information in this
|
||
|
repository. Whilst the `ahtiports` user may also be used to test and commit
|
||
|
changes to this repository, it is recommended to test the build with your local
|
||
|
user such that the pristine package index is not disturbed until we are sure
|
||
|
that a package actually works.
|
||
|
|
||
|
## Prerequisites
|
||
|
|
||
|
Your user needs to be in the `abuild` group.
|
||
|
|
||
|
## Updating a package
|
||
|
|
||
|
First, clone this repo on any Alpine system (or ahti, of course). For a general
|
||
|
overview on Alpine packaging, see
|
||
|
[Creating an Alpine package](https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package).
|
||
|
|
||
|
Make your changes to the package in question, then create the checksums and build the package:
|
||
|
|
||
|
```
|
||
|
$ abuild checksum
|
||
|
$ abuild -r
|
||
|
```
|
||
|
|
||
|
Your package will be placed into `~/packages`. If the build succeeded, you may
|
||
|
clean any temporary files using `abuild clean` and then commit your changes and
|
||
|
push them to this repository. You may also try using the `abump` tool.
|
||
|
|
||
|
## Placing a package in the local index
|
||
|
|
||
|
Switch to the `ahtiports` user:
|
||
|
|
||
|
```
|
||
|
$ sudo -iu ahtiports
|
||
|
```
|
||
|
|
||
|
This repository is available in `~/ports`. Pull your changes and then build the
|
||
|
package with `abuild -r`. The package is now available in
|
||
|
`/var/ahtiports/packages/ports` and will be visible to `apk`. A normal system
|
||
|
upgrade will pick it up.
|