kumquat-buildroot/docs/manual
Norbert Lange 41ea61d59c support/scripts/mkusers: allow option for system uid/gid
Some software decides based on uid/gid whether a user is a system or
normal (human) user, with different behaviour for those flavors (example
journald [2]).

So adding logic to create system-users is necessary, we take the now
common ranges from [1].

This extends the mkusers script to allow -2 for uid/gid, this argument
will take an identifier from the user range. All identifiers used up to
now should have been from the system range, so -1 is now interpreted as
a system user/group.

Note that after this commit, all the UIDs and GIDs that are created
automatically (with -1) will change. That means if there is peristent
data on an existing system that was created by such an automatic user,
it will suddenly belong to a different user. However, this could already
happen before: if a USERS line is added to a package, then other UIDs
may change as well.

Add system/user ranges as variables, and the argument for user/system
uid variable as well. Thus some magic constants could be removed, some
further occurences of -1 were replaced with equivalent logic. For
consistency, the existing MIN/MAX_UID/GID variables are renamed to
FIRST/LAST_USER_UID/GID.

Update the documentation with the new automatic ranges.

[1] - https://systemd.io/UIDS-GIDS/
[2] - https://www.freedesktop.org/software/systemd/man/journald.conf.html

Signed-off-by: Norbert Lange <nolange79@gmail.com>
[Arnout: use -1 for system users; refactor the changes a bit]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-02-05 23:09:31 +01:00
..
adding-board-support.txt manual: board support: add more of our expectations 2020-09-02 23:47:57 +02:00
adding-packages-asciidoc.txt core: drop now-useless prepare-kconfig rule 2019-08-03 21:51:40 +02:00
adding-packages-autotools.txt
adding-packages-cargo.txt docs/manual/cargo: document the cargo-package infrastructure 2022-01-08 23:35:40 +01:00
adding-packages-cmake.txt package/pkg-cmake.mk: determine CMAKE_BUILD_TYPE depending on BR2_ENABLE_RUNTIME_DEBUG 2021-06-01 22:39:28 +02:00
adding-packages-conclusion.txt
adding-packages-directory.txt docs/manual/adding-packages-directory.txt: reorder select/depends 2022-01-30 15:12:28 +01:00
adding-packages-generic.txt download/git: support Git LFS 2022-01-06 11:32:23 +01:00
adding-packages-gettext.txt docs/manual: update gettext details 2017-07-05 01:37:38 +02:00
adding-packages-golang.txt docs/manual/adding-packages-golang.txt: add some details about vendoring 2022-01-08 23:35:40 +01:00
adding-packages-hooks.txt manual: patches are not applied for SITE_METHOD = local 2017-07-09 17:25:48 +02:00
adding-packages-kconfig.txt package/pkg-kconfig: generate generic help 2021-07-25 15:20:24 +02:00
adding-packages-kernel-module.txt
adding-packages-linux-kernel-spec-infra.txt package/linux-tools: change method for including linux-tool sub-makefiles 2017-07-19 21:16:38 +02:00
adding-packages-luarocks.txt package/pkg-luarocks.mk: add support of host-luarocks-package 2020-04-12 14:48:18 +02:00
adding-packages-meson.txt package/pkg-meson.mk: add FOO_MESON_EXTRA_PROPERTIES 2020-03-22 22:37:34 +01:00
adding-packages-perl.txt scancpan: add PERL_FOO_DISTNAME in perl-foo.mk 2018-10-24 00:22:13 +01:00
adding-packages-python.txt docs: adding-packages-python: don't mention distutilscross 2020-04-28 19:17:54 +02:00
adding-packages-qmake.txt docs/manual: fix typo in name of a qmake-package variable 2021-08-28 22:48:21 +02:00
adding-packages-rebar.txt docs/manual: document <pkg>_KEEP_DEPENDENCIES in rebar-package infra 2018-12-09 17:24:29 +01:00
adding-packages-tips.txt docs/manual: add documentation for the gitlab macro 2021-03-28 22:44:57 +02:00
adding-packages-virtual.txt package/sunxi-mali-utgard: rename from sunxi-mali-mainline 2022-01-06 19:01:51 +01:00
adding-packages-waf.txt docs/manual: fix typo 2020-08-23 15:12:46 +02:00
adding-packages.txt package/pkg-qmake: new qmake package infrastructure 2020-03-09 22:26:42 +01:00
advanced.txt
appendix.txt docs/manual: add appendix about migration from older versions 2017-09-06 22:13:17 +02:00
beyond-buildroot.txt
ccache-support.txt
common-usage.txt docs/manual: add some minimal documentation about show-info and pkg-stats 2020-11-11 12:09:41 +01:00
configure-other-components.txt
configure.txt docs/manual/configure.txt: explain how to reuse a Buildroot toolchain as external toolchain 2019-10-27 16:29:07 +01:00
contribute.txt docs/manual/contribute.txt: rewrite the section dedicated to runtime tests 2021-10-27 21:44:51 +02:00
customize-configuration.txt
customize-device-permission-tables.txt
customize-directory-structure.txt docs/manual: add external.desc to list of files needed for BR2_EXTERNAL 2018-11-02 21:30:13 +01:00
customize-outside-br.txt docs/manual: add section about br2-external init 2020-10-14 23:04:33 +02:00
customize-packages.txt
customize-patches.txt docs/manual: small typo fixes and cleanup 2020-03-28 19:45:28 +01:00
customize-post-image.txt package/Makefile.in: expose CONFIG_DIR to post-build/post-image scripts 2021-05-06 22:58:54 +02:00
customize-quick-guide.txt
customize-rootfs.txt package/Makefile.in: expose CONFIG_DIR to post-build/post-image scripts 2021-05-06 22:58:54 +02:00
customize-users-tables.txt
customize.txt
debugging-buildroot.txt
developers.txt docs/manual: fix typo get-developer (-> get-developers) 2019-01-03 22:44:43 +01:00
download-infra.txt
download-location.txt
eclipse-integration.txt
faq-troubleshooting.txt docs/manual: add details about top-level parallel build support 2019-11-29 15:42:22 +01:00
getting.txt
how-buildroot-works.txt
introduction.txt
known-issues.txt docs/manual: update the list of libffi unsupported archs 2021-11-14 15:02:03 +01:00
legal-notice.txt docs/manual/legal-notice.txt: update list of non-saved material 2020-01-18 18:38:40 +01:00
make-tips.txt docs/manual: document new behaviour of 'make printvars' 2019-03-12 21:59:00 +01:00
makedev-syntax.txt
makeusers-syntax.txt support/scripts/mkusers: allow option for system uid/gid 2022-02-05 23:09:31 +01:00
manual.mk
manual.txt docs/manual: add a section about SELinux 2020-09-04 14:47:29 +02:00
migrating.txt docs/manual/migrating.txt: add section with general migrating tips 2021-08-05 22:01:41 +02:00
package-make-target.txt docs/manual: update package-make-target.txt with more targets 2019-01-29 00:32:11 +01:00
patch-policy.txt docs: clarify <packagename>_PATCH behaviour 2017-09-24 14:43:37 +02:00
prerequisite.txt support/download: Add SFTP support 2022-01-06 09:34:05 +01:00
quickstart.txt Merge branch 'next' 2019-12-02 09:39:41 +01:00
rebuilding-packages.txt docs/manual: fix typo 2020-01-02 09:28:47 +01:00
release-engineering.txt docs/manual: new chapter on release engineering 2020-05-25 21:59:21 +02:00
resources.txt docs/manual/resources.txt: change pastebin site URL 2021-07-29 23:01:31 +02:00
selinux-support.txt docs/manual: add a section about SELinux 2020-09-04 14:47:29 +02:00
using-buildroot-debugger.txt docs/manual/using-buildroot-debugger: suggest '-ix' iso '-x' when loading gdbinit 2021-09-21 22:43:03 +02:00
using-buildroot-development.txt docs: use-case for un-ignoring VCS directories and overridden source dir 2019-06-10 16:49:51 +02:00
using-buildroot-toolchain.txt package/environment-setup: fix spelling of the script file in the manual. 2021-01-07 23:09:47 +01:00
writing-rules.txt docs/manual: add allowed notations section for genimage.cfg files 2021-11-14 15:41:44 +01:00