diff options
author | Alain Kalker | 2015-07-01 17:02:18 +0200 |
---|---|---|
committer | Alain Kalker | 2015-07-01 17:02:18 +0200 |
commit | d784c3860c84f6185e073ebe8daf450505c50650 (patch) | |
tree | 435fbe13eb6924b8c8be01f69783582b8fbb1562 | |
download | aur-d784c3860c84f6185e073ebe8daf450505c50650.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | PKGBUILD | 21 | ||||
-rw-r--r-- | chromiumos-ui-service.install | 36 | ||||
-rw-r--r-- | chromiumos-ui.service | 13 | ||||
-rw-r--r-- | chromiumos-ui@.service | 15 |
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 |