summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlain Kalker2015-07-01 17:02:18 +0200
committerAlain Kalker2015-07-01 17:02:18 +0200
commitd784c3860c84f6185e073ebe8daf450505c50650 (patch)
tree435fbe13eb6924b8c8be01f69783582b8fbb1562
downloadaur-d784c3860c84f6185e073ebe8daf450505c50650.tar.gz
Initial import
-rw-r--r--.SRCINFO19
-rw-r--r--PKGBUILD21
-rw-r--r--chromiumos-ui-service.install36
-rw-r--r--chromiumos-ui.service13
-rw-r--r--chromiumos-ui@.service15
5 files changed, 104 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..e146e20abbcb
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,19 @@
+pkgbase = chromiumos-ui-service
+ pkgdesc = Chromium OS user interface (systemd service)
+ pkgver = 0.1
+ pkgrel = 5
+ url = http://www.chromium.org/chromium-os
+ install = chromiumos-ui-service.install
+ arch = any
+ license = GPL
+ depends = chromiumos-ui-session
+ depends = xorg-xinit
+ depends = matchbox-window-manager
+ optdepends = xterm: emergency terminal (use with Ctrl-Alt-X)
+ source = chromiumos-ui.service
+ source = chromiumos-ui@.service
+ md5sums = b1167ebbc97cf83fc67b7174baf5d40f
+ md5sums = a34f170ee773f750abf1275eac119bdb
+
+pkgname = chromiumos-ui-service
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..3665f079e160
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,21 @@
+# Maintainer: Alain Kalker <a.c.kalker@gmail.com>
+_pkgbase=chromiumos-ui
+pkgname=$_pkgbase-service
+pkgver=0.1
+pkgrel=5
+pkgdesc="Chromium OS user interface (systemd service)"
+arch=('any')
+url="http://www.chromium.org/chromium-os"
+license=('GPL')
+depends=('chromiumos-ui-session' 'xorg-xinit' 'matchbox-window-manager')
+optdepends=('xterm: emergency terminal (use with Ctrl-Alt-X)')
+install=$pkgname.install
+source=($_pkgbase.service
+ $_pkgbase@.service)
+md5sums=('b1167ebbc97cf83fc67b7174baf5d40f'
+ 'a34f170ee773f750abf1275eac119bdb')
+
+package() {
+ install -Dm644 "$srcdir/$_pkgbase.service" "$pkgdir/usr/lib/systemd/system/$_pkgbase.service"
+ install -Dm644 "$srcdir/$_pkgbase@.service" "$pkgdir/usr/lib/systemd/system/$_pkgbase@.service"
+}
diff --git a/chromiumos-ui-service.install b/chromiumos-ui-service.install
new file mode 100644
index 000000000000..ef0ad115f237
--- /dev/null
+++ b/chromiumos-ui-service.install
@@ -0,0 +1,36 @@
+post_install() {
+ getent group chronos > /dev/null || groupadd chronos
+ getent passwd chronos > /dev/null || useradd -m -g chronos chronos
+
+ # Add runuser-l PAM config file if missing
+ if ! [[ -f /etc/pam.d/runuser-l ]]; then
+ cat > /etc/pam.d/runuser-l << EOF
+#%PAM-1.0
+
+# PAM configuration file for runuser -l
+# Generated by: chromiumos-ui-service
+
+auth sufficient pam_rootok.so
+session include system-login
+EOF
+ fi
+
+ if ! [[ -f /home/chronos/.matchbox/kbdconfig ]]; then
+ # Make Matchbox not grab any keyboard shortcuts except for Ctrl-Alt-X
+ install -g chronos -o chronos -d /home/chronos/.matchbox
+ echo '<ctrl><alt>x=!xterm' > /home/chronos/.matchbox/kbdconfig
+ chown chronos:chronos /home/chronos/.matchbox/kbdconfig
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ if [[ -f /etc/pam.d/runuser-l ]] && grep -q "Generated by: chromiumos-ui-service" /etc/pam.d/runuser-l; then
+ rm /etc/pam.d/runuser-l
+ fi
+
+ echo "You may want to remove chronos user and group"
+}
diff --git a/chromiumos-ui.service b/chromiumos-ui.service
new file mode 100644
index 000000000000..58cb6fcee375
--- /dev/null
+++ b/chromiumos-ui.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Chromium OS UI
+Conflicts=getty@tty1.service
+After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service
+
+[Service]
+ExecStart=/usr/bin/runuser -l chronos -c "/usr/bin/startx /usr/bin/chromiumos-ui-session --login"
+ExecStop=/usr/bin/runuser -l chronos -c "/usr/bin/pkill -f chromiumos-ui/chrome"
+Restart=always
+IgnoreSIGPIPE=no
+
+[Install]
+Alias=display-manager.service
diff --git a/chromiumos-ui@.service b/chromiumos-ui@.service
new file mode 100644
index 000000000000..c49272062a20
--- /dev/null
+++ b/chromiumos-ui@.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Chromium OS UI on %I
+Conflicts=getty@%i.service
+After=systemd-user-sessions.service getty@%i.service plymouth-quit.service
+
+[Service]
+ExecStart=/usr/bin/runuser -l chronos -c "/usr/bin/startx /usr/bin/chromiumos-ui-session --login"
+ExecStop=/usr/bin/runuser -l chronos -c "/usr/bin/pkill -f chromiumos-ui/chrome"
+StandardInput=tty
+StandardOutput=tty
+TTYPath=/dev/%I
+Restart=always
+
+[Install]
+WantedBy=graphical.target