On Sun, Mar 17, 2019 at 03:30:02PM +0100, Oliver Schad wrote:
> https://gitlab-2.asag.io/snippets/7
A closer look at this snippet reveals that most changes therein are:
1. Customisations of `s6-log.rc', probably modifying the logging user.
2. Addition of unshipped services (eg. postfix).
3. Deletion of unused services (eg. dcron and busybox cron).
4. Other regular customisations similar to what I showed yesterday.
Regarding 1, if you (as I guessed) want to just use `nobody' for all
logs (which is, BTW, strongly discouraged!), I have just pushed commit
a1ffc647 so you can simply delete `s6-log.rc' of services for this
purpose, provided that you do not plan to change the $args or $logd of
these services.
Regarding 2 and 3, and noticing the presence of `db' and `prep.main'
(BTW, `prep.main' and `db/old.main' are supposed to be deleted after
successful `lib/build.rc'/`s6-rc-update' invocations), it is likely that
you directly cloned slew's git repository into /etc. I personally think
this makes updating complicated; and since git ignores ownership,
permission bits (except for the `x' bit) and empty directories, the
structure of /etc/slew would drift from the expected status in certain
conditions.
Instead, I think a better way to distribute slew is to break it into
multiple packages for the intended distro, with the packaging script(s)
essentially performing the jobs of yesterday's `slew-build.sh' and
`ubuntu-conf.sh':
* A "base" package: including the `init' / `run' directories, absolutely
essential services in `base', and a small `main' config somewhat like
the shipped one).
* Multiple packages for other services (eg. OpenVPN and wpa_supplicant):
each including the necessary service definitions in `base', and
corresponding ancillary files in `misc'.
* The most important ancillary files are preprocessing passes like
`misc/openvpn/70-openvpn.rc', which should of course be installed into
/etc/slew/lib/prep. They are not directly put into `lib/prep' because
unlike extra service definitions in `base', extra preprocessing passes
results in actual overhead when `lib/prep.rc' is run. (The user can
disable preprocessing passes by removing the `x' bit from the
corresponding files, cf. `lib/prep.rc').
* Patches like `misc/thinkfan/thinkfan-0.9.3-fglog.patch' are intended
to be applied to distro packages to increase their compliance with
s6's way of longrun management (usually about logging), and therefore
can be omitted from the service packages. Other ancillary files are
intended to be installed into locations outside of /etc/slew, like
`misc/wpa_supplicant/wpa_cli.rc' should be installed into
/etc/wpa_supplicant, in accordance with `base/wpacli./run'.
Perhaps these intentions were not as clear as I thought they should
implicitly (inferred from the codebase) be; I am sorry for that.
--
My current OpenPGP key:
RSA4096/0x227E8CAAB7AA186C (expires: 2020.10.19)
7077 7781 B859 5166 AE07 0286 227E 8CAA B7AA 186C
Received on Tue Mar 19 2019 - 12:42:39 UTC