So that old installations that run setup-timezone without "-i" do not
need to execute manual steps to get sensible timezone configurations.
See https://gitlab.com/postmarketOS/pmaports/-/issues/2168 for more context
Fixes#2168
[ci:skip-build]: already built successfully in CI
Since the modules are going to be installed into the initfs, it makes
sense to use a more verbose naming for the file. Otherwise there's the
risk of getting confused with other type of module files that exist in
device packages.
Fixes 65be0d7e81
In some situations, like when building a device package with pmb,
deviceinfo may not exist in the rootfs. mkinitfs 2.2's behavior changed
slightly to fail if it can't find a deviceinfo, and this avoids calling
it in those cases.
[ci:skip-build]: Already built successfully in CI
1. Move all configs from /etc/NetworkManager/conf.d to
/usr/lib/NetworkManager/conf.d since the latter is more appropriate for
distribution-provided config files. In particular this means apk will
update them when the package file is changed rather than creating
`.apk-new` files. If a user wants to override such a file, they can create
a file with the same name under /etc/NetworkManager/conf.d
2. Move all dispatcher scripts from /etc/NetworkManager/dispatcher.d to
/usr/lib/NetworkManager/dispatcher.d for the same reason.
3. Rename all configs to have a "50-" prefix so that users can add their own
"99-" overrides with a guarantee that they'll be processed after
distribution-provided configs.
4. Rename dispatcher scripts to have a "50-" prefix instead of "85-" and "99-"
since they're distribution-provided files.
5. Move 50-tethering.conf from the base-ui package to
the base-ui-networkmanager package.
There are also some device packages that put config files without a numeric
prefix in /etc/NetworkManager/conf.d . This MR doesn't change those.
[ci:skip-build] already built successfully in CI
Configure NetworkManager to randomize the MAC address during WLAN scans
and of WLAN and Ethernet ifaces per connection. This reduces the
possible tracking that might occur based on MAC addresses with WiFi
hotspots. This matches the behavior of Android: it uses a random MAC
address during a WLAN scan and a random one per connection.
[ci:skip-build]: already built successfully in CI
Make it possible to load modules from the file installed by devicepkg-dev,
that will be there when extra modules are needed. This is coded in a
backwards-compatible way, so that it can be independent of the main modules
MR.
The code changes create a new function which takes a list of modules
and possibly a file (that should contain a list of modules too). The
idea is to be able to support also loading modules for initramfs-extra
in the future, and having a similar file would be more convenient than
extracting all the modules each time. In addition, the "[ -d /lib/modules]"
check has been removed. If there's no modules directory, as all
modules might be built-in, modprobe will fail, but that will not be
fatal. This will most likely only exclusively happen in some android
downstream kernel, so it should not be a big concern.
Since we've now finally removed telnetd from the main initramfs but we
still need telnetd for the debug-shell, add it to the files for that
hook.
Also make sure the list of files is sorted.
This appears to be an ancient leftover from the telnet-based FDE
unlocking mechanism that has been present many many years ago.
But since this was removed a while ago, it's time to also finally remove
telnetd from the initramfs.
Nvidia Tegra devices have APX mode which allows to flash/debrick
a device even with broken bootloader. It also allows to sideload
bootloader which is useful when porting a new bootloader.
Some devices have a key combination to enter this mode, some devices
don't have one. This hook alters two Tegra PMC registers which
causes device to enter APX mode. It works on the most devices
including some of those that don't have a key combination for APX.
Usage:
pmbootstrap initfs hook_add apx
pmbootstrap flasher boot
[ci:skip-build]: already built successfully in CI
The ovos package is now available in Alpine for aarch64 too. Enabling
the package for aarch64 again fixes the currently failing bpo images for
master:pine64-rockpro64:plasma-bigscreen.
[ci:skip-vercheck]: modifying arches only
[ci:skip-build]: already built successfully in CI
Since the original "Loading..." splash is being shown before the hooks
is being run, we should go back to the "Loading..." splash once we're
done in the hook.
[ci:skip-build]: already built successfully in CI
Since the original "Loading..." splash is being shown before the hooks
is being run, we should go back to the "Loading..." splash once we're
done in the hook.
MyCroft has seized development and the package has been removed from
aports. The OpenVoiceOS community has taken over development and has
with ovos a drop-in replacement.
Most UIs already implicitly depend on this in some way, and from the
user-facing point of view, it is sensible to have the full DB of timezones
available, in case the user wants to swap timezone or requires working
with them in different ways. Having it as a explicit dependency makes more
sense than relying on backward dependencies.
Background: https://gitlab.com/postmarketOS/pmaports/-/issues/2168#note_1426261355
[ci:skip-build]: already built successfully in CI
Add GNOME specific wallpapers with a good contrast, so lables for
launchers on top of the wallpaper can be read nicely.
Also set myself as maintainer since the original maintainer didn't
change the package since 2018.
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
Since codeaurora.org has been shut down and this project seemingly
hasn't been migrated to git.codelinaro.org, let's switch to a source
found on GitHub.
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
GNOME Console can now launch command-line applications from .desktop
files, so they are no longer "useless" in Phosh.
gnome-extensions-app hasn't been pulled in automatically in Phosh for
long. If users install this manually, it would be confusing for it to
not show up. The app itself has an error message that explains they
need to be logged into GNOME for it to work when launched in e.g.
Phosh, so I think that should take care of UX concerns. Additionally,
this package is installed in gnome-mobile as well, where
gnome-extensions-app actually is useful.
firefox-safe-mode has been removed in Alpine:
- https://git.alpinelinux.org/aports/commit/community/firefox?id=438ee43621e1a83c8309bf7e5e14ba9fce0532ff
- https://git.alpinelinux.org/aports/commit/community/firefox-esr?id=0f324c8b39ab08cc3f504e4ae959425bec472791
Considering all of this, postmarketos-hidden-desktop-entries no longer
serves a purpose, so let's remove it.
All Asteroid apps are launched with the "invoker" which needs the
booster running. Make sure this happens when the UI starts.
Alternatively we could use superd to launch it but for a single
executable this is good enough for now.
0.8.1:
Fixes:
- get_free_space: always return an integer (MR 31)
0.8:
Features:
- Add support for gummiboot
- Many internal code improvements and bug fixes, see git log for
details
Fixes:
- Fix destination space calculation (MR 28)
- Support destination paths with spaces
[ci:skip-build] already built successfully in CI
Needed by GNOME Software since
https://gitlab.alpinelinux.org/Cogitri/apk-polkit-rs/-/merge_requests/45
GNOME Software is often installed in GNOME UI's through pmb_recommends,
but it's not a dependency in any way. To avoid spilling this service
enablement everywhere, add just the openrc subpackage from the daemon.
That means that if GNOME Software is not installed or gets uninstalled,
the daemon will crash on startup. That should not be a big deal though.
[ci:skip-build] already built successfully in CI
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>
As a preparation for #1836, move the sourcing of deviceinfo to its own
function. This should allow to have a single point in the whole of the
initramfs for the sourcing of the deviceinfo, instead of every script
that needs it sourcing it. This allows to change the way deviceinfo is
sourced in the future with a lot less effort.
It has been dropped from Alpine due to being unmaintained and it's
dependencies not building against the latest kmime (23.04) anymore
[ci:skip-vercheck]
[ci:skip-build]
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
deviceinfo allows to disable the framebuffer which automatically
skips the splash on boot. Honor this setting as well for the shutdown
splash. Also honor the PMOS_NOSPLASH cmdline parameter as well.
[ci:skip-build]: already built successfully in CI