[gnome-build-meta/valentindavid/eos-installer: 18/23] Add configuration for eos-installer
- From: Valentin David <valentindavid src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-build-meta/valentindavid/eos-installer: 18/23] Add configuration for eos-installer
- Date: Wed, 8 Apr 2020 10:35:32 +0000 (UTC)
commit fb445efc2e9917296a2a7015ba0081dc99aebb8f
Author: Valentin David <valentin david codethink co uk>
Date: Wed Feb 26 12:57:50 2020 +0100
Add configuration for eos-installer
elements/iso/eos-installer-extra.bst | 76 ++++++++++++++++++++++
files/eos-installer-extra/eos-images-loop.service | 13 ++++
.../eos-installer-extra/eos-installer-session.pam | 8 +++
.../eos-installer-session.service | 38 +++++++++++
files/eos-installer-extra/eos-installer.json | 9 +++
files/eos-installer-extra/eos-installer.preset | 6 ++
files/eos-installer-extra/eos-installer.service | 12 ++++
files/eos-installer-extra/eos-installer.session | 3 +
files/eos-installer-extra/installer-user-dir.conf | 1 +
files/eos-installer-extra/installer-user.conf | 3 +
.../run-mount-installercd.mount | 9 +++
11 files changed, 178 insertions(+)
---
diff --git a/elements/iso/eos-installer-extra.bst b/elements/iso/eos-installer-extra.bst
new file mode 100644
index 00000000..a1e1d97f
--- /dev/null
+++ b/elements/iso/eos-installer-extra.bst
@@ -0,0 +1,76 @@
+kind: manual
+
+depends:
+- freedesktop-sdk.bst:bootstrap-import.bst
+- freedesktop-sdk.bst:components/systemd.bst
+
+runtime-depends:
+- iso/eos-installer.bst
+
+build-depends:
+- freedesktop-sdk.bst:components/pkg-config.bst
+
+sources:
+- kind: local
+ path: files/eos-installer-extra/eos-images-loop.service
+- kind: local
+ path: files/eos-installer-extra/eos-installer.preset
+- kind: local
+ path: files/eos-installer-extra/run-mount-installercd.mount
+- kind: local
+ path: files/eos-installer-extra/eos-installer.session
+- kind: local
+ path: files/eos-installer-extra/eos-installer.service
+- kind: local
+ path: files/eos-installer-extra/eos-installer-session.service
+- kind: local
+ path: files/eos-installer-extra/installer-user.conf
+- kind: local
+ path: files/eos-installer-extra/installer-user-dir.conf
+- kind: local
+ path: files/eos-installer-extra/eos-installer-session.pam
+- kind: local
+ path: files/eos-installer-extra/eos-installer.json
+config:
+ install-commands:
+ - |
+ dir="$(pkg-config --variable=systemdsystemunitdir systemd)"
+ install -Dm644 -t "%{install-root}${dir}" \
+ eos-images-loop.service \
+ run-mount-installercd.mount \
+ eos-installer-session.service
+
+ - |
+ dir="$(pkg-config --variable=systemduserunitdir systemd)"
+ install -Dm644 -t "%{install-root}${dir}" \
+ eos-installer.service
+ - |
+ dir="$(pkg-config --variable=systemdsystempresetdir systemd)"
+ install -Dm644 -t "%{install-root}${dir}" \
+ eos-installer.preset
+ - |
+ dir="$(pkg-config --variable=sysusersdir systemd)"
+ install -Dm644 -t "%{install-root}${dir}" \
+ installer-user.conf
+
+ - |
+ dir="$(pkg-config --variable=tmpfilesdir systemd)"
+ install -Dm644 -t "%{install-root}${dir}" \
+ installer-user-dir.conf
+
+ - |
+ install -Dm644 -t "%{install-root}%{datadir}/gnome-session/sessions/" \
+ eos-installer.session
+ - |
+ install -Dm644 eos-installer-session.pam \
+ "%{install-root}%{sysconfdir}/pam.d/eos-installer-session"
+ - |
+ install -Dm644 -t "%{install-root}%{datadir}/gnome-shell/modes/" \
+ eos-installer.json
+
+public:
+ bst:
+ integration-commands:
+ - |
+ sed -i "s/gnome-initial-setup/gnome-install-user/g" \
+ "%{datadir}/polkit-1/rules.d/90-eos-installer.rules"
diff --git a/files/eos-installer-extra/eos-images-loop.service
b/files/eos-installer-extra/eos-images-loop.service
new file mode 100644
index 00000000..18e0b66e
--- /dev/null
+++ b/files/eos-installer-extra/eos-images-loop.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Add eosimages image as device
+Requires=run-mount-installercd.mount
+Before=run-mount-eosimages.mount
+
+[Service]
+Type=oneshot
+ExecStart=losetup -f -P /run/mount/installercd/eosimages.gpt.img
+RemainAfterExit=yes
+ExecStop=bash -c 'losetup -d $(losetup -j /run/mount/installercd/eosimages.gpt.img -O name -n)'
+
+[Install]
+RequiredBy=run-mount-eosimages.mount
diff --git a/files/eos-installer-extra/eos-installer-session.pam
b/files/eos-installer-extra/eos-installer-session.pam
new file mode 100644
index 00000000..93f12361
--- /dev/null
+++ b/files/eos-installer-extra/eos-installer-session.pam
@@ -0,0 +1,8 @@
+auth required pam_env.so
+auth required pam_permit.so
+auth include postlogin
+account required pam_permit.so
+password required pam_permit.so
+session optional pam_keyinit.so force revoke
+session include system-auth
+session include postlogin
diff --git a/files/eos-installer-extra/eos-installer-session.service
b/files/eos-installer-extra/eos-installer-session.service
new file mode 100644
index 00000000..8ee46c12
--- /dev/null
+++ b/files/eos-installer-extra/eos-installer-session.service
@@ -0,0 +1,38 @@
+[Unit]
+Description=GNOME Installer Session
+After=systemd-user-sessions.service
+Wants=dbus.socket
+After=dbus.socket
+After=session-c1.scope
+After=run-mount-eosimages.service
+Before=graphical.target
+Conflicts=getty@tty1.service
+After=getty@tty1.service
+Conflicts=plymouth-quit.service
+After=plymouth-start.service
+OnFailure=plymouth-quit.service
+Conflicts=gdm.service
+After=systemd-logind.service
+#After=plymouth-quit-wait.service
+
+[Service]
+ExecStartPre=!-/usr/bin/plymouth deactivate
+ExecStart=/usr/bin/gnome-session --session=eos-installer
+ExecStartPost=!-/usr/bin/plymouth quit --retain-splash
+#TimeoutStartSec=60
+#WatchdogSec=20
+User=gnome-install-user
+PAMName=eos-installer-session
+TTYPath=/dev/tty1
+#TTYReset=yes
+#TTYVHangup=yes
+#TTYVTDisallocate=yes
+StandardInput=tty-fail
+#UtmpIdentifier=tty1
+#UtmpMode=user
+Environment=XDG_SESSION_TYPE=wayland GNOME_SHELL_SESSION_MODE=eos-installer
+KeyringMode=shared
+
+[Install]
+WantedBy=graphical.target
+Alias=display-manager.service
diff --git a/files/eos-installer-extra/eos-installer.json b/files/eos-installer-extra/eos-installer.json
new file mode 100644
index 00000000..626873d5
--- /dev/null
+++ b/files/eos-installer-extra/eos-installer.json
@@ -0,0 +1,9 @@
+{
+ "hasWindows": true,
+ "components": ["polkitAgent", "networkAgent"],
+ "panel": {
+ "left": [],
+ "center": [],
+ "right": ["a11y", "keyboard", "aggregateMenu"]
+ }
+}
diff --git a/files/eos-installer-extra/eos-installer.preset b/files/eos-installer-extra/eos-installer.preset
new file mode 100644
index 00000000..2902a6c0
--- /dev/null
+++ b/files/eos-installer-extra/eos-installer.preset
@@ -0,0 +1,6 @@
+enable eos-images-loop.service
+enable eos-installer-session.service
+enable colord.service
+enable accounts-daemon.service
+enable avahi-daemon.*
+enable NetworkManager.service
diff --git a/files/eos-installer-extra/eos-installer.service b/files/eos-installer-extra/eos-installer.service
new file mode 100644
index 00000000..9ed92626
--- /dev/null
+++ b/files/eos-installer-extra/eos-installer.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=GNOME Installer
+RefuseManualStart=true
+RefuseManualStop=true
+
+BindsTo=gnome-session.target
+After=gnome-session.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/eos-installer
+Restart=no
diff --git a/files/eos-installer-extra/eos-installer.session b/files/eos-installer-extra/eos-installer.session
new file mode 100644
index 00000000..9fc30116
--- /dev/null
+++ b/files/eos-installer-extra/eos-installer.session
@@ -0,0 +1,3 @@
+[GNOME Session]
+Name=GNOME Installer
+RequiredComponents=org.gnome.Shell;com.endlessm.Installer;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;
diff --git a/files/eos-installer-extra/installer-user-dir.conf
b/files/eos-installer-extra/installer-user-dir.conf
new file mode 100644
index 00000000..6bd5608b
--- /dev/null
+++ b/files/eos-installer-extra/installer-user-dir.conf
@@ -0,0 +1 @@
+d /run/gnome-install-user 0755 gnome-install-user gnome-install-user - -
diff --git a/files/eos-installer-extra/installer-user.conf b/files/eos-installer-extra/installer-user.conf
new file mode 100644
index 00000000..515d60d7
--- /dev/null
+++ b/files/eos-installer-extra/installer-user.conf
@@ -0,0 +1,3 @@
+# sysusers.d file to ensure the existence of the GNOME Initial Setup user
+#
+u gnome-install-user - "GNOME install user" /run/gnome-install-user
diff --git a/files/eos-installer-extra/run-mount-installercd.mount
b/files/eos-installer-extra/run-mount-installercd.mount
new file mode 100644
index 00000000..2cebf68b
--- /dev/null
+++ b/files/eos-installer-extra/run-mount-installercd.mount
@@ -0,0 +1,9 @@
+[Unit]
+Description=Mount installer CD
+
+[Mount]
+What=LABEL=GNOME-OS-INSTALLER
+Where=/run/mount/installercd
+Type=iso9660
+Options=ro,nodev,nosuid,noexec,nofail,allow_other
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]