aboutsummaryrefslogtreecommitdiffstats
path: root/posts/2022
diff options
context:
space:
mode:
Diffstat (limited to 'posts/2022')
-rw-r--r--posts/2022/packaging-for-arch-linux.rst23
1 files changed, 14 insertions, 9 deletions
diff --git a/posts/2022/packaging-for-arch-linux.rst b/posts/2022/packaging-for-arch-linux.rst
index 4975454..9b2e2f1 100644
--- a/posts/2022/packaging-for-arch-linux.rst
+++ b/posts/2022/packaging-for-arch-linux.rst
@@ -228,7 +228,7 @@ files, that can be found in ``/usr/share/pacman/``:
source=(https://my-upstream.link/to/$pkgname-$pkgver.tar.gz)
b2sums=('THISISADUMMYCHECKSUM')
- install() {
+ package() {
make DESTDIR="$pgkdir" install -C $pkgname-$pkgver
}
@@ -256,7 +256,7 @@ that we have a project using |make| to install a few files:
- ``license``: The licenses that apply to the project. This again is an array
and may contain several licenses. In case licenses that are not covered by
the |licenses package| are encountered, their license files must be installed
- in the ``install()`` function (refer to the wiki section |pkgbuild#license|
+ in the ``package()`` function (refer to the wiki section |pkgbuild#license|
for further information).
- ``depends``: An array of runtime dependencies for the package. They will be
installed automatically during build when building with ``makechrootpkg`` or
@@ -269,13 +269,13 @@ that we have a project using |make| to install a few files:
as well as to rename files, it is advisable to read the relevant man page
section for ``makepkg``.
- ``b2sums``: An array of checksums for all resources in the ``source`` array.
- It is advisable to use either (or all of) ``sh256sums``, ``sha512sums`` and
+ It is advisable to use either (or all of) ``sh256sums``, ``sha512sums`` or
``b2sums`` as older hashing mechanisms are by now unsafe (see
|pkgbuild#integrity|). The checksums are used to guard against changing (and
potentially malicious) upstream resources. The resources and checksums for a
new version of a given package may be retrieved and updated using
|updpkgsums| (contained in the |pacman-contrib| package).
-- ``install()``: This function defines all steps necessary to install the files
+- ``package()``: This function defines all steps necessary to install the files
of the upstream project to an empty location (represented by the *magic
variable* ``"$pkgdir"``), that will contain all installable files of the
package. This function is called using |fakeroot|, which means that to the
@@ -378,7 +378,7 @@ main package.
To create a split package, the ``pkgname`` variable of the ``PKGBUILD`` is
turned into an array, containing multiple package names, while the ``pkgbase``
variable (see |pkgbuild#pkgbase|) should be set. Additionally, the generic
-``install()`` function needs to be split up into specific functions for each
+``package()`` function needs to be split up into specific functions for each
package (``prepare()``, ``build()`` and ``check()`` are shared).
Using the example from `PKGBUILDs <#pkgbuilds>`_, this is how it would look
@@ -400,7 +400,7 @@ provides separate install targets for the components).
source=(https://my-upstream.link/to/$pkgname-$pkgver.tar.gz)
b2sums=('THISISADUMMYCHECKSUM')
- install_dummy-package() {
+ package_dummy-package() {
depends=(another-package)
optdepends=(
'dummy-package-docs: for documentation'
@@ -410,7 +410,7 @@ provides separate install targets for the components).
make DESTDIR="$pgkdir" install-scripts -C $pkgname-$pkgver
}
- install_dummy-package-docs() {
+ package_dummy-package-docs() {
make DESTDIR="$pgkdir" install-docs -C $pkgname-$pkgver
}
@@ -565,7 +565,7 @@ builtin dependency resolution. Extending upon the example in `PKGBUILDs
make -C $pkgname-$pkgver
}
- install() {
+ package() {
make DESTDIR="$pgkdir" install -C $pkgname-$pkgver
}
@@ -588,7 +588,7 @@ builtin dependency resolution. Extending upon the example in `PKGBUILDs
make -C $pkgname-$pkgver
}
- install() {
+ package() {
make DESTDIR="$pgkdir" install -C $pkgname-$pkgver
}
@@ -705,6 +705,11 @@ the following are some good starting points:
* |arch package guidelines| and |arch package guidelines category|
* |#archlinux| and |#archlinux-aur| on |libera.chat|
+.. note::
+
+ Update: I have fixed some typos. Thanks to Andreas Schleifer (Segaja) for
+ noticing them!
+
.. [1] I am excluding `flatpak <https://flatpak.org/>`_ and `snap
<https://snapcraft.io/>`_ in this article as they follow an app-store/
per-user installation paradigm. However, they relate to system's packaging