From 46e52f1083545f55a9f19b2265ea2658c8022b1c Mon Sep 17 00:00:00 2001 From: Anjandev Momi Date: Mon, 25 Oct 2021 21:34:22 +0000 Subject: [PATCH] main/postmarketos-ui-sxmo: add bluetooth subpackage (MR 2628) --- main/postmarketos-ui-sxmo/APKBUILD | 26 +- ...ostmarketos-ui-sxmo-bluetooth.post-install | 4 + ...stmarketos-ui-sxmo-bluetooth.pre-deinstall | 3 + main/postmarketos-ui-sxmo/postmarketos.conf | 256 ++++++++++++++++++ 4 files changed, 286 insertions(+), 3 deletions(-) create mode 100644 main/postmarketos-ui-sxmo/postmarketos-ui-sxmo-bluetooth.post-install create mode 100644 main/postmarketos-ui-sxmo/postmarketos-ui-sxmo-bluetooth.pre-deinstall create mode 100644 main/postmarketos-ui-sxmo/postmarketos.conf diff --git a/main/postmarketos-ui-sxmo/APKBUILD b/main/postmarketos-ui-sxmo/APKBUILD index 6daaa2ae2..beddd516f 100644 --- a/main/postmarketos-ui-sxmo/APKBUILD +++ b/main/postmarketos-ui-sxmo/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Miles Alan pkgname=postmarketos-ui-sxmo pkgver=1.5.1 -pkgrel=1 +pkgrel=2 pkgdesc="(X11) Simple X Mobile: Mobile environment based on simple & suckless software (best compatibility on pinephone)" url="http://sr.ht/~mil/Sxmo" arch="noarch !armhf" @@ -19,7 +19,7 @@ depends=" tinydm-openrc " install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-deinstall" -subpackages="$pkgname-qt_tweaks" +subpackages="$pkgname-qt_tweaks $pkgname-bluetooth" _pmb_recommends=" feh firefox-esr @@ -34,7 +34,10 @@ _pmb_recommends=" _pmb_groups=" seat " -source="sxmo-qt-mobile-controls.sh" +source=" + sxmo-qt-mobile-controls.sh + postmarketos.conf + " options="!check" # has no tests package() { @@ -46,6 +49,23 @@ qt_tweaks() { install -Dm755 -t "$subpkgdir"/etc/profile.d/ \ "$srcdir"/sxmo-qt-mobile-controls.sh } + +bluetooth() { + depends=" + bluez + bluez-openrc + pipewire + pipewire-media-session + pipewire-pulse + " + replaces="bluez" # Autoenable controllers + mkdir -p "$subpkgdir"/etc/bluetooth + install -Dm644 "$srcdir"/postmarketos.conf \ + "$subpkgdir"/etc/bluetooth/main.conf + install="$subpkgname.post-install $subpkgname.pre-deinstall" +} + sha512sums=" bf8db527c49fa724e640a90269ba2648a2555f5867b2adbfbd88d1f685261f757339757c09ee08f590c76de4bd3d0c73a47dea9bd340644dd4707e76152cefd1 sxmo-qt-mobile-controls.sh +cc4e4404b135ce484e0976b243973e39f1137aa9dd5e9297f767b2ea65b719ca82e84cc66cb093950ce330dbf786981ced2e5b0d16350deb5706a08ffccb4606 postmarketos.conf " diff --git a/main/postmarketos-ui-sxmo/postmarketos-ui-sxmo-bluetooth.post-install b/main/postmarketos-ui-sxmo/postmarketos-ui-sxmo-bluetooth.post-install new file mode 100644 index 000000000..6487e0bc3 --- /dev/null +++ b/main/postmarketos-ui-sxmo/postmarketos-ui-sxmo-bluetooth.post-install @@ -0,0 +1,4 @@ +#!/bin/sh + +rc-update add bluetooth +rc-service bluetooth start diff --git a/main/postmarketos-ui-sxmo/postmarketos-ui-sxmo-bluetooth.pre-deinstall b/main/postmarketos-ui-sxmo/postmarketos-ui-sxmo-bluetooth.pre-deinstall new file mode 100644 index 000000000..e5a9c6f56 --- /dev/null +++ b/main/postmarketos-ui-sxmo/postmarketos-ui-sxmo-bluetooth.pre-deinstall @@ -0,0 +1,3 @@ +#!/bin/sh + +rc-update del bluetooth default diff --git a/main/postmarketos-ui-sxmo/postmarketos.conf b/main/postmarketos-ui-sxmo/postmarketos.conf new file mode 100644 index 000000000..e30efac6b --- /dev/null +++ b/main/postmarketos-ui-sxmo/postmarketos.conf @@ -0,0 +1,256 @@ +[General] + +# Default adapter name +# Defaults to 'BlueZ X.YZ' +#Name = BlueZ + +# Default device class. Only the major and minor device class bits are +# considered. Defaults to '0x000000'. +#Class = 0x000100 + +# How long to stay in discoverable mode before going back to non-discoverable +# The value is in seconds. Default is 180, i.e. 3 minutes. +# 0 = disable timer, i.e. stay discoverable forever +#DiscoverableTimeout = 0 + +# Always allow pairing even if there are no agent registered +# Possible values: true, false +# Default: false +#AlwaysPairable = false + +# How long to stay in pairable mode before going back to non-discoverable +# The value is in seconds. Default is 0. +# 0 = disable timer, i.e. stay pairable forever +#PairableTimeout = 0 + +# Use vendor id source (assigner), vendor, product and version information for +# DID profile support. The values are separated by ":" and assigner, VID, PID +# and version. +# Possible vendor id source values: bluetooth, usb (default) or false (disabled) +#DeviceID = bluetooth:1234:5678:abcd + +# Do reverse service discovery for previously unknown devices that connect to +# us. For BR/EDR this option is really only needed for qualification since the +# BITE tester doesn't like us doing reverse SDP for some test cases, for LE +# this disables the GATT client functionally so it can be used in system which +# can only operate as peripheral. +# Defaults to 'true'. +#ReverseServiceDiscovery = true + +# Enable name resolving after inquiry. Set it to 'false' if you don't need +# remote devices name and want shorter discovery cycle. Defaults to 'true'. +#NameResolving = true + +# Enable runtime persistency of debug link keys. Default is false which +# makes debug link keys valid only for the duration of the connection +# that they were created for. +#DebugKeys = false + +# Restricts all controllers to the specified transport. Default value +# is "dual", i.e. both BR/EDR and LE enabled (when supported by the HW). +# Possible values: "dual", "bredr", "le" +#ControllerMode = dual + +# Enables Multi Profile Specification support. This allows to specify if +# system supports only Multiple Profiles Single Device (MPSD) configuration +# or both Multiple Profiles Single Device (MPSD) and Multiple Profiles Multiple +# Devices (MPMD) configurations. +# Possible values: "off", "single", "multiple" +#MultiProfile = off + +# Permanently enables the Fast Connectable setting for adapters that +# support it. When enabled other devices can connect faster to us, +# however the tradeoff is increased power consumptions. This feature +# will fully work only on kernel version 4.1 and newer. Defaults to +# 'false'. +#FastConnectable = false + +# Default privacy setting. +# Enables use of private address. +# Possible values: "off", "device", "network" +# "network" option not supported currently +# Defaults to "off" +# Privacy = off + +# Specify the policy to the JUST-WORKS repairing initiated by peer +# Possible values: "never", "confirm", "always" +# Defaults to "never" +#JustWorksRepairing = never + +# How long to keep temporary devices around +# The value is in seconds. Default is 30. +# 0 = disable timer, i.e. never keep temporary devices +#TemporaryTimeout = 30 + +# Enables the device to issue an SDP request to update known services when +# profile is connected. Defaults to true. +#RefreshDiscovery = true + +# Enables experimental features and interfaces. +# Defaults to false. +#Experimental = false + +[BR] +# The following values are used to load default adapter parameters for BR/EDR. +# BlueZ loads the values into the kernel before the adapter is powered if the +# kernel supports the MGMT_LOAD_DEFAULT_PARAMETERS command. If a value isn't +# provided, the kernel will be initialized to it's default value. The actual +# value will vary based on the kernel version and thus aren't provided here. +# The Bluetooth Core Specification should be consulted for the meaning and valid +# domain of each of these values. + +# BR/EDR Page scan activity configuration +#PageScanType= +#PageScanInterval= +#PageScanWindow= + +# BR/EDR Inquiry scan activity configuration +#InquiryScanType= +#InquiryScanInterval= +#InquiryScanWindow= + +# BR/EDR Link supervision timeout +#LinkSupervisionTimeout= + +# BR/EDR Page Timeout +#PageTimeout= + +# BR/EDR Sniff Intervals +#MinSniffInterval= +#MaxSniffInterval= + +[LE] +# The following values are used to load default adapter parameters for LE. +# BlueZ loads the values into the kernel before the adapter is powered if the +# kernel supports the MGMT_LOAD_DEFAULT_PARAMETERS command. If a value isn't +# provided, the kernel will be initialized to it's default value. The actual +# value will vary based on the kernel version and thus aren't provided here. +# The Bluetooth Core Specification should be consulted for the meaning and valid +# domain of each of these values. +# LE advertisement interval (used for legacy advertisement interface only) +#MinAdvertisementInterval= +#MaxAdvertisementInterval= +#MultiAdvertisementRotationInterval= + +# LE scanning parameters used for passive scanning supporting auto connect +# scenarios +#ScanIntervalAutoConnect= +#ScanWindowAutoConnect= + +# LE scanning parameters used for passive scanning supporting wake from suspend +# scenarios +#ScanIntervalSuspend= +#ScanWindowSuspend= + +# LE scanning parameters used for active scanning supporting discovery +# proceedure +#ScanIntervalDiscovery= +#ScanWindowDiscovery= + +# LE scanning parameters used for passive scanning supporting the advertisement +# monitor Apis +#ScanIntervalAdvMonitor= +#ScanWindowAdvMonitor= + +# LE scanning parameters used for connection establishment. +#ScanIntervalConnect= +#ScanWindowConnect= + +# LE default connection parameters. These values are superceeded by any +# specific values provided via the Load Connection Parameters interface +#MinConnectionInterval= +#MaxConnectionInterval= +#ConnectionLatency= +#ConnectionSupervisionTimeout= +#Autoconnecttimeout= + +# Scan duration during interleaving scan. Only used when scanning for ADV +# monitors. The units are msec. +# Default: 300 +#AdvMonAllowlistScanDuration= +# Default: 500 +#AdvMonNoFilterScanDuration= + +# Enable/Disable Advertisement Monitor interleave scan for power saving. +# 0: disable +# 1: enable +# Defaults to 1 +#EnableAdvMonInterleaveScan= + +[GATT] +# GATT attribute cache. +# Possible values: +# always: Always cache attributes even for devices not paired, this is +# recommended as it is best for interoperability, with more consistent +# reconnection times and enables proper tracking of notifications for all +# devices. +# yes: Only cache attributes of paired devices. +# no: Never cache attributes +# Default: always +#Cache = always + +# Minimum required Encryption Key Size for accessing secured characteristics. +# Possible values: 0 and 7-16. 0 means don't care. +# Defaults to 0 +#KeySize = 0 + +# Exchange MTU size. +# Possible values: 23-517 +# Defaults to 517 +#ExchangeMTU = 517 + +# Number of ATT channels +# Possible values: 1-5 (1 disables EATT) +# Default to 3 +#Channels = 3 + +[AVDTP] +# AVDTP L2CAP Signalling Channel Mode. +# Possible values: +# basic: Use L2CAP Basic Mode +# ertm: Use L2CAP Enhanced Retransmission Mode +#SessionMode = basic + +# AVDTP L2CAP Transport Channel Mode. +# Possible values: +# basic: Use L2CAP Basic Mode +# streaming: Use L2CAP Streaming Mode +#StreamMode = basic + +[Policy] +# +# The ReconnectUUIDs defines the set of remote services that should try +# to be reconnected to in case of a link loss (link supervision +# timeout). The policy plugin should contain a sane set of values by +# default, but this list can be overridden here. By setting the list to +# empty the reconnection feature gets disabled. +#ReconnectUUIDs=00001112-0000-1000-8000-00805f9b34fb,0000111f-0000-1000-8000-00805f9b34fb,0000110a-0000-1000-8000-00805f9b34fb,0000110b-0000-1000-8000-00805f9b34fb + +# ReconnectAttempts define the number of attempts to reconnect after a link +# lost. Setting the value to 0 disables reconnecting feature. +#ReconnectAttempts=7 + +# ReconnectIntervals define the set of intervals in seconds to use in between +# attempts. +# If the number of attempts defined in ReconnectAttempts is bigger than the +# set of intervals the last interval is repeated until the last attempt. +#ReconnectIntervals=1,2,4,8,16,32,64 + +# AutoEnable defines option to enable all controllers when they are found. +# This includes adapters present on start as well as adapters that are plugged +# in later on. Defaults to 'false'. +AutoEnable=true + +# Audio devices that were disconnected due to suspend will be reconnected on +# resume. ResumeDelay determines the delay between when the controller +# resumes from suspend and a connection attempt is made. A longer delay is +# better for better co-existence with Wi-Fi. +# The value is in seconds. +# Default: 2 +#ResumeDelay = 2 + +[AdvMon] +# Default RSSI Sampling Period. This is used when a client registers an +# advertisement monitor and leaves the RSSISamplingPeriod unset. +# Default: 0 +#RSSISamplingPeriod=0