Commit graph

18 commits

Author SHA1 Message Date
Luca Weiss
b2e5ad1670
main/postmarketos-base-ui: add supervisor to bluetooth service (MR 4136)
Due to an issue, probably in bluez, the bluetooth service often fails to
start on boot. Restarting the service later make bluez start correctly.

While adding the service supervisor for just this issue isn't a great
solution, in any case having a supervisor on such an important system
service is good, and it fixes this issue also by restarting the
bluetooth service after the first failure on boot.

  May 30 08:05:56 fairphone-fp4 daemon.info bluetoothd[1420]: Bluetooth daemon 5.66
  May 30 08:05:56 fairphone-fp4 daemon.err bluetoothd[1420]: src/main.c:main() Unable to get on D-Bus

Also while we're editing the list of subpackages make sure they're
ordered alphabetically.
[ci:skip-build]: already built successfully in CI
2023-05-31 08:05:38 +02:00
Dylan Van Assche
4b92e922ef
main/postmarketos-base-ui: enable USB tethering (MR 3819)
USB tethering allows users to use their phone's WiFi or WWAN interface
as an access point for the device they connect the phone with over USB.
This way, they can use their data plan with a laptop or desktop when
regular Internet access is absent.

Configure NetworkManager to manage the usb0 iface from initfs so users
can configure it in GNOME Settings or KDE. Include a NetworkManager
dispatcher script as well to handle postmarketOS' setup with unudhcpd as
we want to provide an SSH login over USB when tethering is disabled. If
tethering is enabled, unudhpcd is stopped and its functionality is taken
over by NetworkManager through an instance of dnsmasq. NetworkManager
will also configure the necessary settings to allow IP forwarding and
firewall rules during tethering. Once disabled, NetworkManager cleans up
these settings and our dispatcher script starts unudhcpd again.

Due to upstream changes, NetworkManager requires networkmanager-dnsmasq
subpackage as dependency as dnsmasq needs DBus support for
NetworkManager. Without it, NetworkManager will silently fail spawning
dnsmasq instances.
[ci:skip-build]: already built successfully in CI
2023-05-21 19:42:14 +02:00
Clayton Craft
4b516916dc
pmos-base-ui-networkmanager: set up dnsmasq for filtering lookups (MR 3823)
This uses a dispatcher script to configure filtering A and AAAA records
based on which IP versions are routable on the NM primary connection.

gojq is preferred over the 'standard' jq because it's considerably
faster... the dispatcher script took 0.89s on my L5 with jq, and 0.07s
with gojq. the difference is probably greater on slower phones... so it
seemed worth installing it.

fixes #1430

Co-authored-by: Arnavion <me@arnavion.dev>
2023-04-29 23:40:52 -07:00
Luca Weiss
99553042ad
main/postmarketos-base-ui: configure openrc-settingsd for chronyd (MR 3953)
We need to tell openrc-settingsd which ntp service to use, otherwise
it'll default to busybox ntpd which we don't want.

