The current systemd user namespaces model
almost works with confidentiality, but a single
check for kprobes is used, which confidentiality
disables, so user namespaces fail. For now,
just downgrade lockdown to integrity until this
is sorted out in systemd.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8988>
_defconfig="defconfig" is the default logic in pmbootstrap, and thus should not be
duplicated in kernel packages. The only use-case for _defconfig is for when the
defconfig differs from what is automatically selected.
linux-next is not modified because it still uses the old kconfig fragments logic and
would break with this change.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8978>
_pmb_default is only for changing the default provider from
the package with the highest provider_priority. This package
is using it with the providers that already have the highest
priority, making _pmb_default a no-op. Thus, removing this
is a basic logic cleanup.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8949>
When systemd was added to postmarketOS, the postmarketos-base-ui-tinydm subpackage was never
updated to support it, meaning that only OpenRC ever got the config file. This commit fixes
that by creating a postmarketos-base-ui-tinydm-openrc subpackage and moving the OpenRC logic
there, leaving only the service manager agnostic config in the postmarketos-base-ui-tinydm
subpackage.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8939>
As per the apk-tools and abuild source code, 0 is a perfectly valid integer
for provider_priority, but our Python tests currently fail with a priority of 0
because 0 and None are the same in the if statement that checks priority.
Changes the if statement that checks priority to fail if the priority is
explicitly None.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8973>
phoc only loads one config file, with `/etc/phoc.ini` overriding `/usr/share/phosh/phoc.ini`.
Because `/usr/share/phosh/phoc.ini` only contains defaults, it is safe to override with the
device's phoc.ini and free up `/etc/phoc.ini` for user configs. If a user has modified
`/etc/phoc.ini` on their install, it will not be removed, making this change safe.
Also does various small cleanups, like setting the `install_if` to `postmarketos-ui-phosh`
instead of plain `phosh`.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8845>
Cleans up the packaging and installs the firmware files to /usr/lib/. Moves
the actual firmware out of the -common subpackage and into the regular
package, as this is the logical move, since the subpackages depend upon the
parent package anyways and the -dpu subpackage depends upon the firmware
files, which wouldn't exist if the -common subpackage wasn't previously
installed.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8915>
Previously, kconfigcheck would only run if the kernel configs of a
kernel package where changed. This means that, if a kernel package
is not directly upgraded, the kernel config will most likely never
be touched, leading to extremely out-of-date kernel configs.
Checking when the APKBUILD is modified instead would force the
check at every modification of a kernel package, forcing more
up-to-date configs.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8923>
The original disallowing of these subpackages happened in 2024.
It was expected that device packages would be voluntarily migrated
by the maintainers to reflect this new rule. But, this never happened.
Thus, enforcing this on all new and changed packages will force
the fixing of these packages.
This is not a treewide because so many packages still use the
nonfree-firmware subpackage logic that an MR would be an absolute pain
to handle and rebase. This is also a very easy fix to incorporate into
unrelated changes.
See https://postmarketos.org/edge/2024/02/15/default-nonfree-fw/
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8914>
With the switch to sudo-rs, v26.06 and edge installs do not have
doas by default. Along with this, we installed doas on old installs
with doas-sudo-shim, so the call to sudo also works there. Therefore,
recommending and calling sudo is the correct option here.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8873>
Even though systemd-dev provides eudev-dev, it doesn't make sense
to keep these dependencies, since we fully control the systemd
repo and don't need to work around these things. Most of these
packages depend on systemd-dev anyways, making this second
dependency useless.
This frees up some room for modifying the provides of systemd to
better integrate with the regular repo in the future.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
[ci:skip-vercheck]: enabling package for arch
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8902>
/etc/local.d/ is reserved entirely for sysadmins for usage with OpenRC.
There was an effort to move this path to *-openrc subpackages in
abuild!484, but it was stalled for this reason. As such, it makes
the most sense to disallow all files in /etc/local.d/ in packaging.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8745>
Persisted_Captules.sh is huge (70 MB) and can cause boot-deploy failures
when doing transactions that do large modifications to `/boot/`, such as
switching kernel packages. Persisted_Capsules.sh is recreated on reboot
and we do not use it for anything currently, so it is safe to remove in a
hook.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8368>
The input group should not be blanket allowed for UIs that do not need it as
it bypasses the security benefits of Wayland. This change explicitly adds
the input group to only the UIs that absolutely require it, which is only
SXMO due to their udev rules and lisgd.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
[ci:skip-vercheck]
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8767>
Removes the template file to abide by hermetic-usr. If a user
wishes to override deviceinfo themselves, then they can create
the file. Existing /etc/deviceinfo files will not be deleted if
they have been edited, so current installs with modifications
will not be affected.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6834>
q6voiced stores its config in the OpenRC configuration directory, which is
automatically picked up by the default_openrc split function and moved to
the openrc subpackage. This means q6voiced never starts on systemd. Move
this config out of the openrc subpackage by not using default_openrc.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8656>
category:rust was actually not added to *enable* Rust support in the kernel,
but to add options needed by kernels that had *already* enabled Rust. Since
the category was meant for kernels with Rust enabled, enabling Rust support
with the category makes sense and fits better with the category name to clear
up any confusion kernel package maintainers may have.
See 5cbd09c81c
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8559>
For systemd-logind to allocate VTs automatically when a user switches to them, two
things need to be done. First, logind.conf needs `NAutoVTs=` set to a value, which
in this change is set to the default. Second, getty@.service needs to be symlinked
to autovt@.service, otherwise systemd-logind fails to find the template file.
This change also moves logind.conf to the proper path under `/usr/lib/systemd/`
instead of the sysadmin override path under `/etc/systemd/` and alphanumerically
sorts the sources.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8496>
gcc4 and gcc6 are only used for compiling downstream kernels these days.
Because these compilers are so old, most of fortify-headers does not even
work with them. As such, because downstream kernels have no security
guarantees, removing fortify-headers from the default include path
won't have any negative impacts on the distro.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8214>
Having many separate mkinitfs-hook packages makes it harder to add new
hooks and makes maintaining the hooks very fragmented and challenging.
Merging them all into one package and splitting them out by subpackage
makes them much more maintainable and makes adding new hooks as easy as
adding files and a subpackage.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8413>