Go to file
Yann E. MORIN d18176396a package/skeleton-systemd: host the tmpfiles preparation script
Commit 0d9b84b7a8 (package/systemd: invoke systemd-tmpfilesd on final
image) forcefully introduced a call to systemd-tmpfiles as a per-rootfs
hook, on the premise that would help with read-only rootfs.

However, that did not account for the then-pre-existing handling of /var
as a factory when the user opted not to remount / read-write (by not
setting BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW).

This means that, for users who want to use a factory for /var, the
generated filesystem contains the factory files twice: once as stored in
the factory, and once as populated by systemd-tmpfilesd.

In the hope to reconcile the two solutions, we move the handling of
calling systemd-tmpfilesd to the skeleton-init-systemd package, where we
already handle the /var factory. Having the two in the same package will
make it easier, in the future, to provide the user with a choice whether
to use one of the other.

Note that it is very important to keep the order of the hooks as they
are.

Indeed, skeleton-init-systemd sorts before systemd, so its hooks were
registered before systemd's hooks; now that we move the CREATE_TMPFILES
hook, we must ensure it is called after the PRE_ROOTFS_VAR one, so that
the behaviour of acting on the var factory remains.

As a final note: we chose the move this way, rather than move the var
factory into the systemd package, because it is more related to the
system integration on the Buildroot side, rather than the integration
of the systemd package in Buildroot.

Similarly, the other four rootfs hooks, SYSTEMD_LOCALE_PURGE_CATALOGS,
SYSTEMD_UPDATE_CATALOGS, SYSTEMD_RM_CATALOG_UPDATE_SERVICE, and
specially SYSTEMD_PRESET_ALL, should also be moved out of the systemd
package, because they too are more related to the Buildroot system,
rather than to the systemd package itself; but the frontier is very
porous in either way, for such a package as special as systemd.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Norbert Lange <nolange79@gmail.com>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Romain Naour <romain.naour@smile.fr>
Cc: Jérémy Rosen <jeremy.rosen@smile.fr>
Cc: Yann E. MORIN <yann.morin@orange.com>
Acked-by: Norbert Lange <nolange79@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-12-21 22:14:27 +01:00
arch arch/arch.mk.xtensa: relax check on overlay file to apply only to internal toolchains 2022-11-13 22:32:31 +01:00
board configs/visionfive2_defconfig: new defconfig 2022-12-19 10:05:23 +01:00
boot boot/sun20i-d1-spl: drop package 2022-12-13 21:20:53 +01:00
configs configs/sipeed_licheee_rv_defconfig: use 6.1 kernel headers 2022-12-19 22:25:09 +01:00
docs docs/website: update for 2022.02.8 2022-12-10 20:59:24 +01:00
fs fs/ext2: generate Y2K38-resilient filesystems 2022-12-14 20:29:11 +01:00
linux linux: bump _KERNEL_LATEST_VERSION to 6.1 2022-12-18 14:57:08 +01:00
package package/skeleton-systemd: host the tmpfiles preparation script 2022-12-21 22:14:27 +01:00
support support/testing: add test for python-dicttoxml2 2022-12-11 21:18:57 +01:00
system package/systemd: add setting for systemd default.target 2022-05-02 22:58:44 +02:00
toolchain {toolchain, linux-headers}: add support for 6.1 headers 2022-12-18 14:56:37 +01:00
utils utils/scancpan: bump required perl version 2022-12-20 17:22:27 +01:00
.clang-format .clang-format: initial import from Linux 5.15.6 2022-01-01 15:01:13 +01:00
.defconfig
.flake8
.gitignore
.gitlab-ci.yml utils/checkpackagelib/lib_sysv: run shellcheck 2022-02-06 18:27:03 +01:00
.shellcheckrc utils/check-package: improve shellcheck reproducibility 2022-07-25 23:52:47 +02:00
CHANGES Update for 2022.02.8 2022-12-10 20:57:31 +01:00
Config.in Config.in: update default CPAN mirror to https, update mirrors URL 2022-12-21 14:03:25 +01:00
Config.in.legacy package/x11r7/xdriver_xf86-input-keyboard: remove package 2022-12-20 08:21:14 +01:00
COPYING
DEVELOPERS configs/visionfive2_defconfig: new defconfig 2022-12-19 10:05:23 +01:00
Makefile Merge branch 'next' 2022-12-05 10:01:26 +01:00
Makefile.legacy
README

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on OFTC IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches