arch/notes.md
Daniel Langbein 7c96fd96d5 installer: disalbe FDE; notes
Add option to disalbe full-disk encryption (FDE) to de-p1st-installer and update notes.md
2021-11-13 13:56:47 +01:00

4.0 KiB

Notes and TODOs

Some notes on arch (meta-)package management

Managing custom packages; managing a remote repository

  1. One could use crema
  2. Or some self-made shell scripts: pkg/de-p1st-repo/README.md

Notes about PKGBUILD

Package naming

Package names are prefixed with de-p1st as this is one of my domains (p1st.de) which itself is an abbreviation of privacy1st.de

Creating config files

install -Dm644 $src $pkgdir/$dst

Example: pkg/de-p1st-sudo/PKGBUILD

Changing existing config files

install -Dm0544 some-config.conf.holoscript "$pkgdir"/usr/share/holo/files/20-"$pkgname"/etc/path/to/some-config.conf.holoscript

Example:

Changing config files that are not owned by any package

See pkg/de-p1st-locale/PKGBUILD for an example.

Home skeleton

Pacman should never change files in $HOME. To still be able to include customized configurations, one can copy them to the skeleton used for new users:

Files from /etc/skel are copied to /home/$USER when new users are created.

Example: pkg/de-p1st-gnupg/PKGBUILD

Enabling services

Note: the preset name shall start with a two-digit number < 99.

install -Dm0644 systemd.preset "$pkgdir"/usr/lib/systemd/system-preset/20-"$pkgname".preset

Example package:

Note:

Running systemctl preset-all resets all installed unit files to the defaults configured in the preset policy files.

This implies: All manual changes such as systemctl enable serviceXYZ will get lost!

To avoid this, enable your services with systemd-presets!

echo 'enable NetworkManager.service' | sudo tee -a /usr/lib/systemd/system-preset/20-custom.preset
sudo systemctl preset-all

Multiple providers

Example:

  • Two packages (de-p1st-test2 and de-p1st-test3) provide de-p1st-test
  • If one installs de-p1st-test he can interactively choose one which provider to select:
$ sudo pacman -S de-p1st-test
:: There are 2 providers available for de-p1st-test:
:: Repository de-p1st
   1) de-p1st-test2  2) de-p1st-test3

Enter a number (default=1): 

TODOs (Ordered by priority)