- Sep 30, 2024
- Sep 26, 2024
-
-
Newbyte authored
We no longer care about supporting Python versions older than 3.10, which is when match was introduced.
-
Newbyte authored
Also remove args from functions that don't actually need it to faciliate this. This does not attempt to fix any of the bugs with pkgrel_bump.
-
Newbyte authored
Otherwise we don't get type checking in these functions.
-
- Sep 22, 2024
-
-
Oliver Smith authored
This function is used by "pmbootstrap repo_missing", which is only used by bpo. In order to support building the split repository in bpo, this patch is required. Return "systemd" for the packages that are in extra-repos/systemd, and None for all other packages (indicating that they don't get split into a separate repository). Checking the parent-parent dir of the APKBUILD is a bit fragile (assuming we don't have subdirs in the systemd repository), but that assumption was made with the previous implementation as well (would only return "systemd" in that case). I don't see a better solution with reasonable effort right now, given that we also support multiple pmaports dirs. We can improve this in the future, meanwhile let's just not use subdirs in the systemd repository.
-
Oliver Smith authored
The function is never called with must_exist=False, so drop it.
-
Oliver Smith authored
Don't attempt to find packages of other arches in repo_missing code. This leads to unexpected results in general (we want to check if a binary package exists for only one specific architecture!) - and in case of master_staging_systemd, it current causes errors because pmbootstrap tries to fetch armhf, riscv etc. APKINDEXes for which we don't build the staging repositories.
-
Oliver Smith authored
Let the get() function pass the try_other_arches parameter when calling itself, so it does not get lost.
-
- Sep 19, 2024
-
-
Caleb Connolly authored
Fall back to doas if sudo is not available. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
Caleb Connolly authored
This reverts commit 099a7741.
-
Oliver Smith authored
As chroot.glob() now returns a generator, convert it to a list first to check if it is empty. This may not be the most efficient method, but since we expect it to be empty here it is fine. Without this patch, it always shows the error even if there are no locally built packages: ERROR: --no-local-pkgs specified, but locally built packages found. Consider 'pmbootstrap zap -p' to delete them.
-
- Sep 18, 2024
-
-
Oliver Smith authored
Fix that pmbootstrap exits with 0 on linter failure. Let it raise an error instead (which results in exit != 0).
-
Oliver Smith authored
-
Caleb Connolly authored
Make sure the symlinks are correct when not inside the chroot, they should be relative! Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
- Sep 17, 2024
-
-
Oliver Smith authored
Fix #2448
-
Oliver Smith authored
Logic for breaking dependency loops with existing binary packages is now implemented, so remove the related comment.
-
Oliver Smith authored
When a dependency cannot be found in source or binary packages of the selected architecture, then don't look for binary packages in other architectures package indexes. This leads to a confusing error down the line when building packages for extra_repos_systemd (and e.g. stable branches), because we don't have binary packages for all arches that pmbootstrap supports, and so it tries to fetch a non-existing APKINDEX. Instead, print a nice error about a non-existing dependency.
-
Oliver Smith authored
Don't just run one "mv" command to move everything from source to target. This fails if the same directory already exists in target. Instead, go into each directory in source, and move all files inside that directory into the target directory structure. Fix the following error: mv: cannot overwrite '/home/user/.local/var/pmbootstrap/chroot_native/usr/lib/sysctl.d': Directory not empty
-
Oliver Smith authored
Create a common merge() function that can be adjusted in the next patch, because the logic for merging needs to be more complicated now.
-
Oliver Smith authored
Currently the usr-merge script fails, and this leads to a very confusing error when running pmbootstrap the next time: (stack trace) KeyError: 'apk-tools' Show a more helpful error instead.
-
Oliver Smith authored
Adjust the dependency resolver, so it uses the main pkgnames in dependency resolution, instead of subpackages. This fixes for example that it couldn't find -dev packages even though the binary packages for those existed. > systemd: missing dependency linux-pam-dev, trying to queue other packages first > linux-pam: missing dependency systemd-dev, trying to queue other packages first > dbus: missing dependency systemd-dev, trying to queue other packages first
-
Oliver Smith authored
Split has_cyclical_dependency logic into an extra function, so it is easier to read.
-
Oliver Smith authored
Have messages like the following in "pmbootstrap log" to better understand why resolving packages fails. The bug with -dev pkgs not being recognized will be fixed in a follow-up patch. > systemd: missing dependency linux-pam-dev, trying to queue other packages first > linux-pam: missing dependency systemd-dev, trying to queue other packages first > dbus: missing dependency systemd-dev, trying to queue other packages first
-
Oliver Smith authored
Make the code easier to understand with a more meaningful variable name.
-
Oliver Smith authored
List each pkgname in a new line, instead of having a one line list of dictionaries with lots of attributes.
-
Oliver Smith authored
Print a warning when breaking cyclical dependencies, for example with current kde-nightly branch: > WARNING: cyclical build dependency, building kirigami with binary package of qqc2-desktop-style
-
Oliver Smith authored
Set "stuck = False" in the "while disarray and not stuck" loop directly, instead of setting it in the queue_item() function that gets called from it. This way the loop logic can be understood without looking at queue_item().
-
Signed-off-by:
Caleb Connolly <caleb@postmarketos.org> Tweaked-by:
Oliver Smith <ollieparanoid@postmarketos.org>
-
Most of the time when building it's reasonably safe to fall back on an older binary package for building in order to break cyclical dependencies (e.g. dbus and systemd depend on each other at build time, but it's safe to build both against older versions of the other). Implement the necessary logic to break cyclical dependencies by detecting them and checking for the existence of a binary package. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org> Tweaked-by:
Oliver Smith <ollieparanoid@postmarketos.org>
-
Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
tried this, it leads to hard-to-debug errors! Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
Decide the order to build packages in by looking through the build queue and making sure dependencies are queued before any packages that depend on them, bailing out in the case of cyclical dependencies. This should handle subpackages too. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
-
When building with --src or --force, other logic to detect when to build a package is skipped. However there are no (known) cases when someone might want to build a package if the resulting binary package version will be older than an existing binary package. Catch this case and fail with recommendations for user action (update pmaports, clear local binary repo). This should help avoid the situation where you accidentally build an old version of a package and it never actually gets installed. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org> Tweaked-by:
Oliver Smith <ollieparanoid@postmarketos.org>
-
This function is really hard to understand, try to make this a bit better by adjusting the wording to better reflect what it does. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
build_packages like apk-tools and alpine-base might get picked up and queued for build as dependencies of other packages. We don't want this since we always ensure they are queued first. Avoid queuing them in this case. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
This is never used so drop it to simplify things a bit. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
It turns out the current behaviour was not preserving the old behaviour at all, and was wrong. We want to build ALL outdated or new packages we encounter via the dependency graph. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-