From 2e3ade3c9d71bd44c2d5c00fe6b01d83a989dd30 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Fri, 6 Oct 2017 18:34:51 +0000 Subject: [PATCH] Package postmarketos-ui-hildon (#649) --- aports/main/postmarketos-ui-hildon/APKBUILD | 34 +++++++++++++++++++ .../postmarketos-ui-hildon.post-install | 12 +++++++ .../postmarketos-ui-hildon/start_hildon.sh | 14 ++++++++ .../postmarketos-ui-hildon/xinitrc_hildon.sh | 16 +++++++++ test/static_code_analysis.sh | 2 ++ 5 files changed, 78 insertions(+) create mode 100644 aports/main/postmarketos-ui-hildon/APKBUILD create mode 100644 aports/main/postmarketos-ui-hildon/postmarketos-ui-hildon.post-install create mode 100644 aports/main/postmarketos-ui-hildon/start_hildon.sh create mode 100644 aports/main/postmarketos-ui-hildon/xinitrc_hildon.sh diff --git a/aports/main/postmarketos-ui-hildon/APKBUILD b/aports/main/postmarketos-ui-hildon/APKBUILD new file mode 100644 index 00000000..62530a87 --- /dev/null +++ b/aports/main/postmarketos-ui-hildon/APKBUILD @@ -0,0 +1,34 @@ +pkgname=postmarketos-ui-hildon +pkgver=1 +pkgrel=0 +pkgdesc="Lightweight desktop, optimized for single-touch touchscreen devices" +url="https://github.com/postmarketOS" +arch="noarch" +license="GPL3+" +depends=" + dbus-x11 + hildon-desktop + hildon-theme-alpha + mesa + xorg-server +" +makedepends="" +install="$pkgname.post-install" +subpackages="" +source="start_hildon.sh xinitrc_hildon.sh $install" +options="!check" + +package() { + # Default theme + mkdir -p "$pkgdir"/usr/share/themes + ln -s /usr/share/themes/alpha "$pkgdir"/usr/share/themes/default + + # Autostart via autologin on TTY0 (until we have a display manager #656) + install -D -m644 "$srcdir"/start_hildon.sh \ + "$pkgdir"/etc/profile.d/start_hildon.sh + install -D -m644 "$srcdir"/xinitrc_hildon.sh \ + "$pkgdir"/etc/postmarketos-ui/xinitrc_hildon.sh +} +sha512sums="e50c2bd90ef7915278eb5071d3f3ce26794e620617a6d9b2c49a7a1df1da2809437e6d20387bbb61f2ae471c5610ad1e1a30db0d5272f081980764a7c06c221f start_hildon.sh +5ef5710bee7bde99e1f240eb8873239c452b55c6dc943930e181d091835824094cf56bf29ae1b34d792ba0ce27f76e30ea69f3c125dda3bf286eaaaba8c8e6ae xinitrc_hildon.sh +a091157afccf19d25dd86d52edf819435da01bb8933f45f5a207e4085b044b80e1790b5e2bb02dbd8f479fdf9d54b06d388a1a1a2995adf9da7d3000449a7f7f postmarketos-ui-hildon.post-install" diff --git a/aports/main/postmarketos-ui-hildon/postmarketos-ui-hildon.post-install b/aports/main/postmarketos-ui-hildon/postmarketos-ui-hildon.post-install new file mode 100644 index 00000000..5b1ebb7f --- /dev/null +++ b/aports/main/postmarketos-ui-hildon/postmarketos-ui-hildon.post-install @@ -0,0 +1,12 @@ +#!/bin/sh + +# Autologin on tty1, let busybox autoconfigure 2-6 +autologin="user" +for i in 1 2 3 4 5 6; do + old="^tty$i::respawn:/sbin/getty 38400 tty$i" + new="# tty$i::respawn:/sbin/getty 38400 tty$i" + [ "$i" = "1" ] && new="tty1::respawn:/bin/login -f $autologin" + sed -i -e "s.$old.$new.g" /etc/inittab +done + + diff --git a/aports/main/postmarketos-ui-hildon/start_hildon.sh b/aports/main/postmarketos-ui-hildon/start_hildon.sh new file mode 100644 index 00000000..1c23af3f --- /dev/null +++ b/aports/main/postmarketos-ui-hildon/start_hildon.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +# Hildon autostart on tty1 (Autologin on tty1 is enabled in +# /etc/inittab by postmarketos-base post-install.hook). +# This is a temporary solution, we'll need something like a +# display manager in the long run (#656). +if [ "$(id -u)" = "12345" ] && [ "$(tty)" = "/dev/tty1" ]; then + # Start X11 with Hildon + startx /etc/postmarketos-ui/xinitrc_hildon.sh > ~/x11.log 2>&1 + + # In case of failure, restart after 1s + sleep 1 + exit +fi diff --git a/aports/main/postmarketos-ui-hildon/xinitrc_hildon.sh b/aports/main/postmarketos-ui-hildon/xinitrc_hildon.sh new file mode 100644 index 00000000..7dd0872b --- /dev/null +++ b/aports/main/postmarketos-ui-hildon/xinitrc_hildon.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +# Set default wallpapers +mkdir -p ~/.backgrounds +for i in 1 2 3 4; do + source=/usr/share/themes/alpha/backgrounds/wallpaper$i.png + destination=~/.backgrounds/background-$i.png + [ -e "$destination" ] || ln -s "$source" "$destination" +done + +# Start dbus and export its environment variables +eval "$(dbus-launch --sh-syntax --exit-with-session)" + +# Start X11 with Hildon +export LC_MESSAGES=en_US.UTF-8 +exec hildon-desktop diff --git a/test/static_code_analysis.sh b/test/static_code_analysis.sh index 453201ef..203a2a83 100755 --- a/test/static_code_analysis.sh +++ b/test/static_code_analysis.sh @@ -31,6 +31,8 @@ sh_files=" ./aports/main/postmarketos-android-recovery-installer/pmos_install_functions ./aports/main/postmarketos-android-recovery-installer/pmos_setpw ./aports/main/postmarketos-android-recovery-installer/update-binary + ./aports/main/postmarketos-ui-hildon/postmarketos-ui-hildon.post-install + $(find . -path './aports/main/postmarketos-ui-hildon/*.sh') $(find . -name '*.trigger') " for file in ${sh_files}; do