Alpine has changed location and package name of ttf-dejavu
fonts, adjust to new location.
Without this, fbkeyboard service crashes with error:
unable to load font file: No such file or directory
Default font path is hardcoded [1] to
"/usr/share/fonts/ttf-dejavu/DejaVuSans.ttf".
Luckily there is a CLI switch to change default, use it.
[1] https://github.com/bakonyiferenc/fbkeyboard/blob/master/fbkeyboard.c#L37
Text Editor is a new modern text editor for GNOME. It is the new
default, replacing gedit upstream. As such, let's do the same here
downstream.
[ci:skip-vercheck]: pkgrel bump is not necessary when changing
recommends.
[ci:skip-build]: already built successfully in CI
- Support for the huawei-g7 display panel in lk1st
- FS based boot is skipped when going to the recovery
- Generate image without appended dtb for lk2nd-msm8226
- Some bug fixes and device improvements
New devices:
- Samsung Galaxy Ace 4 (SM-G357FZ)
- Samsung Galaxy Grand 2 (SM-G7102)
- Samsung Galaxy Grand Max (SM-G720AX)
- Samsung Galaxy Tab 4 10.1 (2014) (SM-T530)
- Huawei Ascend G6 L11 LTE
- Some new variants for the existing Samsung devices
Changelog: https://github.com/msm8916-mainline/lk2nd/releases/tag/0.13.0
This has been out-of-date for almost a year with seemingly stalled
progress on the existing upgrade MR[1] for months now; it really seems
like no one wants to maintain this which currently leaves this
"force-installed-by-default" packaged image broken on all wlroots-based
Wayland compositors for example.
[1] https://gitlab.com/postmarketOS/pmaports/-/merge_requests/3091 ("Draft: main/waydroid-image: upgrade to 17.1.20220419")
At the moment almost all device packages force installation of the Mesa
drivers, even when they are not used by any application (for example on
a minimal headless installation with "none" or "console" UI).
Omitting mesa-dri-gallium from such installations saves about ~150 MiB
of disk space (469 MiB -> 317 MiB rootfs for minimal installation on
arrow-db410c).
The "classic" drivers have been removed from Mesa so only one mesa-dri-
package exists now: mesa-dri-gallium contains all Mesa drivers,
llvmpipe, freedreno, lima, panfrost, Intel (iris/crocus), ...
This means we can easily create an install_if package in
postmarketos-base that installs that driver package only if needed
(= only if another package requires the "mesa" package).
Strictly speaking the install_if could be restricted further since
mesa-dri-gallium is only needed by "mesa-egl", "mesa-gbm" and "mesa-gl"
but not e.g. the Vulkan drivers. Having three postmarketos-base
subpackages (one install_if for each of them) seems a bit
overengineered, though. "mesa" is a common dependency of all three
of them, so using install_if="... mesa" should be good enough.
renamed in aports@ee78772612
this also adds an explicit dependency on the font, since it may not have
been installed if postmarketos-ui-base was installed... (e.g. ui=None)
The xfce4-battery-plugin doesn't need to be installed anymore since we
switched to the "power manager plugin" in postmarketos-ui-xfce4 0.5.0.
The link to the old PostmarketOS icon isn't needed anymore for new
installations.
[ci:skip-build]: already built successfully in CI
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
Don't build with !tracedeps, as otherwise the isl dependency is not
properly added to the built gccs. In practice this probably doesn't
matter since we only use these old gccs to build kernels in the native
chroots (not via crossdirect in foreign arch chroots), and we also
install a proper gcc in the native chroot that pulls in the isl
dependency. But fix it for correctness.
Related: pmaports issue 1732
[ci:skip-build] Already built successfuly on CI in MR
We already ship Angelfish and shipping 2 browser takes up a lot of
space. Besides Angelfish feels more native in Plasma Mobile (being baed
on Qt and made for mobile) and has a built-in adblocker nowadays so it
seems like the better option.
urfkill hasn't been used for quite a while, no need to keep it around
Motivation for this change is that the image builds of the UI are
currently running out of space so we need to decrease the image size
Actually package pulseaudio is needed instead of pulseaudio-utils.
Package pulseaudio-utils then gets drawn in by postmarketos-base-ui
sub-package pulseaudio.
For Xfce4 this is a cosmetic change because pulseaudio gets installed
as a dependency of pavucontol already. Keeping pulseaudio in the
_pmb_reccomends list makes sense to be clear which pieces are needed.
For MATE an explicit installation of pulseaudio is needed because it
doesn't use pavucontrol.
[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
Since c49d84f4ab1856156d26d59f5c88387776990d24 in Alpine's aports,
the sm.puri.OSK0.desktop service no longer tries to execute
/usr/bin/osk-wayland and instead just executes /usr/bin/squeekboard
directly, thus avoiding this needless indirection. virtboard hasn't
existed in postmarketOS for years at this point and squeekboard is
a hard dependency of phosh, so it's always going to be present
(thus making this check unnecessary) and the fallback if it isn't
wouldn't work anyway.
[ci:skip-build]: already built successfully in CI
At this point the only application preconfigured to be scaled was GNOME
Maps, which nowdays adapts just fine to narrow screens. Having it scaled
like this by default only degrades the user experience by making UI
elements tiny and hard to interact with.
Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1716
This would mitigate issues where apk unexpectedly replaces packages
somewhat as this way the user will be able to see precisely what changes
will happen to their system before they are committed. Furthermore, most
users are likely accustomed to package managers like apt, dnf, pacman,
among others that all are interactive by default and as such this would
provide a more familiar experience for them.
This will not affected pre-existing installs, and advanced users who
do not like this behaviour can restore the old one by deleting
/etc/apk/interactive.
[ci:skip-build]: already built successfully in CI
After PulseAudio support for MATE sound was enabled in Alpine Linux,
its interfaces are now available in the native MATE sound settings.
The additional PulseAudio volume control application therefore became
redundant.
[ci:skip-vercheck]
Don't install the experimental gnome-mobile forks of gnome-shell and
mutter in regular GNOME. These are probably more stable, and most
importantly this prevents accidental uninstallation of gnome-shell
without installing gnome-mobile-shell.
Revert the addition of the gnome-shell dependency to
postmarketos-ui-gnome. This isn't needed anymore and caused further
issues.
Fixes: issue 1701
Since merging the gnome shell on mobile MR 3404, gnome-shell needs to be
explicitly installed or else it gets removed on upgrade.
[ci:skip-build]: already built successfully in CI
It's broken and I currently don't have any interest in fixing it or
maintaining it in general. If somebody wants to package it later they
can always restore it
Previously only cross/gcc{4,6}-* packages were adjusted in MR 3419, but
these packages need to be adjusted as well.
Fix for error shown in upstream_compat check:
Increase 'gcc6' pkgrel (10 -> 11), missing depend(s): isl
Increase 'gcc4' pkgrel (5 -> 6), missing depend(s): isl
Related: pmbootstrap issue 2167
[ci:skip-build] Already built successfully once
Firefox packaging changed upstream, renaming the desktop files. This
caused the mime applications to be stale, so update those.
See also
https://gitlab.alpinelinux.org/alpine/aports/-/issues/13983
[ci:skip-build]: already built successfully in CI
The sole purpose of this subpackage was to work around that Firefox's
.desktop file did not match the GTK app ID. This has been fixed as of
the commit linked below, so drop the subpackage.
See 525736254c
The firefox-esr package in versions >= 102.2.0-r1 installs to
/usr/lib/firefox-esr instead of /usr/lib/firefox, adjust FIREFOX_DIR
to match. Install for both firefox-esr and firefox now.
[ci:skip-build]: already built successfully in CI
Although qt5-qtvirtualkeyboard is used by SDDM, in a Plasma session
itself maliit-keyboard is used instead
[ci:skip-build]: already built successfully in CI
Bootmac configures the MAC addresses of WLAN and Bluetooth interfaces at boot.
Bootmac can be invoked in various ways at boot, but currently only udev rules are tested.
Bootmac generates MAC addresses from the `serialno` provided by Android bootloaders
through /proc/cmdline or from /etc/machine-id. The Organizationally Unique Identifier (OUI)
is retrieved from a lookup database macdb by matching deviceinfo_manufacturer
from /etc/deviceinfo with the entries in the database.
See https://gitlab.com/postmarketOS/bootmac
Bump the pkgrel of gcc4 and gcc6, and regenerate the cross/* versions
with "pmbootstrap aportgen gcc6-armv7" etc.
Should fix these errors:
Error loading shared library libisl.so.22: No such file or directory (needed by /usr/gcc6/libexec/gcc/x86_64-alpine-linux-musl/6.4.0/cc1)
Error relocating /usr/gcc6/libexec/gcc/x86_64-alpine-linux-musl/6.4.0/cc1: isl_union_map_free: symbol not found
Error relocating /usr/gcc6/libexec/gcc/x86_64-alpine-linux-musl/6.4.0/cc1: isl_map_from_pw_aff: symbol not found
Error relocating /usr/gcc6/libexec/gcc/x86_64-alpine-linux-musl/6.4.0/cc1: isl_schedule_from_domain: symbol not found
...
Related: 54749a5222
[ci:skip-build]: already built successfully in CI
Alpine does not use setup-udev anymore and provides the same
functionality through setup-devd. The setup-udev script was deleted [1]
but postmarketos-base still used it and caused pmbootstrap to fail when
building a device image. Use the rc-service setup directly from
setup-devd.
[1] b56c4c2b9d
Adjust UIs that pre-install megapixels (not megapixels-gtk3) to also
recommend using postprocessd. This pulls in opencv, but overall improves
the usability of megapixels a lot so it seems worth installing by
default.
[ci:skip-vercheck]: _pmb_recommends doesn't need a pkgrel bump
dzImage generation tool for Tizen devices. The same dzImage format is
used in all Samsung's Tizen devices (Spreadtrum, Qualcomm, Exynos), so
we pick the latest script from the Tizen's Exynos kernel package.
Prior to this commit, the initramfs was unable to resize the root
partition if it was on a device backed by the device mapper. This commit
fixes that now that it is possible for the root partition to lie on a
device mapper device.
gnome-icon-theme has been dropped in alpine edge in favor of
adwaita-icon-theme. Adjust the _pmb_recommends of the Sxmo UI packages.
Fix for:
package 'gnome-icon-theme' from _pmb_recommends not found for arch 'x86_64'
Related: b24abe8a2c
Related: https://gitlab.com/postmarketOS/pmaports/-/jobs/2593231817
[ci:skip-vercheck]: changing _pmb_recommends doesn't need version bump
While GNOME does require hardware acceleration, GNOME's X11 mode
(not sure about Wayland mode) does work without DRM support, so
it works fine with software rendering on devices without a working
GPU as long as fbdev works.
I think this raises the question of whether we should rename
pmb:hw-accel to pmb:drm as e.g. Phosh should work without 3D
acceleration if a device e.g. uses a kernel with SimpleDRM support,
but that is out of scope for this MR/commit.
Effectively reverts 638362de63
[ci:skip-vercheck]
Fixes 02dfe83c4b
The previous `provides="mkinifs=3.6.0"` was a requirement because alpine's
kernels had a minimum dependency in `mkinitfs>=3.6.0` to make sure that
support for compressed modules existed. That requirement is no longer
in place[1], since the dependency is now on the `initramfs-generator`
virtual package. Also, since `initramfs-generator` is a virtual package
and not a real package, versioning it might mess up APK. The documentation
explictly states that virtual packages are those with unversioned provides
and a provider_priority. So to avoid having problems in the future, let's
strictly stick to it.
[1] 4fac61c826
Alpine provides a 'initramfs-generator' thing now that the alpine
linux-* depend on explicitly. This sets postmarketos-mkinitfs to be the
preferred provider of that virtual package.
Fixes:
ERROR: unable to select packages:
postmarketos-mkinitfs-1.4.1-r5:
conflicts: mkinitfs-3.6.1-r2[mkinitfs=3.6.0]
satisfies: postmarketos-base-20-r1[postmarketos-mkinitfs]
postmarketos-base-nofde-20-r1[postmarketos-mkinitfs]
.pmbootstrap-20220610.215815[postmarketos-mkinitfs]
.pmbootstrap-20220610.215815[mkinitfs]
mkinitfs-3.6.1-r2:
conflicts: postmarketos-mkinitfs-1.4.1-r5
satisfies: .pmbootstrap-20220610.215815[mkinitfs]
linux-rpi-5.15.45-r1[initramfs-generator]
.pmbootstrap-20220610.215815:
masked in: cache
satisfies: world[.pmbootstrap=20220610.215815]
Also see:
30d7b88324 (aports) main/mkinitfs: provide initramfs-generator
4fac61c826 (aports) main/linux-lts: replace mkinitfs with initramfs-generator
There was lately a discussion upstream due to apk 2.12.10 breaking
some packages in aports[1]. The conclusion in IRC is that provides
were designed to be either versioned or have a provider_priority.
Otherwise, the provides will be treated as a "virtual package".
Which is not what we want here.
[1] https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10847
The patch was meant well. But there are problems with yelp in its
current form in postmarketOS:
* It's practically empty. In the default install, there is only one
application that has some sort of help text, which is Chatty. But
when you click on the entry, there is only one line of generic
information about the app. Not useful for users.
* Yelp is not adapted for small screens, the one line of help text is
cut off on the PinePhone.
So let's not ship it by default in edge and v22.06 for now.
This reverts commit 5ef50b12f2.
[ci:skip-vercheck]: modifying _pmb_recommends doesn't need a version
bump.
At the moment, mkinitfs loads some file system modules always (ext4),
some dynamically (brtfs) and some not at all (f2fs, vfat), expecting
them to be built-in.
To support generic kernels (e.g. from Alpine) properly, use the
partition type detection for both boot and root partition and always
load the necessary modules before mounting.
An increasing number of devices relies on the vfat file system in the
initfs (e.g. for UEFI boot). Having to add all the modules required for
it to work to deviceinfo_modules_initfs is annoying and inconsistent,
in particular for the additionally chosen "nls" modules. Since we
already bundle several file systems by default, let's just add vfat
as well to simplify this.
Ideally mkinitfs should detect the file systems chosen at install time
in the future and only include the necessary modules, but until then
this just adds a couple of kilobytes to the initramfs.
closes#1515
This patch HAS NOT been tested to see if it actually fixes#1515. I do
not have my pinephone keyboard with me and will not till v22.06 is out.
Can someone please test this patch before merging?
Note: this is being merged upstream but needs a refactor of the
Makefile. See:
https://lists.sr.ht/~mil/sxmo-devel/patches/32630
Since we cannot get the refactor of the Makefile out before the next
release, this is the next best thing
[ci:skip-build] already built successfully in CI.
This replaces the previous `udevadm test` hack with a combination of
`udevd`, `udevadm trigger` and `udevadm settle` in order to coldplug all
available devices and make them available for use via libinput / unl0kr.
Relates to: #1411
[ci:skip-build] already built successfully in CI
We decided against pvr hacks, quoting craftyguy from issue 1316:
> We discussed this in our team meeting, and ultimately decided that
> supporting pvr in pmaports/pmOS has many of the same problems that
> we saw when trying to support hallium/libhybris, something we
> decided against. For much of the same reasons, we've decided that we
> want to avoid adding the proprietary userspace components required to
> support pvr in pmOS.
No device port is using this package anymore, but we forgot to remove
it. After branching v22.06 I realized that it doesn't build anymore
and as stated in MR 2702, it's unmaintained.
Related: https://builds.sr.ht/~postmarketos/job/767700
Fix the build failure when built with newer gcc:
/home/pmos/build/src/gcc-6.4.0/gcc/config/i386/i386.c: In function 'int function_arg_advance_32(CUMULATIVE_ARGS*, machine_mode, const_tree, long int, long int)':
/home/pmos/build/src/gcc-6.4.0/gcc/config/i386/i386.c:8743:18: error: converting to 'bool' from 'std::nullptr_t' requires direct-initialization [-fpermissive]
8743 | bool error_p = NULL;
| ^~~~
Patch source: https://svnweb.freebsd.org/ports/head/lang/gcc7/files/patch-gcc_config_i386_i386.c?view=markup&pathrev=545751
Fix the build failure when built with newer gcc:
/home/pmos/build/src/gcc-4.9.2/gcc/reload1.c:89:24: error: use of an operand of type 'bool' in 'operator++' is forbidden in C++17
89 | (this_target_reload->x_spill_indirect_levels)
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/home/pmos/build/src/gcc-4.9.2/gcc/reload1.c:444:7: note: in expansion of macro 'spill_indirect_levels'
444 | spill_indirect_levels++;
| ^~~~~~~~~~~~~~~~~~~~~
Patch source: https://github.com/ChrisMacGregor/esp-open-sdk/blob/master/1001-fix-reload1-compile-error.patch
This should be reverted when this Alpine issue has been closed:
https://gitlab.alpinelinux.org/alpine/aports/-/issues/13778
sxmo-common already had this for some reason.
[ci:ignore-count]
[ci:skip-build] Already built successfuly on CI in MR
the networkmanager package in alpine was refactored and the wifi and
wwan components were split off into separate subpackages. without these,
wifi and wwan networking are broken.
also see: aports 830af82c6c
[ci:ignore-count]
This code wasn't actually working for me on samsung-m0, so I
investigated and came up with that this fixes it. I'm not sure if you
are supposed to be able to omit the deviceinfo_ prefix? Either way, it
doesn't seem to work, so let's fix it.
Fixes fad7c7ef8e
XWayland is a phosh dependency. Having it in pmb_recommends adds
nothing and can be confusing, since power users would expect that
removing it from world would remove the package. That will never
be the case since phosh depends on it.
[ci:skip-build] already built successfully in CI
Adding bluez to "depends" in order to enable bluetooth service (doesn't
work on packages in "_pmb_recommends").
Adding blueman to "_pmb_recommends" to allow uninstallation by the
user.
Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1465
nmcli and nmtui are still missing in Gnome.
Move NetworkManager dependencies from postmarketos-ui-phosh, and phosh
will get them when depending on postmarketos-ui-gnome.
postmarketos-ui-i3wm|mate.post-deinstall:
Contains removal of file "61-autologin.conf"|"65-autologin.conf".
However, this file is removed by apk automatically unpon
deinstallation.
postmarketos-ui-i3wm|mate|xfce4.pre-deinstall:
Contains disabling service "lightdm". Removing display manager service
upon deinstallation isn't done by other UIs either. It can lead to
unexpected behaviour when installing another UI using lightdm and then
uninstall MATE UI.
Additionally
postmarketos-ui-i3wm.post-upgrade:
Removed postmarketos-ui-i3wm.post-upgrade and replaced it with a link to
postmarketos-ui-i3wm.post-install, like it's done in MATE and Xfce4.
I usually end up installing it on new installs. Why not enable it by
default and have a more polished experience for users? Most users will
use a gtk app and/or use the gtk file chooser
mesa-egl is usually installed by dependencies of ui packages, but when
choosing the "none" ui option in pmbootstrap, it isn't selected, leading
to libEGL.so.1 not being found.
Add it as an explicit dependency.
[ci:skip-build]: already built successfully in CI
Add and rearrange dependencies with new apps, and fix angelfish package
name.
Adds the following packages to extras:
- alligator (rss reader)
- kasts (podcasts)
- tokodon (mastodon client)
Move neochat from a required to an extra dependency, since it's a
matrix client (which many people may not need).
Add plasma-mobile-sounds to main dependency, so that kclock (and dialer
in the future) have sounds to choose from.
Rename plasma-angelfish to angelfish dependency since plasma-angelfish
was renamed in alpine at some point.
Remove the part of the description of the package that says numeric
passwords are required (no longer the case).
When moving the code to it's own repo I changed the license to GPL-2.0,
I forgot to update the APKBUILD.
[ci:skip-build] already built successfully in CI
Shared package for shared gnome and phosh ui configurations
Additionally, added missing dependencies:
Both Phosh and GNOME need elogind to do sleep inhibition and to
provide pam modules. gnome-bluetooth has some small udev rule
that helps marking devices for rfkill. Given that most devices
in pmOS have a bluetooth, this should be useful as a dependency.
These were most likely copied from phosh, but not necessary in
GNOME. They safe space in the interface, but GNOME Shell is really
not that useful in very narrow devices, so adding a configuration
for such cases should be unnecessary.
The dconf configuration and installation file was needed because the
schemas `sm.puri.phoc.application.org-gnome-maps` and
`sm.puri.phoc.application.firefox` are not schemas that can be overriden.
The actual schema is `sm.puri.phoc.application`, which is a relocatable
schema. Therefore, we could use an override to specify the default,
but with a simple configuration file, gsettings cannot relocate the
schema. Therefore, the dconf configuration makes sense for these kind
of schemas. For regular schemas that can be overriden with an override
file, it is simpler to just use it.