diff --git a/main/postmarketos-base/APKBUILD b/main/postmarketos-base/APKBUILD index 6a0f50b2e..eb25a6091 100644 --- a/main/postmarketos-base/APKBUILD +++ b/main/postmarketos-base/APKBUILD @@ -1,6 +1,6 @@ pkgname=postmarketos-base pkgver=3 -pkgrel=5 +pkgrel=6 pkgdesc="Meta package for minimal postmarketOS base" url="https://github.com/postmarketOS" arch="noarch" @@ -18,7 +18,8 @@ depends=" sudo tmux util-linux - wpa_supplicant" + wpa_supplicant + shadow" makedepends="" install="$pkgname.post-install" subpackages="$pkgname-x11" @@ -70,4 +71,4 @@ sha512sums="c6de3b44bc45b9f9c641a7e34c69a481ee39b99ac0251cd28f2b3aae49c1a8d1ca44 3ceeee37f558e7c95ad973692b6a437f997e6b46c3d1c2257ddfb1529a5633477373aa123c7f08164e818daae50acb203d151379f27ca11bd458809e6a0d4de7 swapfile f5cc0f1265955d2646e5f099dd4b5d4c287945bfc18c16044db57670d456f55c678fc11cc59e6dab3fa340832ce869d516302a3a35c13518539ed0cedca51819 swapfile.init e0d2d48b82a03239a4c0a00acaf83e00d397c23a8d7c71053d4e2a383357c22dcedef9e81b0e12a1d7514e1fdbe0bb3eb82613d18b29034a7ce5447f13c84a53 swapfile.conf -f24f68b945446e9472812d49cff8369111244450ea1c8136377f64867787b2b26844f3083d7a02acd09b98625646fb48e8300cdaf60dc79615e9a0869fe84b3f postmarketos-base.post-install" +a0f1c7a301056bff8bfad78375ceff07adf6e8520cfebe4dd8dd37571ba6f0315e4554ed0c3aaf944affcac45b4920d886575201ccb884e28569cf071cf97d2f postmarketos-base.post-install" diff --git a/main/postmarketos-base/postmarketos-base.post-install b/main/postmarketos-base/postmarketos-base.post-install index ec275e683..e852de9a4 100644 --- a/main/postmarketos-base/postmarketos-base.post-install +++ b/main/postmarketos-base/postmarketos-base.post-install @@ -66,3 +66,5 @@ if ! grep -q Dwext /etc/conf.d/wpa_supplicant; then fi touch /etc/wpa_supplicant/wpa_supplicant.conf +# Add user to video group for proper framebuffer permissions +usermod -a -G video user diff --git a/main/postmarketos-ui-weston/APKBUILD b/main/postmarketos-ui-weston/APKBUILD index bda0627fa..814d1fba6 100644 --- a/main/postmarketos-ui-weston/APKBUILD +++ b/main/postmarketos-ui-weston/APKBUILD @@ -1,6 +1,6 @@ pkgname=postmarketos-ui-weston -pkgver=2 -pkgrel=1 +pkgver=3 +pkgrel=0 pkgdesc="Meta package for weston" url="https://github.com/postmarketOS" arch="noarch" @@ -18,5 +18,5 @@ package() { install -D -m644 "$srcdir"/start_weston.sh \ "$pkgdir"/etc/profile.d/start_weston.sh } -sha512sums="57e664ed513ed002b3beadcda2977e750078881b9dd720fc8f7273b1082441d9767ef586923676651b48d5c4315b5d6acff5fc517ce3694cfe4d42ff4fab0f65 start_weston.sh -94a690ed8f86c23620fa437bdcae01a851dfd9d8ffa64802be53dbb6bcd4f71cd59145f45c08a45ddd85082890095610946e6baa51fb4e9dc0b982fdc5ec2dc3 postmarketos-ui-weston.post-install" +sha512sums="290d719e04f99905cc8eb4cfeee131e7993969ca3b40517ddf4f8fb4c5817d73d169a03e66aba85e4e330224ca39f2be1cff40a4a0fdab0ee2cb4f9124dd9d06 start_weston.sh +066071c0fa1b35079c28dc18ce66ac56575d49df06f1a217e308ea0b4587436e76432817091737eb9a17e7eecfc855d4d488e5850c77ccbaa3ee4e6a3949dbb8 postmarketos-ui-weston.post-install" diff --git a/main/postmarketos-ui-weston/postmarketos-ui-weston.post-install b/main/postmarketos-ui-weston/postmarketos-ui-weston.post-install index 1c2113bea..a42fd8185 100644 --- a/main/postmarketos-ui-weston/postmarketos-ui-weston.post-install +++ b/main/postmarketos-ui-weston/postmarketos-ui-weston.post-install @@ -39,7 +39,7 @@ if [ ! -f $weston_config ]; then fi # Autologin on tty1, let busybox autoconfigure 2-6 -autologin="root" +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" @@ -47,4 +47,6 @@ for i in 1 2 3 4 5 6; do sed -i -e "s.$old.$new.g" /etc/inittab done - +# Create weston-launch group and add user to it +[ $(getent group weston-launch) ] || groupadd weston-launch +usermod -a -G weston-launch user diff --git a/main/postmarketos-ui-weston/start_weston.sh b/main/postmarketos-ui-weston/start_weston.sh index ab9584ab8..76661fc52 100644 --- a/main/postmarketos-ui-weston/start_weston.sh +++ b/main/postmarketos-ui-weston/start_weston.sh @@ -12,7 +12,7 @@ if test -z "${XDG_RUNTIME_DIR}"; then # Weston autostart on tty1 (Autologin on tty1 is enabled in # /etc/inittab by postmarketos-base post-install.hook) - if [ $(tty) = "/dev/tty1" ]; then + if [ "$(id -u)" = "12345" ] && [ $(tty) = "/dev/tty1" ]; then if test -n "${deviceinfo_weston_pixman_type}"; then WESTON_OPTS=" --pixman-type=${deviceinfo_weston_pixman_type}" fi @@ -27,7 +27,7 @@ if test -z "${XDG_RUNTIME_DIR}"; then ) & - weston ${WESTON_OPTS} >/tmp/weston.log 2>&1 + weston-launch ${WESTON_OPTS} >/tmp/weston.log 2>&1 # In case of failure, restart after 1s sleep 1 diff --git a/main/weston/APKBUILD b/main/weston/APKBUILD index d87c7f7bd..c727f837d 100644 --- a/main/weston/APKBUILD +++ b/main/weston/APKBUILD @@ -7,7 +7,7 @@ pkgname=weston pkgver=9999 _pkgver=3.0.0 -pkgrel=6 +pkgrel=7 _libname=lib$pkgname _libdir=$_libname-${_pkgver%%.*} pkgdesc="The reference Wayland server" @@ -22,7 +22,7 @@ _client="info terminal wcap-decode" _backend="backend-drm backend-fbdev backend-headless backend-rdp backend-x11 backend-wayland " -options="!check" +options="!check suid" for _sub in $_cms $_shell $_client $_backend; do subpackages="$subpackages $pkgname-$_sub:_sub" @@ -85,6 +85,9 @@ clients() { pkgdesc="Weston example clients" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/$pkgname-* "$subpkgdir"/usr/bin + + # Set SUID bit to run it with proper credentials + chmod +s "$subpkgdir"/usr/bin/weston-launch } xwayland() {