debian-forge/osbuild
Martin Sehnoutka 8b0ea15817 stages: add org.osbuild.ostree.passwd
This stage takes /usr/lib/passwd and /usr/etc/passwd from an OSTree
checkout, merges them into one file, and store it as /etc/passwd in the
buildroot.

It does the same for /etc/group.

The reason for doing this is that there is an issue with unstable UIDs
and GIDs when creating OSTree commits from scratch. When there is a
package that creates a system user or a system group, it can change the
UID and GID of users and groups that are created later.

This is not a problem in traditional deployments because already created
users and groups never change their UIDs and GIDs, but with OSTree we
recreate the files from scratch and then replace the previous one so it
can actually change.

By copying the files to the build root before doing any other
operations, we can make sure that the UIDs and GIDs of already existing
users and groups won't change.

Co-author: Christian Kellner <christian@kellner.me>
2021-08-17 13:53:00 +02:00
..
formats device: add support for parent devices 2021-08-13 12:20:54 +02:00
util stages: add org.osbuild.ostree.passwd 2021-08-17 13:53:00 +02:00
__init__.py pipeline: remove Assembler class 2021-01-19 10:42:26 +01:00
__main__.py osbuild: always return exit code 2020-10-27 22:04:09 +01:00
api.py api: remove host side arguments facility 2021-07-08 15:01:33 +01:00
buildroot.py buildroot: mount /sys as read-only 2021-06-28 13:39:25 +01:00
devices.py device: add support for parent devices 2021-08-13 12:20:54 +02:00
host.py host: catch BrokenPipeError while sending replies 2021-07-08 15:01:33 +01:00
inputs.py inputs: convert to host service 2021-06-09 18:37:47 +01:00
loop.py loop: helper to call ioctl_blockdev_flushbuf 2021-08-13 17:35:32 +02:00
main_cli.py main_cli: add --export command line argument 2021-02-12 15:55:43 +01:00
meta.py osbuild: introduce mount host service 2021-06-09 18:37:47 +01:00
monitor.py monitor/log: print pipeline information 2021-02-12 15:55:43 +01:00
mounts.py osbuild: introduce mount host service 2021-06-09 18:37:47 +01:00
objectstore.py objectstore: use recursive bind mounts 2021-07-09 18:09:37 +01:00
pipeline.py device: add support for parent devices 2021-08-13 12:20:54 +02:00
remoteloop.py remoteloop: close loop device controller 2021-08-11 20:59:51 +02:00
sources.py sources: remove server and get method 2021-04-29 12:58:01 +02:00
treesum.py treesum: handle special device files 2021-02-16 23:00:13 +00:00