From b05ad89f6cd85ffe8adc139bb2c9b53638570667 Mon Sep 17 00:00:00 2001 From: JMARyA Date: Sun, 31 Dec 2023 06:31:19 +0100 Subject: [PATCH] add alpine package --- .../package managers/Alpine Package.md | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 technology/applications/package managers/Alpine Package.md diff --git a/technology/applications/package managers/Alpine Package.md b/technology/applications/package managers/Alpine Package.md new file mode 100644 index 0000000..0c2924f --- /dev/null +++ b/technology/applications/package managers/Alpine Package.md @@ -0,0 +1,64 @@ +--- +obj: concept +source: https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package +--- + +# Alpine Package +Alpine Packages are packages for [Alpine Linux](../../linux/Alpine%20Linux.md) and installable via [apk](apk.md). + +## Setup +The alpine-sdk is a metapackage that pulls in the most essential packages used to build new packages. Also install and configure a way to elevate privileges, such as sudo or [doas](../cli/doas.md), and an editor, such as vi, nano, [micro](../cli/micro.md). +```shell +apk add alpine-sdk +addgroup user abuild +``` + +Generate a key for package creation: +```shell +abuild-keygen -a -i +``` + +## Build +For you build you need a [APKBUILD](APKBUILD.md) file and `abuild` as a packaging tool. + +Usage: +- `abuild checksum`: updates the checksums for source files. +- `abuild -r`: builds the package. + +### Building in a chroot +Install package `abuild-rootbld`: +```shell +apk add abuild-rootbld +``` + +You may now build your packages from source in an unprivileged sandbox based on bubblewrap with the command: +```shell +abuild rootbld +``` + +If the build process needs network access there has to bet set the **net** option in [APKBUILD](APKBUILD.md). + +## Bumping a package version +The tool `abump` is a utility to bump pkgver in [APKBUILD](APKBUILD.md) files if the package gets an update to a newer upstream release. `abump` will update the package's `pkgver`, rebuild it and create a new commit with the resulting changes. +```shell +abump [-hR] +``` + +**abump options** +- **-h** Show this help +- **-R** Run abuild with -R for recursive building +- **-k** Keep existing packages + +## Updating a package release +If you want to bump or reset the pkgrel value of your [APKBUILD](APKBUILD.md) or test your [APKBUILD](APKBUILD.md) files, apkgrel can assist you. +```shell +apkgrel -a|-h|-s NUM|-t|-z [-f] FILE... +``` + +**apkgrel options** +- **-a** Add 1 to current pkgrel +- **-f** Force, even if given files are not in proper format +- **-h** Show this help +- **-s** Set pkgrel to NUM +- **-t** Only verify that files are in proper format +- **-z** Set pkgrel to 0