Made changes to support the new Citadel installer UI and backend

This commit is contained in:
David McKinney 2020-10-09 09:02:46 -04:00 committed by Bruce Leidl
parent 8d1946a6c4
commit 87679d1c76
8 changed files with 154 additions and 34 deletions

View File

@ -39,7 +39,6 @@ SRC_URI = "\
file://fstab \
file://sudo-citadel \
file://citadel-ifconfig.sh \
file://citadel-setpassword.sh \
file://00-storage-tmpfiles.conf \
file://NetworkManager.conf \
file://share/dot.bashrc \
@ -47,11 +46,16 @@ SRC_URI = "\
file://share/dot.vimrc \
file://polkit/citadel.rules \
file://iptables-flush.sh \
file://citadel-installer.session \
file://citadel-installer.json \
file://citadel-installer.desktop \
file://citadel-installer-ui.desktop \
file://systemd/zram-swap.service \
file://systemd/iptables.service \
file://systemd/sway-session-switcher.service \
file://systemd/x11-session-switcher.service \
file://systemd/citadel-setpassword.service \
file://systemd/citadel-installer-backend.service \
file://systemd/installer-session-switcher.service \
file://skel/profile \
file://skel/bashrc \
file://skel/vimrc \
@ -73,7 +77,7 @@ RDEPENDS_${PN} = "bash wireless-regdb-static"
inherit allarch systemd useradd
SYSTEMD_SERVICE_${PN} = "zram-swap.service watch-run-user.path iptables.service sway-session-switcher.service x11-session-switcher.service citadel-setpassword.service"
SYSTEMD_SERVICE_${PN} = "zram-swap.service watch-run-user.path iptables.service sway-session-switcher.service x11-session-switcher.service citadel-installer-backend.service installer-session-switcher.service"
do_install() {
install -m 0755 -d ${D}/storage
@ -93,6 +97,10 @@ do_install() {
install -m 0700 -d ${D}${localstatedir}/lib/NetworkManager
install -m 0700 -d ${D}${localstatedir}/lib/NetworkManager/system-connections
install -m 0755 -d ${D}${datadir}/citadel
install -m 0755 -d ${D}${datadir}/gnome-session/sessions
install -m 0755 -d ${D}${datadir}/gnome-shell/modes
install -m 0755 -d ${D}${datadir}/applications
install -m 0755 -d ${D}${datadir}/wayland-sessions
install -m 0644 ${WORKDIR}/locale.conf ${D}${sysconfdir}/locale.conf
install -m 0644 ${WORKDIR}/environment.sh ${D}${sysconfdir}/profile.d/environment.sh
@ -107,7 +115,8 @@ do_install() {
install -m 644 ${WORKDIR}/systemd/sway-session-switcher.service ${D}${systemd_system_unitdir}
install -m 644 ${WORKDIR}/systemd/x11-session-switcher.service ${D}${systemd_system_unitdir}
install -m 644 ${WORKDIR}/systemd/citadel-setpassword.service ${D}${systemd_system_unitdir}
install -m 644 ${WORKDIR}/systemd/citadel-installer-backend.service ${D}${systemd_system_unitdir}
install -m 644 ${WORKDIR}/systemd/installer-session-switcher.service ${D}${systemd_system_unitdir}
install -m 644 ${WORKDIR}/systemd/watch-run-user.path ${D}${systemd_system_unitdir}
install -m 644 ${WORKDIR}/systemd/watch-run-user.service ${D}${systemd_system_unitdir}
@ -123,11 +132,15 @@ do_install() {
install -m 0644 ${WORKDIR}/udev/citadel-network.rules ${D}${sysconfdir}/udev/rules.d/
install -m 0755 ${WORKDIR}/citadel-ifconfig.sh ${D}${libexecdir}
install -m 0754 ${WORKDIR}/citadel-setpassword.sh ${D}${libexecdir}
install -m 0644 ${WORKDIR}/udev/pci-pm.rules ${D}${sysconfdir}/udev/rules.d/
install -m 0644 ${WORKDIR}/udev/scsi-alpm.rules ${D}${sysconfdir}/udev/rules.d/
install -m 0644 ${WORKDIR}/citadel-installer.session ${D}${datadir}/gnome-session/sessions/
install -m 0644 ${WORKDIR}/citadel-installer.json ${D}${datadir}/gnome-shell/modes/
install -m 0644 ${WORKDIR}/citadel-installer-ui.desktop ${D}${datadir}/applications/
install -m 0644 ${WORKDIR}/citadel-installer.desktop ${D}${datadir}/wayland-sessions/
install -m 0644 ${WORKDIR}/iptables/iptables.rules ${D}${datadir}/iptables/
install -m 0644 ${WORKDIR}/iptables/empty-filter.rules ${D}${datadir}/iptables/
install -m 0644 ${WORKDIR}/iptables-flush.sh ${D}${datadir}/iptables/

View File

@ -0,0 +1,8 @@
[Desktop Entry]
Name=Citadel Installer
Comment=This session logs you into the Citadel Installer
Exec=/usr/libexec/citadel-installer-ui
TryExec=/usr/libexec/citadel-installer-ui
Icon=
Type=Application

View File

@ -0,0 +1,6 @@
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Citadel Installer sessions
Comment=Session for the Citadel Installer
Exec=gnome-session --session=citadel-installer

View File

@ -0,0 +1,9 @@
{
"hasWindows": true,
"components": ["networkAgent"],
"panel": { "left": [],
"center": [],
"right": ["a11yGreeter", "keyboard", "aggregateMenu"]
}
}

View File

@ -0,0 +1,6 @@
# /usr/share/gnome-session/sessions/citadel-installer.session
[GNOME Session]
Name=Citadel Installer
RequiredComponents=citadel-installer-ui;org.gnome.SettingsDaemon.XSettings;

View File

@ -0,0 +1,13 @@
[Unit]
Description=Citadel Installer Backend
ConditionKernelCommandLine=|citadel.install
ConditionKernelCommandLine=|citadel.live
[Service]
ExecStart=/usr/libexec/citadel-install-backend
[Install]
WantedBy=graphical.target

View File

@ -0,0 +1,17 @@
[Unit]
Description=Citadel Installer Session Switcher
After=accounts-daemon.service
Wants=accounts-daemon.service
ConditionKernelCommandLine=|citadel.installer
ConditionKernelCommandLine=|citadel.live
[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/bin/busctl call org.freedesktop.Accounts /org/freedesktop/Accounts/User1000 org.freedesktop.Accounts.User SetXSession s "citadel-installer"
[Install]
WantedBy=graphical.target

View File

@ -7,7 +7,7 @@ inherit cargo systemd
#
# Update this when changes are pushed to github
#
SRCREV = "695dc9da2115f5f3f731b711b4b127b45d7a137f"
SRCREV = "ac46b45f05fb2a6f0ff3a233152b8840b6e22469"
GIT_URI = "git://github.com/brl/citadel-tools.git;protocol=https"
@ -23,28 +23,37 @@ SRC_URI += " \
crate://crates.io/addr2line/0.12.1 \
crate://crates.io/adler32/1.1.0 \
crate://crates.io/ansi_term/0.11.0 \
crate://crates.io/anyhow/1.0.33 \
crate://crates.io/arc-swap/0.4.7 \
crate://crates.io/array-macro/1.0.3 \
crate://crates.io/atk-sys/0.9.1 \
crate://crates.io/atk/0.8.0 \
crate://crates.io/atk-sys/0.10.0 \
crate://crates.io/atk/0.9.0 \
crate://crates.io/atty/0.2.14 \
crate://crates.io/autocfg/1.0.0 \
crate://crates.io/backtrace/0.3.49 \
crate://crates.io/bincode/1.2.1 \
crate://crates.io/bitflags/1.2.1 \
crate://crates.io/block-buffer/0.9.0 \
crate://crates.io/block-cipher/0.7.1 \
crate://crates.io/block-padding/0.2.0 \
crate://crates.io/blowfish/0.5.0 \
crate://crates.io/byteorder/1.3.4 \
crate://crates.io/cairo-rs/0.8.1 \
crate://crates.io/cairo-sys-rs/0.9.2 \
crate://crates.io/cairo-rs/0.9.1 \
crate://crates.io/cairo-sys-rs/0.10.0 \
crate://crates.io/cc/1.0.54 \
crate://crates.io/cfg-if/0.1.10 \
crate://crates.io/chrono/0.4.11 \
crate://crates.io/clap/2.33.1 \
crate://crates.io/cpuid-bool/0.1.2 \
crate://crates.io/crc32fast/1.2.0 \
crate://crates.io/crossbeam-channel/0.3.9 \
crate://crates.io/crossbeam-utils/0.6.6 \
crate://crates.io/crypto-mac/0.8.0 \
crate://crates.io/cursive/0.11.0 \
crate://crates.io/dbus/0.6.5 \
crate://crates.io/dbus/0.8.4 \
crate://crates.io/digest/0.9.0 \
crate://crates.io/either/1.6.1 \
crate://crates.io/enum-map-derive/0.4.3 \
crate://crates.io/enum-map-internals/0.1.3 \
crate://crates.io/enum-map/0.5.0 \
@ -53,36 +62,46 @@ crate://crates.io/enumset_derive/0.3.2 \
crate://crates.io/failure/0.1.8 \
crate://crates.io/failure_derive/0.1.8 \
crate://crates.io/filetime/0.2.10 \
crate://crates.io/futures-channel/0.3.5 \
crate://crates.io/futures-core/0.3.5 \
crate://crates.io/futures-executor/0.3.5 \
crate://crates.io/futures-io/0.3.5 \
crate://crates.io/futures-macro/0.3.5 \
crate://crates.io/futures-task/0.3.5 \
crate://crates.io/futures-util/0.3.5 \
crate://crates.io/fuzzy-matcher/0.3.4 \
crate://crates.io/gdk-pixbuf-sys/0.9.1 \
crate://crates.io/gdk-pixbuf/0.8.0 \
crate://crates.io/gdk-sys/0.9.1 \
crate://crates.io/gdk/0.12.1 \
crate://crates.io/futures/0.3.6 \
crate://crates.io/futures-channel/0.3.6 \
crate://crates.io/futures-core/0.3.6 \
crate://crates.io/futures-executor/0.3.6 \
crate://crates.io/futures-io/0.3.6 \
crate://crates.io/futures-macro/0.3.6 \
crate://crates.io/futures-sink/0.3.6 \
crate://crates.io/futures-task/0.3.6 \
crate://crates.io/futures-util/0.3.6 \
crate://crates.io/fuzzy-matcher/0.3.7 \
crate://crates.io/generic-array/0.14.4 \
crate://crates.io/getrandom/0.1.15 \
crate://crates.io/gdk-pixbuf-sys/0.10.0 \
crate://crates.io/gdk-pixbuf/0.9.0 \
crate://crates.io/gdk-sys/0.10.0 \
crate://crates.io/gdk/0.13.2 \
crate://crates.io/gimli/0.21.0 \
crate://crates.io/gio-sys/0.9.1 \
crate://crates.io/gio/0.8.1 \
crate://crates.io/glib-sys/0.9.1 \
crate://crates.io/glib/0.9.3 \
crate://crates.io/gobject-sys/0.9.1 \
crate://crates.io/gtk-sys/0.9.2 \
crate://crates.io/gtk/0.8.1 \
crate://crates.io/gio-sys/0.10.1 \
crate://crates.io/gio/0.9.1 \
crate://crates.io/glib-sys/0.10.1 \
crate://crates.io/glib/0.10.2 \
crate://crates.io/glib-macros/0.10.1 \
crate://crates.io/gobject-sys/0.10.0 \
crate://crates.io/gtk-sys/0.10.0 \
crate://crates.io/gtk/0.9.2 \
crate://crates.io/hermit-abi/0.1.14 \
crate://crates.io/heck/0.3.1 \
crate://crates.io/hex/0.4.2 \
crate://crates.io/hmac/0.8.1 \
crate://crates.io/inotify-sys/0.1.3 \
crate://crates.io/inotify/0.8.3 \
crate://crates.io/itertools/0.9.0 \
crate://crates.io/lazy_static/1.4.0 \
crate://crates.io/libc/0.2.71 \
crate://crates.io/libdbus-sys/0.2.1 \
crate://crates.io/libflate/0.1.27 \
crate://crates.io/libsodium-sys/0.2.5 \
crate://crates.io/log/0.4.8 \
crate://crates.io/md-5/0.9.1 \
crate://crates.io/memchr/2.3.3 \
crate://crates.io/miniz_oxide/0.3.7 \
crate://crates.io/nix/0.17.0 \
crate://crates.io/num-complex/0.2.4 \
@ -94,19 +113,30 @@ crate://crates.io/num/0.2.1 \
crate://crates.io/numtoa/0.1.0 \
crate://crates.io/object/0.20.0 \
crate://crates.io/once_cell/1.4.0 \
crate://crates.io/opaque-debug/0.2.3 \
crate://crates.io/opaque-debug/0.3.0 \
crate://crates.io/owning_ref/0.4.1 \
crate://crates.io/pango-sys/0.9.1 \
crate://crates.io/pango/0.8.0 \
crate://crates.io/pango-sys/0.10.0 \
crate://crates.io/pango/0.9.1 \
crate://crates.io/pin-project-internal/0.4.22 \
crate://crates.io/pin-project/0.4.22 \
crate://crates.io/pin-utils/0.1.0 \
crate://crates.io/pkg-config/0.3.17 \
crate://crates.io/ppv-lite86/0.2.9 \
crate://crates.io/proc-macro-crate/0.1.5 \
crate://crates.io/proc-macro-error/1.0.4 \
crate://crates.io/proc-macro-error-attr/1.0.4 \
crate://crates.io/proc-macro-hack/0.5.16 \
crate://crates.io/proc-macro-nested/0.1.6 \
crate://crates.io/proc-macro2/0.4.30 \
crate://crates.io/proc-macro2/1.0.18 \
crate://crates.io/pwhash/0.3.1 \
crate://crates.io/quote/0.6.13 \
crate://crates.io/quote/1.0.7 \
crate://crates.io/rand/0.7.3 \
crate://crates.io/rand_chacha/0.2.2 \
crate://crates.io/rand_core/0.5.1 \
crate://crates.io/rand_hc/0.2.0 \
crate://crates.io/redox_syscall/0.1.56 \
crate://crates.io/redox_termios/0.1.1 \
crate://crates.io/rle-decode-fast/1.0.1 \
@ -115,35 +145,47 @@ crate://crates.io/rustc-demangle/0.1.16 \
crate://crates.io/same-file/1.0.6 \
crate://crates.io/serde/1.0.112 \
crate://crates.io/serde_derive/1.0.112 \
crate://crates.io/sha-1/0.9.1 \
crate://crates.io/sha2/0.9.1 \
crate://crates.io/signal-hook-registry/1.2.0 \
crate://crates.io/signal-hook/0.1.16 \
crate://crates.io/slab/0.4.2 \
crate://crates.io/sodiumoxide/0.2.5 \
crate://crates.io/stable_deref_trait/1.1.1 \
crate://crates.io/strsim/0.8.0 \
crate://crates.io/strum/0.18.0 \
crate://crates.io/strum_macros/0.18.0 \
crate://crates.io/subtle/2.3.0 \
crate://crates.io/syn/0.15.44 \
crate://crates.io/syn/1.0.31 \
crate://crates.io/synstructure/0.12.4 \
crate://crates.io/system-deps/1.3.2 \
crate://crates.io/take_mut/0.2.2 \
crate://crates.io/tar/0.4.29 \
crate://crates.io/termion/1.5.5 \
crate://crates.io/textwrap/0.11.0 \
crate://crates.io/thread_local/1.0.1 \
crate://crates.io/thiserror/1.0.21 \
crate://crates.io/thiserror-impl/1.0.21 \
crate://crates.io/time/0.1.43 \
crate://crates.io/toml/0.4.10 \
crate://crates.io/toml/0.5.6 \
crate://crates.io/typenum/1.12.0 \
crate://crates.io/unicode-segmentation/1.6.0 \
crate://crates.io/unicode-width/0.1.7 \
crate://crates.io/unicode-xid/0.1.0 \
crate://crates.io/unicode-xid/0.2.0 \
crate://crates.io/vcpkg/0.2.10 \
crate://crates.io/vec_map/0.8.2 \
crate://crates.io/version-compare/0.0.10 \
crate://crates.io/version_check/0.9.2 \
crate://crates.io/void/1.0.2 \
crate://crates.io/walkdir/2.3.1 \
crate://crates.io/wasi/0.9.0+wasi-snapshot-preview1 \
crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi-util/0.1.5 \
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi/0.3.8 \
crate://crates.io/winapi/0.3.9 \
crate://crates.io/xattr/0.2.2 \
crate://crates.io/xi-unicode/0.1.0 \
"
@ -162,9 +204,11 @@ FILES_${PN} = "\
${libexecdir}/citadel-boot \
${libexecdir}/citadel-run \
${libexecdir}/citadel-install \
${libexecdir}/citadel-install-backend \
${libexecdir}/citadel-desktop-sync \
${libexecdir}/citadel-realmsd \
${libexecdir}/citadel-realms-ui \
${libexecdir}/citadel-installer-ui \
${bindir}/citadel-image \
${bindir}/citadel-realmfs \
${bindir}/citadel-update \
@ -196,6 +240,9 @@ do_install() {
# citadel-realms-ui
install -m 755 ${TARGET_BIN}/citadel-realms-ui ${D}${libexecdir}
# citadel-installer-ui
install -m 755 ${TARGET_BIN}/citadel-installer-ui ${D}${libexecdir}
install -m 644 ${B}/data/com.subgraph.installer.Manager.conf ${D}${sysconfdir}/dbus-1/system.d
# /usr/libexec/citadel-tool
install -m 755 ${TARGET_BIN}/citadel-tool ${D}${libexecdir}
@ -205,6 +252,7 @@ do_install() {
ln ${D}${libexecdir}/citadel-tool ${D}${libexecdir}/citadel-boot
ln ${D}${libexecdir}/citadel-tool ${D}${libexecdir}/citadel-install
ln ${D}${libexecdir}/citadel-tool ${D}${libexecdir}/citadel-install-backend
ln ${D}${libexecdir}/citadel-tool ${D}${libexecdir}/citadel-desktop-sync
ln ${D}${libexecdir}/citadel-tool ${D}${libexecdir}/citadel-run
ln ${D}${libexecdir}/citadel-tool ${D}${bindir}/citadel-image