No description
Find a file
Aelin fddebb2279
systemd/systemd: fix the provider mess
This fixes two issues:

1. I was investigating why currently, pmbootstrap build --force
   libcamera would fail. It turns out that the problem was possible to
   reduce down to apk add eudev-dev resulting in installing eudev-dev
   instead of systemd-dev, even with the systemd repository enabled.
   This is because apk actually thinks it has a higher version:

name <eudev-dev> selected from selectable list
select_package: eudev-dev (requirers=1, autosel=1, iif=0, order_id=0x40005807)
  consider systemd-dev-261_rc4-r0 iif_triggered=0, tag_ok=1, selectable=1, available=1, flags=0x0, provider_priority=100, installed=0
   prefer existing package
    choose as new provider
  consider eudev-dev-3.2.14-r6 iif_triggered=0, tag_ok=1, selectable=1, available=1, flags=0x0, provider_priority=100, installed=0
    select latest by requested name (greater)
    choose as new provider
  consider libudev-zero-dev-1.0.4-r0 iif_triggered=0, tag_ok=1, selectable=1, available=1, flags=0x0, provider_priority=20, installed=0
    select latest by requested name (less)
selecting: eudev-dev-3.2.14-r6, available: 1
assign eudev-dev to eudev-dev-3.2.14-r6
disqualify_package: systemd-dev-261_rc4-r0 (conflicting provides)
disqualify_package: libudev-zero-dev-1.0.4-r0 (conflicting provides)

   And why is that? It's because we have two providers here: One is
   eudev-dev with a provider version of 3.2.14-r6, and the other is
   systemd-dev with a provider version that is empty. This then results
   in apk thinking the version number is greater, as seen above in the
   verbose output. An unversioned provides= for an exact package name
   match will never, ever, ever have any effect, even if the priority is
   set super high, because the version number comparison is before apk
   even starts looking at provider priorities.

   Therefore, we should not have unversioned provides for eudev,
   eudev-dev, eudev-libs and udev. Since those have fairly low version
   numbers, we can just provide them with systemd's version number and
   we'll be fine. This will now result in apk actually installing
   systemd-dev when eudev-dev is prompted for installation.

2. After fixing the aforementioned issue, I noticed that I couldn't
   build anything anymore. This is because my dependency tree would pull
   in systemd and systemd-udev - completely normal. However, both
   systemd and systemd-udev were providing eudev, and apk will refuse to
   install two packages that provide the same thing at the same time.
   The fix for this is to just not provide eudev in the top-level
   systemd package and rather let systemd-udev do that.

With this, I can now finally build libcamera again!

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8857>
2026-06-19 03:46:53 +02:00
.ci CI: apkbuild-lint: add a skip-apkbuild-lint tag 2026-06-07 10:09:20 +00:00
.githooks githooks/pre-commit: remove file size check 2025-12-22 23:53:09 +00:00
.gitlab/issue_templates issue-templates/Release_Infrastructure: update 2026-06-15 19:23:56 +00:00
.well-known well-known/funding-manifest-urls: new file (MR 6074) 2025-01-20 18:59:41 +01:00
cross cross/gcc-*: Upgrade to 15.2.0-r6 2026-06-14 16:53:59 +00:00
device device-lenovo-21bx: Fix typo in lts kernel description 2026-06-18 19:04:35 +02:00
docs docs: reference Alpine Linux's CODINGSTYLE.md 2026-06-18 13:39:33 +00:00
extra-repos/systemd systemd/systemd: fix the provider mess 2026-06-19 03:46:53 +02:00
main main/postmarketos-base-ui-plasma: add cups to pmb_recommends 2026-06-18 07:54:18 +00:00
modem modem/msmipc-dev: update to source mirror 2026-05-26 15:31:05 +02:00
temp temp/plasma-bigscreen: remove 2026-06-17 08:54:06 +00:00
.clang-format Add .clang-format file (!465) 2019-06-26 22:36:15 +02:00
.ecrc CI: .ecrc: Exclude temp from check (MR 4858) 2024-02-27 08:24:53 -08:00
.editorconfig editorconfig: use spaces instead of tabs for markdown 2025-11-05 11:21:30 +00:00
.gitignore docs: structure: move packaging related pages 2026-06-16 13:27:25 +02:00
.gitlab-ci.yml CI: aport-lint: use alpine:edge 2026-06-07 10:09:14 +00:00
.mailmap */*: update my name and email 2026-06-06 21:14:12 +02:00
channels.cfg channels.cfg: add initial v26.06 branch 2026-05-19 15:04:27 +02:00
COMMITSTYLE.md docs: integrate COMMITSTYLE 2026-06-16 13:40:21 +00:00
deviceinfo_schema.toml deviceinfo_schema: deprecate deviceinfo_tmp_as_tmpfs 2026-06-08 17:53:12 +00:00
kconfig-generic.toml kconfig: add sc7180 chromebook configs to generic device category 2026-05-30 14:42:28 +00:00
kconfigcheck.toml kconfigcheck: drop DEBUG_INFO_BTF=n for LTO+Rust 2026-06-14 16:03:04 +00:00
LICENSE Add GPLv3 again 2018-08-23 21:44:22 +02:00
pmaports.cfg pmaports.cfg: add install_user_groups 2026-06-12 17:26:20 +00:00
README.md readme: update link to approval rules 2026-04-02 05:18:48 +00:00

postmarketOS aports repository

This repository contains the APKBUILD files for postmarketOS-specific packages, along with the required patches and scripts, if any.

There are many more packages defined in the Alpine Linux aports on which these packages depend.

Helpful resources:

Git Hooks

You can find some useful git hooks in the .githooks directory. To use them, run the following command after cloning this repository:

git config --local core.hooksPath .githooks