Go to file
Norbert Lange 01a7e1a9f8 package/systemd: add support for creating journal catalog DB
journald supports catalog files, or rather a binary database of
those.
Functionality added includes:

-   A config option allows enabling the binary database.

-   If BR2_ENABLE_LOCALE_PURGE is enabled, the catalogs not in the
    language whitelist are deleted first. This is done independently
    of the new option, since the catalogs are removed later anyway.

-   If the option is enabled, the database is built and moved to
    /usr/share/factory. This makes sure that /usr contains the entire
    system. A symlink is created in /var pointing to that file.

-   The catalog source files are deleted. They serve no purpose on the
    target once the database exists.

-   All of the above is done in a ROOTFS_PRE_CMD_HOOK rather than in the
    build/install step, because other packages than systemd itself may
    also install catalogs. This also makes sure that it is possible to
    do a re-build, because the catalog files are not removed in
    $(TARGET_DIR) itself, only in the temporary copy for rootfs creation.

-   The service normally used for creating the DB during boot is
    deleted. If the DB is not enabled, we also don't want to waste time
    and space on re-generating every boot. Conversely, if the DB is
    enabled, it is already there so doesn't need to be re-done on every
    boot either.

The new option depends on !BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW because
if the rootfs is not RW, /var is overmounted with a tmpfs. The factory
should handle this, but this only half-works [1].

[1] http://lists.busybox.net/pipermail/buildroot/2020-July/287016.html

Signed-off-by: Norbert Lange <nolange79@gmail.com>
Reviewed-by: Jérémy Rosen <jeremy.rosen@smile.fr>
Reviewed-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-09 09:43:28 +01:00
arch arch/config: Make RISC-V 64-bits MMU optional 2021-10-27 14:39:01 +02:00
board configs/olimex_a20_olinuxino: fix mali not working because Linux version >= 4.20 2022-01-08 21:56:55 +01:00
boot boot/barebox: bump version to 2021.12.0 2021-12-30 21:15:57 +01:00
configs configs/olimex_stmp157: bump U-Boot version 2022-01-08 15:49:15 +01:00
docs docs/manual/cargo: document the cargo-package infrastructure 2022-01-08 23:35:40 +01:00
fs fs/ext2: fir (again) namespace for variables 2021-10-13 18:01:34 +02:00
linux linux: bump CIP RT kernel to version 5.10.83-cip1-rt1 2021-12-12 13:21:43 +01:00
package package/systemd: add support for creating journal catalog DB 2022-01-09 09:43:28 +01:00
support package/pkg-cargo.mk: introduce the cargo package infrastructure 2022-01-08 23:35:40 +01:00
system system/Config.in: introduce pre-build script 2022-01-06 11:43:40 +01:00
toolchain toolchain/toolchain-wrapper: reproducible builds: omit absolute paths from debug symbols 2022-01-08 14:48:22 +01:00
utils utils/diffconfig: use python3 explicitly 2021-12-29 10:07:59 +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 .gitlab-ci.yml: update docker to 20220105.2314 2022-01-06 09:34:05 +01:00
CHANGES Update for 2021.02.8 2021-12-14 23:22:57 +01:00
Config.in support/download: Add SFTP support 2022-01-06 09:34:05 +01:00
Config.in.legacy package/civetweb: drop BR2_PACKAGE_CIVETWEB_WITH_LUA 2022-01-08 20:26:07 +01:00
COPYING
DEVELOPERS package/libmd: new package 2022-01-09 00:17:09 +01:00
Makefile system/Config.in: introduce pre-build script 2022-01-06 11:43:40 +01:00
Makefile.legacy
README docs: move the IRC channel away from Freenode 2021-05-29 22:16:23 +02:00

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