summaryrefslogtreecommitdiff
path: root/meta-virtualization-extra/classes
diff options
context:
space:
mode:
Diffstat (limited to 'meta-virtualization-extra/classes')
-rw-r--r--meta-virtualization-extra/classes/enable-linger.bbclass11
-rw-r--r--meta-virtualization-extra/classes/set-xdg-env.bbclass14
2 files changed, 25 insertions, 0 deletions
diff --git a/meta-virtualization-extra/classes/enable-linger.bbclass b/meta-virtualization-extra/classes/enable-linger.bbclass
new file mode 100644
index 0000000..cfb21e7
--- /dev/null
+++ b/meta-virtualization-extra/classes/enable-linger.bbclass
@@ -0,0 +1,11 @@
+do_install:append() {
+ # If linger is not enabled then rootless podman
+ # commands will complain with number of warnings.
+ # Enabling linger does two effects for systemd user units:
+ # 1. Units are automatically started after a reboot
+ # 2. Units are not automatically stopped after a log out
+ install -d ${D}${localstatedir}/lib/systemd/linger
+ touch ${D}${localstatedir}/lib/systemd/linger/${USER_TO_ADD_NAME}
+}
+
+FILES:${PN}:append = " ${localstatedir}/lib/systemd/linger/${USER_TO_ADD_NAME}"
diff --git a/meta-virtualization-extra/classes/set-xdg-env.bbclass b/meta-virtualization-extra/classes/set-xdg-env.bbclass
new file mode 100644
index 0000000..4835e93
--- /dev/null
+++ b/meta-virtualization-extra/classes/set-xdg-env.bbclass
@@ -0,0 +1,14 @@
+do_install:append() {
+ # Note: Use of .profile here assumes busybox shell.
+ # Podman uses these (if defined) for overriding
+ # default configuration file locations. This is
+ # explained here:
+ # https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md#user-configuration-files
+ install -D -m 0644 /dev/null ${D}/home/${USER_TO_ADD_NAME}/.profile
+ cat > ${D}/home/${USER_TO_ADD_NAME}/.profile << 'EOF'
+export XDG_RUNTIME_DIR=/run/user/$(id -u)
+export XDG_CONFIG_HOME=$HOME/.config
+EOF
+}
+
+FILES:${PN}:append = " /home/${USER_TO_ADD_NAME}/.profile"