Re: [PATCH v3 2/4] Move all files for the image into a subdirectory

Alyssa Ross
2025-09-17T12:40:09Z

[-- Attachment #1: Type: text/plain, Size: 14971 bytes --]

Demi Marie Obenour <demiobenour@gmail.com> writes:

> This avoids conflating files that will only be used during the build
> with files that will be included in the generated image. It also makes
> it vastly easier to generate the lists of files in the Makefile from a
> script.
>
> Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
> ---
> host/rootfs/Makefile | 182 ++++++++++-----------
> host/rootfs/{ => image}/bin | 0
> host/rootfs/{ => image}/etc/fonts/fonts.conf | 0
> host/rootfs/{ => image}/etc/fstab | 0
> host/rootfs/{ => image}/etc/group | 0
> host/rootfs/{ => image}/etc/group.license | 0
> host/rootfs/{ => image}/etc/init | 0
> host/rootfs/{ => image}/etc/login | 0
> host/rootfs/{ => image}/etc/mdev.conf | 0
> host/rootfs/{ => image}/etc/mdev/listen | 0
> host/rootfs/{ => image}/etc/mdev/net/add | 0
> host/rootfs/{ => image}/etc/mdev/wait | 0
> host/rootfs/{ => image}/etc/parse-devname | 0
> host/rootfs/{ => image}/etc/passwd | 0
> host/rootfs/{ => image}/etc/passwd.license | 0
> .../etc/s6-linux-init/env/WAYLAND_DISPLAY | 0
> .../etc/s6-linux-init/env/WAYLAND_DISPLAY.license | 0
> .../etc/s6-linux-init/env/XDG_RUNTIME_DIR | 0
> .../etc/s6-linux-init/env/XDG_RUNTIME_DIR.license | 0
> .../etc/s6-linux-init/run-image/opengl-driver | 0
> .../run-image/service/dbus/notification-fd | 0
> .../run-image/service/dbus/notification-fd.license | 0
> .../etc/s6-linux-init/run-image/service/dbus/run | 0
> .../service/dbus/template/notification-fd | 0
> .../service/dbus/template/notification-fd.license | 0
> .../run-image/service/dbus/template/run | 0
> .../s6-linux-init/run-image/service/getty-tty1/run | 0
> .../s6-linux-init/run-image/service/getty-tty2/run | 0
> .../s6-linux-init/run-image/service/getty-tty3/run | 0
> .../s6-linux-init/run-image/service/getty-tty4/run | 0
> .../service/s6-svscan-log/notification-fd | 0
> .../service/s6-svscan-log/notification-fd.license | 0
> .../run-image/service/s6-svscan-log/run | 0
> .../run-image/service/serial-getty-generator/run | 0
> .../run-image/service/serial-getty/notification-fd | 0
> .../service/serial-getty/notification-fd.license | 0
> .../run-image/service/serial-getty/run | 0
> .../run-image/service/serial-getty/template/run | 0
> .../service/vhost-user-fs/notification-fd | 0
> .../service/vhost-user-fs/notification-fd.license | 0
> .../run-image/service/vhost-user-fs/run | 0
> .../service/vhost-user-fs/template/notification-fd | 0
> .../vhost-user-fs/template/notification-fd.license | 0
> .../run-image/service/vhost-user-fs/template/run | 0
> .../service/vhost-user-gpu/notification-fd | 0
> .../service/vhost-user-gpu/notification-fd.license | 0
> .../run-image/service/vhost-user-gpu/run | 0
> .../service/vhost-user-gpu/template/data/check | 0
> .../vhost-user-gpu/template/notification-fd | 0
> .../template/notification-fd.license | 0
> .../run-image/service/vhost-user-gpu/template/run | 0
> .../run-image/service/vhost-user-gpu/template/type | 0
> .../service/vhost-user-gpu/template/type.license | 0
> .../run-image/service/vmm/notification-fd | 0
> .../run-image/service/vmm/notification-fd.license | 0
> .../etc/s6-linux-init/run-image/service/vmm/run | 0
> .../run-image/service/vmm/template/notification-fd | 0
> .../service/vmm/template/notification-fd.license | 0
> .../run-image/service/vmm/template/run | 0
> .../notification-fd | 0
> .../notification-fd.license | 0
> .../service/xdg-desktop-portal-spectrum-host/run | 0
> .../template/notification-fd | 0
> .../template/notification-fd.license | 0
> .../xdg-desktop-portal-spectrum-host/template/run | 0
> .../{ => image}/etc/s6-linux-init/scripts/rc.init | 0
> host/rootfs/{ => image}/etc/s6-rc/card0/type | 0
> .../{ => image}/etc/s6-rc/card0/type.license | 0
> host/rootfs/{ => image}/etc/s6-rc/card0/up | 0
> host/rootfs/{ => image}/etc/s6-rc/core/type | 0
> .../rootfs/{ => image}/etc/s6-rc/core/type.license | 0
> host/rootfs/{ => image}/etc/s6-rc/core/up | 0
> host/rootfs/{ => image}/etc/s6-rc/kvm/timeout-up | 0
> .../{ => image}/etc/s6-rc/kvm/timeout-up.license | 0
> host/rootfs/{ => image}/etc/s6-rc/kvm/type | 0
> host/rootfs/{ => image}/etc/s6-rc/kvm/type.license | 0
> host/rootfs/{ => image}/etc/s6-rc/kvm/up | 0
> .../etc/s6-rc/mdevd-coldplug/dependencies | 0
> .../{ => image}/etc/s6-rc/mdevd-coldplug/type | 0
> .../etc/s6-rc/mdevd-coldplug/type.license | 0
> .../rootfs/{ => image}/etc/s6-rc/mdevd-coldplug/up | 0
> .../{ => image}/etc/s6-rc/mdevd/notification-fd | 0
> .../etc/s6-rc/mdevd/notification-fd.license | 0
> host/rootfs/{ => image}/etc/s6-rc/mdevd/run | 0
> host/rootfs/{ => image}/etc/s6-rc/mdevd/type | 0
> .../{ => image}/etc/s6-rc/mdevd/type.license | 0
> host/rootfs/{ => image}/etc/s6-rc/ok-all/contents | 0
> host/rootfs/{ => image}/etc/s6-rc/ok-all/type | 0
> .../{ => image}/etc/s6-rc/ok-all/type.license | 0
> .../rootfs/{ => image}/etc/s6-rc/static-nodes/type | 0
> .../etc/s6-rc/static-nodes/type.license | 0
> host/rootfs/{ => image}/etc/s6-rc/static-nodes/up | 0
> .../{ => image}/etc/s6-rc/sys-vmms/dependencies | 0
> host/rootfs/{ => image}/etc/s6-rc/sys-vmms/type | 0
> .../{ => image}/etc/s6-rc/sys-vmms/type.license | 0
> host/rootfs/{ => image}/etc/s6-rc/sys-vmms/up | 0
> host/rootfs/{ => image}/etc/s6-rc/vm-env/contents | 0
> host/rootfs/{ => image}/etc/s6-rc/vm-env/type | 0
> .../{ => image}/etc/s6-rc/vm-env/type.license | 0
> host/rootfs/{ => image}/etc/s6-rc/vmm-env/contents | 0
> host/rootfs/{ => image}/etc/s6-rc/vmm-env/type | 0
> .../{ => image}/etc/s6-rc/vmm-env/type.license | 0
> .../{ => image}/etc/s6-rc/weston/dependencies | 0
> .../{ => image}/etc/s6-rc/weston/notification-fd | 0
> .../etc/s6-rc/weston/notification-fd.license | 0
> host/rootfs/{ => image}/etc/s6-rc/weston/run | 0
> host/rootfs/{ => image}/etc/s6-rc/weston/type | 0
> .../{ => image}/etc/s6-rc/weston/type.license | 0
> host/rootfs/{ => image}/etc/xdg/weston/autolaunch | 0
> host/rootfs/{ => image}/etc/xdg/weston/weston.ini | 0
> host/rootfs/{ => image}/lib | 0
> host/rootfs/{ => image}/sbin | 0
> host/rootfs/{ => image}/usr/bin/assign-devices | 0
> .../{ => image}/usr/bin/create-vm-dependencies | 0
> host/rootfs/{ => image}/usr/bin/run-appimage | 0
> host/rootfs/{ => image}/usr/bin/run-vmm | 0
> host/rootfs/{ => image}/usr/bin/vm-console | 0
> host/rootfs/{ => image}/usr/bin/vm-import | 0
> host/rootfs/{ => image}/usr/bin/vm-start | 0
> host/rootfs/{ => image}/usr/bin/vm-stop | 0
> host/rootfs/{ => image}/usr/bin/xdg-open | 0
> .../org.freedesktop.portal.Documents.service | 0
> img/app/Makefile | 110 ++++++-------
> img/app/{ => image}/bin | 0
> img/app/{ => image}/etc/dbus-1/session.conf | 0
> img/app/{ => image}/etc/fonts/fonts.conf | 0
> img/app/{ => image}/etc/fstab | 0
> img/app/{ => image}/etc/init | 0
> img/app/{ => image}/etc/mdev.conf | 0
> img/app/{ => image}/etc/mdev/iface | 0
> img/app/{ => image}/etc/mdev/listen | 0
> img/app/{ => image}/etc/mdev/virtiofs | 0
> img/app/{ => image}/etc/mdev/wait | 0
> img/app/{ => image}/etc/passwd | 0
> img/app/{ => image}/etc/passwd.license | 0
> img/app/{ => image}/etc/pipewire/pipewire.conf | 0
> img/app/{ => image}/etc/resolv.conf | 0
> .../etc/s6-linux-init/env/DBUS_SESSION_BUS_ADDRESS | 0
> .../env/DBUS_SESSION_BUS_ADDRESS.license | 0
> img/app/{ => image}/etc/s6-linux-init/env/DISPLAY | 0
> .../etc/s6-linux-init/env/DISPLAY.license | 0
> .../etc/s6-linux-init/env/GTK_USE_PORTAL | 0
> .../etc/s6-linux-init/env/GTK_USE_PORTAL.license | 0
> .../s6-linux-init/env/NIX_XDG_DESKTOP_PORTAL_DIR | 0
> .../env/NIX_XDG_DESKTOP_PORTAL_DIR.license | 0
> .../etc/s6-linux-init/env/WAYLAND_DISPLAY | 0
> .../etc/s6-linux-init/env/WAYLAND_DISPLAY.license | 0
> .../etc/s6-linux-init/env/XDG_RUNTIME_DIR | 0
> .../etc/s6-linux-init/env/XDG_RUNTIME_DIR.license | 0
> .../s6-linux-init/run-image/service/getty-hvc0/run | 0
> .../s6-linux-init-shutdownd/notification-fd | 0
> .../notification-fd.license | 0
> .../run-image/service/s6-linux-init-shutdownd/run | 0
> .../{ => image}/etc/s6-linux-init/scripts/rc.init | 0
> .../etc/s6-linux-init/scripts/rc.shutdown | 0
> .../etc/s6-linux-init/scripts/rc.shutdown.final | 0
> .../{ => image}/etc/s6-rc/app/dependencies.d/dbus | 0
> .../etc/s6-rc/app/dependencies.d/pipewire | 0
> .../s6-rc/app/dependencies.d/wayland-proxy-virtwl | 0
> img/app/{ => image}/etc/s6-rc/app/run | 0
> img/app/{ => image}/etc/s6-rc/app/type | 0
> img/app/{ => image}/etc/s6-rc/app/type.license | 0
> img/app/{ => image}/etc/s6-rc/dbus/notification-fd | 0
> .../etc/s6-rc/dbus/notification-fd.license | 0
> img/app/{ => image}/etc/s6-rc/dbus/run | 0
> img/app/{ => image}/etc/s6-rc/dbus/type | 0
> img/app/{ => image}/etc/s6-rc/dbus/type.license | 0
> .../etc/s6-rc/mdevd-coldplug/dependencies | 0
> img/app/{ => image}/etc/s6-rc/mdevd-coldplug/type | 0
> .../etc/s6-rc/mdevd-coldplug/type.license | 0
> img/app/{ => image}/etc/s6-rc/mdevd-coldplug/up | 0
> .../{ => image}/etc/s6-rc/mdevd/notification-fd | 0
> .../etc/s6-rc/mdevd/notification-fd.license | 0
> img/app/{ => image}/etc/s6-rc/mdevd/run | 0
> img/app/{ => image}/etc/s6-rc/mdevd/type | 0
> img/app/{ => image}/etc/s6-rc/mdevd/type.license | 0
> img/app/{ => image}/etc/s6-rc/ok-all/contents | 0
> img/app/{ => image}/etc/s6-rc/ok-all/type | 0
> img/app/{ => image}/etc/s6-rc/ok-all/type.license | 0
> .../{ => image}/etc/s6-rc/pipewire/notification-fd | 0
> .../etc/s6-rc/pipewire/notification-fd.license | 0
> img/app/{ => image}/etc/s6-rc/pipewire/run | 0
> img/app/{ => image}/etc/s6-rc/pipewire/type | 0
> .../{ => image}/etc/s6-rc/pipewire/type.license | 0
> .../etc/s6-rc/wayland-proxy-virtwl/notification-fd | 0
> .../wayland-proxy-virtwl/notification-fd.license | 0
> .../{ => image}/etc/s6-rc/wayland-proxy-virtwl/run | 0
> .../etc/s6-rc/wayland-proxy-virtwl/type | 0
> .../etc/s6-rc/wayland-proxy-virtwl/type.license | 0
> .../etc/s6-rc/wireplumber/dependencies.d/dbus | 0
> .../etc/s6-rc/wireplumber/dependencies.d/pipewire | 0
> img/app/{ => image}/etc/s6-rc/wireplumber/run | 0
> img/app/{ => image}/etc/s6-rc/wireplumber/type | 0
> .../{ => image}/etc/s6-rc/wireplumber/type.license | 0
> .../{ => image}/etc/ssl/certs/ca-certificates.crt | 0
> .../wireplumber.conf.d/99_spectrum.conf | 0
> .../etc/xdg/xdg-desktop-portal/portals.conf | 0
> img/app/{ => image}/sbin | 0
> vm/sys/net/Makefile | 64 ++++----
> vm/sys/net/{ => image}/bin | 0
> vm/sys/net/{ => image}/etc/dbus-1/system.conf | 0
> vm/sys/net/{ => image}/etc/fstab | 0
> vm/sys/net/{ => image}/etc/init | 0
> vm/sys/net/{ => image}/etc/mdev.conf | 0
> vm/sys/net/{ => image}/etc/mdev/iface | 0
> vm/sys/net/{ => image}/etc/nftables.conf | 0
> vm/sys/net/{ => image}/etc/passwd | 0
> vm/sys/net/{ => image}/etc/passwd.license | 0
> .../s6-linux-init/run-image/service/getty-hvc0/run | 0
> .../{ => image}/etc/s6-linux-init/scripts/rc.init | 0
> .../net/{ => image}/etc/s6-rc/connman/dependencies | 0
> vm/sys/net/{ => image}/etc/s6-rc/connman/run | 0
> vm/sys/net/{ => image}/etc/s6-rc/connman/type | 0
> .../net/{ => image}/etc/s6-rc/connman/type.license | 0
> .../net/{ => image}/etc/s6-rc/dbus/notification-fd | 0
> .../etc/s6-rc/dbus/notification-fd.license | 0
> vm/sys/net/{ => image}/etc/s6-rc/dbus/run | 0
> vm/sys/net/{ => image}/etc/s6-rc/dbus/type | 0
> vm/sys/net/{ => image}/etc/s6-rc/dbus/type.license | 0
> .../etc/s6-rc/mdevd-coldplug/dependencies | 0
> .../net/{ => image}/etc/s6-rc/mdevd-coldplug/type | 0
> .../etc/s6-rc/mdevd-coldplug/type.license | 0
> vm/sys/net/{ => image}/etc/s6-rc/mdevd-coldplug/up | 0
> .../{ => image}/etc/s6-rc/mdevd/notification-fd | 0
> .../etc/s6-rc/mdevd/notification-fd.license | 0
> vm/sys/net/{ => image}/etc/s6-rc/mdevd/run | 0
> vm/sys/net/{ => image}/etc/s6-rc/mdevd/type | 0
> .../net/{ => image}/etc/s6-rc/mdevd/type.license | 0
> vm/sys/net/{ => image}/etc/s6-rc/nftables/type | 0
> .../{ => image}/etc/s6-rc/nftables/type.license | 0
> vm/sys/net/{ => image}/etc/s6-rc/nftables/up | 0
> vm/sys/net/{ => image}/etc/s6-rc/ok-all/contents | 0
> vm/sys/net/{ => image}/etc/s6-rc/ok-all/type | 0
> .../net/{ => image}/etc/s6-rc/ok-all/type.license | 0
> vm/sys/net/{ => image}/etc/s6-rc/sysctl/type | 0
> .../net/{ => image}/etc/s6-rc/sysctl/type.license | 0
> vm/sys/net/{ => image}/etc/s6-rc/sysctl/up | 0
> vm/sys/net/{ => image}/etc/sysctl.conf | 0
> vm/sys/net/{ => image}/lib | 0
> vm/sys/net/{ => image}/sbin | 0
> vm/sys/net/{ => image}/var/run | 0
> 241 files changed, 178 insertions(+), 178 deletions(-)

This should also be done for initramfs, in the same patch.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]