From 2a4320e16e804be561193e9f8c9eacf293ef6280 Mon Sep 17 00:00:00 2001 From: Luca Weiss Date: Sat, 26 Nov 2022 22:49:58 +0100 Subject: [PATCH 1/5] main/postmarketos-mkinitfs: use NCM instead of RNDIS (MR 3670) As described in [0] let's switch away from RNDIS and use NCM instead. Since we cannot force all kernels to switch at the same time, let's keep a fallback to RNDIS in the setup function. We can also remove usb_f_rndis from modprobe as the module gets loaded automatically when needed, but instead we need to load libcomposite manually so that $configfs/usb_gadget gets created. [0] https://gitlab.com/postmarketOS/pmaports/-/issues/1797 [ci:skip-build] already built successfully in CI --- main/postmarketos-initramfs/00-default.modules | 1 + main/postmarketos-initramfs/APKBUILD | 8 ++++---- main/postmarketos-initramfs/init.sh | 2 +- main/postmarketos-initramfs/init_functions.sh | 14 +++++++++++--- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/main/postmarketos-initramfs/00-default.modules b/main/postmarketos-initramfs/00-default.modules index 25dab4ecd..78fe402c3 100644 --- a/main/postmarketos-initramfs/00-default.modules +++ b/main/postmarketos-initramfs/00-default.modules @@ -16,5 +16,6 @@ nls_cp437 nls_iso8859_1 nls_utf8 usb_f_rndis +usb_f_ncm vfat xts diff --git a/main/postmarketos-initramfs/APKBUILD b/main/postmarketos-initramfs/APKBUILD index 0cb015c5c..3e424cc85 100644 --- a/main/postmarketos-initramfs/APKBUILD +++ b/main/postmarketos-initramfs/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Oliver Smith # Co-Maintainer: Clayton Craft pkgname=postmarketos-initramfs -pkgver=2.2.0 +pkgver=2.3.0 pkgrel=0 pkgdesc="Base files for the postmarketOS initramfs / initramfs-extra" url="https://postmarketos.org" @@ -75,12 +75,12 @@ package() { } sha512sums=" -bed319179bcd0b894d6267c7e73f2890db07bc07df71542936947dfb3bdb17fade8a7b4e7b577f278af4472464427bba07f75aff0a1e454a4167052c088f3b6a 00-default.modules +0f8e57dd6e5169ffc3579d85ee64447d0f89b727db05bd72d31457fd40268aad672ce650b860c3a9e25be4b0705d49101e1df7346b08bd477b6b285710a4b7d1 00-default.modules 5b364300f31c91fd0591eb0715f67cbf5383f45246a5fb9f34b79f7cb2e3b15768b2130e5f32f816cc169950f988c1beabc879ba31645c58ce131a288dbc071d 00-initramfs-base.dirs ab41b45b0613f25a61114ed8c8b92bc53c60838f6e2e0ba18c76e5369b2984e6023a0661887692673aca3f647f268c468a468f6b1ac424cfee609017a89481dd 00-initramfs-base.files 8a4adad3785af474b36a09a05f6a3b2c4b4f43aac331a53b903abfa51ea12be1e3d1d807b7a6e66a1346815f3b0044daf8cd62e21e2dc75d2db13ee265a72985 00-initramfs-extra-base.files -f2dc71d88964a8c2e8cd2f84965184ef7eb9e28899df2c2621a590463a37216ca8550a5109d96d067c0a40c766f96fc76eea38f386b0948c2e93817dd2ef39b6 init.sh -b4de411bb1e3f610b2d75f8c1e0f753e4550e615bee344b3531d357be77faef6e54ad22b507debec2c7db9930eaa4f9ea3d5f3a131d222480d360933c93ae723 init_functions.sh +701b6252a536dfc7bddef0f5c3ccb16ad680f70efbad872b74d61ef24c98edcf623b19b5e1a2973bc3fa66ca009a515d7ba3563f0d417306a0a2b5680bee7efd init.sh +74cfd8e30811bcf3bb075bcc4db0b59c4f63ba83552cfe371132dacd4c41d73c04c65d309609578369243e9b969feba56b4bdd478eb5e7ebff7099e84f7c0f01 init_functions.sh ba3275a9af788c7c782322a22a0f144d5e50e3498ea6886486a29331f23ae89cd32d500a3635cfa7cab369afba92edc18aeca64ccbf0cd589061cce23d15b46c unudhcpd.conf 675e7d5bee39b2df7d322117f8dcaccc274d61beaf4d50ead19bbf2109446d64b1c0aa0c5b4f9846eb6c1c403418f28f6364eff4537ba41120fbfcbc484b7da7 mdev.conf " diff --git a/main/postmarketos-initramfs/init.sh b/main/postmarketos-initramfs/init.sh index c06ea5909..086d2cb53 100644 --- a/main/postmarketos-initramfs/init.sh +++ b/main/postmarketos-initramfs/init.sh @@ -25,7 +25,7 @@ setup_firmware_path if [ "$IN_CI" = "false" ]; then # shellcheck disable=SC2154 - load_modules /lib/modules/initramfs.load "usb_f_rndis" + load_modules /lib/modules/initramfs.load "libcomposite" setup_framebuffer show_splash "Loading..." setup_mdev diff --git a/main/postmarketos-initramfs/init_functions.sh b/main/postmarketos-initramfs/init_functions.sh index cf54518f2..e99aa9147 100644 --- a/main/postmarketos-initramfs/init_functions.sh +++ b/main/postmarketos-initramfs/init_functions.sh @@ -591,7 +591,8 @@ setup_usb_network_configfs() { usb_idVendor="${deviceinfo_usb_idVendor:-0x18D1}" # default: Google Inc. usb_idProduct="${deviceinfo_usb_idProduct:-0xD001}" # default: Nexus 4 (fastboot) usb_serialnumber="${deviceinfo_usb_serialnumber:-postmarketOS}" - usb_network_function="${deviceinfo_usb_network_function:-rndis.usb0}" + usb_network_function="${deviceinfo_usb_network_function:-ncm.usb0}" + usb_network_function_fallback="rndis.usb0" echo " Setting up an USB gadget through configfs" # Create an usb gadet configuration @@ -609,8 +610,15 @@ setup_usb_network_configfs() { echo "$deviceinfo_name" > "$CONFIGFS/g1/strings/0x409/product" # Create network function. - mkdir $CONFIGFS/g1/functions/"$usb_network_function" \ - || echo " Couldn't create $CONFIGFS/g1/functions/$usb_network_function" + if ! mkdir $CONFIGFS/g1/functions/"$usb_network_function"; then + echo " Couldn't create $CONFIGFS/g1/functions/$usb_network_function" + # Try the fallback function next + if mkdir $CONFIGFS/g1/functions/"$usb_network_function_fallback"; then + usb_network_function="$usb_network_function_fallback" + else + echo " Couldn't create $CONFIGFS/g1/functions/$usb_network_function_fallback" + fi + fi # Create configuration instance for the gadget mkdir $CONFIGFS/g1/configs/c.1 \ From ed1040e5dca5686ba989c626f8139dc6db7d31c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Correa=20G=C3=B3mez?= Date: Mon, 20 Nov 2023 20:43:21 +0100 Subject: [PATCH 2/5] temp/pulseaudio: disable lto, might be broken in some armv7 devices (MR 4563) Something seems to have gone wrong in our rebuild and sync of pulseaudio with alpine upstream. And user feedback points that building armv7 devices with LTO is actually broken in our builders. In alpine, they enabled lto in pulseaudio very long ago (f46174365b219fe431890df3df7e7dc488c9451e 08-09-22) and nobody as complained so far. Since it's not really a phone-specific package, one would hope that more people upstream would have noticed if it were broken there. Since nobody has, we assume this is a downstream problem, and just unconditionally disable lto in our build. We hope this will be just a temporary workaround, until the patches that prompted the fork are no longer needed, and we can simply use upstream pulseaudio, that shouldn't be broken. Fixes #2368 [ci:skip-build] already built successfully in CI --- temp/pulseaudio/APKBUILD | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/temp/pulseaudio/APKBUILD b/temp/pulseaudio/APKBUILD index c95ed27da..15136677f 100644 --- a/temp/pulseaudio/APKBUILD +++ b/temp/pulseaudio/APKBUILD @@ -3,7 +3,7 @@ pkgname=pulseaudio pkgver=9999_git20220621 _pkgver=16.1 -pkgrel=1 +pkgrel=2 pkgdesc="featureful, general-purpose sound server" provider_priority=10 url="https://www.freedesktop.org/wiki/Software/PulseAudio/" @@ -115,8 +115,10 @@ prepare() { } build() { + # See pma#2368 + _lto_enable="false" abuild-meson \ - -Db_lto=true \ + -Db_lto="$_lto_enable" \ -Dgcov=false \ -Dman=true \ -Dtests="$(want_check && echo true || echo false)" \ From 665dbfd20469e81ab76b30eaa77f4c1c3c7da627 Mon Sep 17 00:00:00 2001 From: Teemu Ikonen Date: Wed, 22 Nov 2023 21:05:26 +0200 Subject: [PATCH 3/5] temp/gtk4.0: upgrade to 4.12.4 (MR 4566) [ci:skip-build]: already built successfully in CI --- temp/gtk4.0/APKBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/temp/gtk4.0/APKBUILD b/temp/gtk4.0/APKBUILD index 97f37c630..47b6f5097 100644 --- a/temp/gtk4.0/APKBUILD +++ b/temp/gtk4.0/APKBUILD @@ -1,8 +1,8 @@ # Maintainer: Teemu Ikonen # Forked from Alpine to apply patches for adaptive transient window handling pkgname=gtk4.0 -pkgver=9999.4.12.3 -_pkgver=4.12.3 +pkgver=9999.4.12.4 +_pkgver=4.12.4 pkgrel=0 pkgdesc="The GTK Toolkit (v4)" url="https://www.gtk.org/" @@ -133,7 +133,7 @@ lang() { } sha512sums=" -f3efa9ad340362cecd81389219092b46e3b3f7b049dd6e02aecf4ac74f64f413f0b99c23cfac854e6b0a84d9715fb832beb7e0e698fcdb90ee49a78b27d0e366 gtk-4.12.3.tar.xz +354c686c160c7996ec7c69b31204786245c2a92615e4799b6248776f10f4393c167e73caf8d2fb949539c978358ffa2151092a515be94ec7eeb8951b773ae6d0 gtk-4.12.4.tar.xz 85ced777c23111f502f8a7d49902c65b113f51c1156490c08de2d8f9cb4a5e85c4a3eec0f043c0fa9d9ff44d6b9ab44c4c2865ecd06c3979a3f2558b287c35fd 0001-window-Maximize-resizable-transient-windows-on-small.patch 559f362a918f0f60dfd621daa489f16a61ea9ddd9ad0ef7ad043ceebe1013b8f2fce2f5c3c27597bfc801f2703867095909f16e2b9088e0bf374f36667e25abe 0002-windowcontrols-Force-close-buttons-for-transient-win.patch " From bcabeb80a177f4e2d05274c7109b07de3a6d7ae6 Mon Sep 17 00:00:00 2001 From: Bart Ribbers Date: Thu, 23 Nov 2023 19:25:43 +0100 Subject: [PATCH 4/5] main/postmarketos-ui-plasma-mobile: remove plasma-welcome from _pmb_recommends (MR 4567) It isn't ready for mobile yet as it refers to things that do not exist on Plasma Mobile. We'll add it back later when it is ready [ci:skip-vercheck] --- main/postmarketos-ui-plasma-mobile/APKBUILD | 1 - 1 file changed, 1 deletion(-) diff --git a/main/postmarketos-ui-plasma-mobile/APKBUILD b/main/postmarketos-ui-plasma-mobile/APKBUILD index 0511bdadf..21223b1d8 100644 --- a/main/postmarketos-ui-plasma-mobile/APKBUILD +++ b/main/postmarketos-ui-plasma-mobile/APKBUILD @@ -54,7 +54,6 @@ _pmb_recommends=" plasma-dialer plasma-mobile-sounds plasma-phonebook - plasma-welcome postmarketos-artwork-wallpapers postmarketos-default-camera postprocessd From c467e17bfc5b97ac0b81dd7f73f5d185cb7f1422 Mon Sep 17 00:00:00 2001 From: Antoni Aloy Torrens Date: Wed, 28 Sep 2022 09:58:50 +0200 Subject: [PATCH 5/5] main/postmarketos-ui-lxqt: various fixes and usability improvements (MR 3259) Co-developed-by: Jakob Hauser Co-developed-by: Pablo Correa Gomez [ci:skip-build]: Already built successfully in CI. --- .../10_onboard.gschema.override | 14 +++++++ main/postmarketos-ui-lxqt/APKBUILD | 42 +++++++++++++++++-- main/postmarketos-ui-lxqt/lxqt-tablet.sh | 3 ++ .../onboard-autostart.desktop | 6 +++ .../unclutter-xfixes.desktop | 5 +++ 5 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 main/postmarketos-ui-lxqt/10_onboard.gschema.override create mode 100644 main/postmarketos-ui-lxqt/lxqt-tablet.sh create mode 100644 main/postmarketos-ui-lxqt/onboard-autostart.desktop create mode 100644 main/postmarketos-ui-lxqt/unclutter-xfixes.desktop diff --git a/main/postmarketos-ui-lxqt/10_onboard.gschema.override b/main/postmarketos-ui-lxqt/10_onboard.gschema.override new file mode 100644 index 000000000..e9890a704 --- /dev/null +++ b/main/postmarketos-ui-lxqt/10_onboard.gschema.override @@ -0,0 +1,14 @@ +[org.gnome.desktop.interface] +toolkit-accessibility=true + +[org.onboard] +layout='/usr/share/onboard/layouts/Small.onboard' +theme='/usr/share/onboard/themes/Nightshade.theme' +show-tooltips=false + +[org.onboard.auto-show] +enabled=true +keyboard-device-detection-enabled=true + +[org.onboard.window] +docking-enabled=true diff --git a/main/postmarketos-ui-lxqt/APKBUILD b/main/postmarketos-ui-lxqt/APKBUILD index e47a2a398..dfc165591 100644 --- a/main/postmarketos-ui-lxqt/APKBUILD +++ b/main/postmarketos-ui-lxqt/APKBUILD @@ -1,8 +1,8 @@ # Reference: https://postmarketos.org/uipkg # Maintainer: Antoni Aloy pkgname=postmarketos-ui-lxqt -pkgver=0.1 -pkgrel=8 +pkgver=0.2 +pkgrel=0 pkgdesc="(X11) Lightweight Qt Desktop Environment (stylus recommended)" url="https://lxqt-project.org/" arch="noarch !armhf" # lxqt-desktop not available on armhf @@ -15,6 +15,7 @@ depends=" lxqt-desktop lxqt-policykit mesa-egl + polkit-elogind postmarketos-base-ui postmarketos-base-ui-networkmanager tinydm @@ -22,22 +23,55 @@ depends=" xorg-server " _pmb_recommends=" + alsa-plugins-pulse + alsa-utils + gvfs + bluedevil + onboard gnome-keyring network-manager-applet paper-icon-theme pavucontrol + pavucontrol-qt pm-utils + qps + screengrab + lximage-qt + obconf-qt postmarketos-artwork-wallpapers pulseaudio-utils + unclutter-xfixes " install="$pkgname.post-install $pkgname.post-upgrade" -source="$pkgname-$pkgver.tar.gz::https://gitlab.com/antoni.aloytorrens/lxqt-tablet/-/archive/$pkgver/lxqt-tablet-$pkgver.tar.gz" +source=" + $pkgname-$pkgver.tar.gz::https://gitlab.com/antoni.aloytorrens/lxqt-tablet/-/archive/$pkgver/lxqt-tablet-$pkgver.tar.gz + unclutter-xfixes.desktop + 10_onboard.gschema.override + onboard-autostart.desktop + lxqt-tablet.sh + " options="!check" # No testsuite builddir="$srcdir/lxqt-tablet-$pkgver" package() { install -d -m755 "$pkgdir"/etc/skel cp -a "$builddir"/config "$pkgdir"/etc/skel/.config + + install -Dm644 -t "$pkgdir"/etc/xdg/lxqt-tablet/autostart \ + "$srcdir"/unclutter-xfixes.desktop \ + "$srcdir"/onboard-autostart.desktop + + install -Dm644 -t "$pkgdir"/usr/share/glib-2.0/schemas \ + "$srcdir"/10_onboard.gschema.override + + install -Dm644 -t "$pkgdir"/etc/profile.d \ + "$srcdir"/lxqt-tablet.sh } -sha512sums="63492fd0ad8ffb1d0a9f4f3f53eb4b8a21e670ba5a2a62c86b38f60b77578cfd9970b0767c875fd263e06367f998a2e895b33562b0235b831c4aa34177e14ea6 postmarketos-ui-lxqt-0.1.tar.gz" +sha512sums=" +dab8453a8dbb8d01f978340ac598a3705461ec3a536b131e9247511d090ce40c8732284f39f0464e3fa2134e21277db3570f106fc1ad85cd7e6cdc7043704a4d postmarketos-ui-lxqt-0.2.tar.gz +b626c8b27d9418df15124d6e97f5174c173863536e9c3eebfb11473d764c81e1db40cf4b7cdabe44b67a0e295d920c7a849a3e2e40dd86402de8200242c7b05a unclutter-xfixes.desktop +ffcc518ff58d37de302bd101e57bf983800e45899645d476045d0a74096704333a0b513f45e6a5485fdbd80ac1caebce14a760cab6fcc6d5dde0d766ade8b58b 10_onboard.gschema.override +d598b806bf749e0fedfdaeb51aa035b3877fedf4adc123ce2e50aef20f3cc6727b520a379aa26e88f9a2fe0f1fb96c4682895bb49c6a9cf4b5a5fd963ea93747 onboard-autostart.desktop +54e7ab0c44d88578e46a6a7ecd0cad9980c4d062d453a9443428bdfe2773d26a7b110103c854d7f1ca20d764b1f79a5bf082474fb4a0949ffe871671cc66d97e lxqt-tablet.sh +" diff --git a/main/postmarketos-ui-lxqt/lxqt-tablet.sh b/main/postmarketos-ui-lxqt/lxqt-tablet.sh new file mode 100644 index 000000000..61430f941 --- /dev/null +++ b/main/postmarketos-ui-lxqt/lxqt-tablet.sh @@ -0,0 +1,3 @@ +# shellcheck shell=sh +# Set primary config directory for postmarketOS LXQt configs. +export XDG_CONFIG_DIRS="/etc/xdg/lxqt-tablet:/etc/xdg:/etc:/usr/share" diff --git a/main/postmarketos-ui-lxqt/onboard-autostart.desktop b/main/postmarketos-ui-lxqt/onboard-autostart.desktop new file mode 100644 index 000000000..6ef6c4e21 --- /dev/null +++ b/main/postmarketos-ui-lxqt/onboard-autostart.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Type=Application +Name=Onboard +Comment=Flexible onscreen keyboard +Icon=onboard +Exec=onboard diff --git a/main/postmarketos-ui-lxqt/unclutter-xfixes.desktop b/main/postmarketos-ui-lxqt/unclutter-xfixes.desktop new file mode 100644 index 000000000..1c53e5b55 --- /dev/null +++ b/main/postmarketos-ui-lxqt/unclutter-xfixes.desktop @@ -0,0 +1,5 @@ +[Desktop Entry] +Type=Application +Name=unclutter-xfixes +Comment=Hide cursor on touchscreen +Exec=unclutter-xfixes --start-hidden --hide-on-touch