]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
mkosi: Copy sources under /usr in the image
authorMichal Koutný <mkoutny@suse.com>
Wed, 9 Aug 2023 19:31:58 +0000 (21:31 +0200)
committerLuca Boccassi <luca.boccassi@gmail.com>
Thu, 10 Aug 2023 18:14:40 +0000 (19:14 +0100)
Originally, the source code was copied under /root/src.
This home directory is part of root FS and the new mkosi building
paradigm has only ephemeral root FS that is generated lazily.
Any files placed on the root FS in the build environment are that
excluded from the final image.

It is useful to have source codes available in the image's runtime (not
build time) environment for debugging.

ExtraTrees= as used currently are ineffective, so change the destination
to copy files under /usr to achieve the intention.

gdb sees source files as:
> 1354 ../src/src/systemctl/systemctl.c: No such file or directory.

Modify gdb configration in the built image accordingly (that file cannot
be in /root neither) to resolve to the moved sources.

(Commit fdecbf7 ("Enable unprivileged image builds") envisions bind
mounting or virtiofsd for nspawn or qemu containers respectively.)

mkosi.presets/system/mkosi.conf
mkosi.presets/system/mkosi.extra/usr/share/factory/mkosi/gdbinit.d/systemd.gdb [moved from mkosi.presets/system/mkosi.extra/root/.gdbinit with 57% similarity]

index aab7a13dbc20e92e54ea6d2ee72b8a97473fab02..2474d7f847b2b05cf21a12a5728282859cb3544a 100644 (file)
@@ -8,7 +8,7 @@ Dependencies=base
 Autologin=yes
 BaseTrees=../../mkosi.output/base
 ExtraTrees=../../mkosi.output/base-systemd
-ExtraTrees=../../src:/root/src
+ExtraTrees=../../src:/usr/src/src
 Initrds=../../mkosi.output/initrd
 Packages=
         acl
similarity index 57%
rename from mkosi.presets/system/mkosi.extra/root/.gdbinit
rename to mkosi.presets/system/mkosi.extra/usr/share/factory/mkosi/gdbinit.d/systemd.gdb
index 1a2163e3a54274525036357ab68a826ac24522d6..598344809c144f6f194ee5008814e905f0280a03 100644 (file)
@@ -1,3 +1,3 @@
 set debuginfod enabled off
 set build-id-verbose 0
-set substitute-path ../src /root/src
+set substitute-path ../src /usr/src