Additionally make sure openrc-settingsd service gets launched at boot
with the post-install/post-upgrade script.
[ci:skip-build]: already built successfully in CI
2023-04-12 16:53:15 +02:00
Clayton Craft
8c29eaed6e
main/pmos-base-ui: add postmarketos-default-camera dummy package (MR 3815)
This is a dummy package that other packages can install_if on to install
the appropriate camera app for the device/UI. It's intended to be added
to pmb_recommends= for pmos-ui-* packages that want to have a camera by
default.
2023-03-01 08:42:45 +01:00
Raymond Hackley
c0db634e92
main/postmarketos-base-ui: networkmanager: depends on networkmanager{,-*} (MR 3749)
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2023-01-06 21:53:28 +01:00
Clayton Craft
7327bd393f
main/*: depend on font-dejavu (MR 3521)
renamed in aports@ee78772612
2022-10-10 18:53:35 -07:00
Newbyte
fa048b7517
main/postmarketos-base-ui: run SDL in Wayland mode by default (MR 2669)
This is possible now that all SDL (1) applications use sdl12-compat
instead of "classic" SDL 1.2. Note that this only is applied to user
interfaces that use Wayland and are launched through tinydm.

See https://gitlab.alpinelinux.org/alpine/aports/-/issues/12739
2022-10-09 15:23:59 +02:00
Raymond Hackley
829413ef71
main/postmarketos-base-ui-pulseaudio: depend on pulseaudio-utils (MR 3411)
start-pulseaudio-x11 uses pactl, which is not installed by default.
2022-09-08 13:56:06 +02:00
Clayton Craft
4a7e47013e
main/postmarketos-base-ui: simplify pulseaudio config (MR 3412)
config scripts in /etc/pulse/default.pa.d are loaded automatically by
default.pa
2022-09-08 09:15:22 +02:00
Luca Weiss
f117116be2
main/postmarketos-base-ui: add pmOS icon dependency (MR 2867)
Also properly sort the dependencies alphabetically while we're at it.
2022-01-21 01:09:59 +00:00
Antoni Aloy Torrens
bd178b8db3
main/postmarketos-base-ui: add Xwrapper script for X11 (MR 2773)
Xorg needs an Xwrapper.config script with the line 'needs_root_rights=yes' to get tinydm + sxmo to work
2021-12-19 21:46:02 +03:00
Oliver Smith
13a7778f94
main/postmarketos-base-ui: NetworkManager: hostname-mode=none (MR 2457)
Disable the hostname management feature of NetworkManager. This isn't
useful for the postmarketOS use case, where we set one hostname in
/etc/hostname via pmbootstrap and want it to be used. (It makes more
sense for normal PCs, which may just have the hostname 'localhost' at
the end of the installation and then not be unique in the network.)

NetworkManager is supposed to only change the hostname if it is set to
localhost, however this detection does not work properly in
postmarketOS. I've skimmed through sources of elogind, NetworkManager
and OpenRC a bit and found that in OpenRC the definitive location to put
the hostname is /etc/hostname. The other path, /etc/conf.d/hostname, is
just a fallback. Experiments show that setting something in
/etc/conf.d/hostname does prevent NM from setting a hostname offered by
the DHCP server, but it's not clear to my why this happens. I suspect
elogind + dbus. Disabling this feature we don't need anyway seems like a
good approach to me without wasting too much time here.
2021-08-24 14:37:41 +02:00
Bart Ribbers
323c909f8c
main/postmarketos-base-ui: add "$HOME/.local/bin" to $PATH (MR 2445)
This directory is specified by the XDG Base Directory specification
(https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html).
Quoting:

> User-specific executable files may be stored in $HOME/.local/bin.
> Distributions should ensure this directory shows up in the UNIX $PATH environment variable, at an appropriate place.

So let's actually do this. This way also binaries installed by e.g. Pip
or Cargo will be usable out-of-the-box rather than that the user has to
figure out why it's not appearing in their PATH.
2021-08-18 17:05:02 +03:00
Dylan Van Assche
a40026d05e
postmarketos-base-ui: install obexd and obex-capabilities (MR 2245)
Install obex-capabilities and a modified DBus Service
for BlueZ's obexd when BlueZ OBEX support is installed.
UIs depending on BlueZ are now also depending on
bluez-obexd for OBEX support through various MRs at Alpine.
2021-07-18 11:38:10 +03:00
Duje Mihanović
4f16edac7a
main/postmarketos-base-ui: Add ttf-dejavu to dependencies (MR 2341)
This package used to be installed through osk-sdl, but now osk-sdl is only
installed when FDE is enabled, and so when it is not enabled the system has no
fonts to use, which means UIs like Sway and Weston have broken fonts. This
commit fixes the issue.

[ci:skip-build] already built successfully in CI
2021-07-12 10:36:43 -07:00
Newbyte
6d25d7f617
main/postmarketos-base: add Firefox env config to -tinydm subpackage (MR 2235)
Currently, this only sets Firefox to run in Wayland mode, but in the
future it might be used to make e.g. SDL applications run in Wayland
mode.

SDL applications are not set to run in Wayland mode right no as
SDL 1.2 uses the same environment variable as SDL 2.0 for
controlling video driver (SDL_VIDEODRIVER) and SDL 1.2 does not
support Wayland and crashes if an invalid value is provided for
SDL_VIDEODRIVER, and as such setting SDL_VIDEODRIVER=wayland
globally would break all SDL 1.2 applications. This will however be
fixed once SDL 1.2 is replaced by sdl12-compat in Alpine, as
sdl12-compat implements the SDL 1.2 API and ABI via SDL 2.0 and as
such supports Wayland. As such, once this happens we can start
setting SDL_VIDEODRIVER=wayland.

[ci:skip-build] already built successfully in CI
2021-06-30 23:38:12 -07:00
Clayton Craft
6e325417de
postmarketos-base-ui: new aport (MR 2243)
This provides UI-specific config and dependencies for postmarketos-ui-*
packages.

fixes #1104
2021-06-23 13:00:00 +02:00