- Feb 28, 2024
-
-
Pablo Correa Gomez authored
In the process, split the logic that calculates the size out of the install
-
Pablo Correa Gomez authored
This is in addition to the configuration option and the question in pmbootstrap init
-
Pablo Correa Gomez authored
This includes moving part of the logic from the install to the helpers, so it can be re-used there.
-
Pablo Correa Gomez authored
-
Pablo Correa Gomez authored
There's been the discussion of whether this fits in the additional options. Some people might not take this super well, so better always ask, just in case. We can always re-evaluate later.
-
Pablo Correa Gomez authored
And do so when requested
-
- Feb 26, 2024
-
-
Newbyte authored
If there are multiple sections to a subpackage declaration, the middle one (item 1 in the sequence in this case) is the custom function name which we should use instead of the deduced one. For example: $pkgname-something-separate:something_separate:noarch Here, the subpackage is called $pkgname-something-separate, but function names cannot contain hyphens, so it's instead given the custom name something_separate where the hyphen is replaced by an underscore. At the end, the architecture of the subpackage is also overriden as noarch instead of whatever architecture the main package has. However, it is also possible to only override architecture of a subpackage and not the function name. In such cases, we get this: $pkgname-something::noarch We still have a "middle section" (item 1 in the sequence), but it will be empty. As such, we not only need to check whether there are more than 1 subpackage part, but also whether that extra subpackage part is an empty string or not. This fixes an issue where pmbootstrap would not end up just setting the properties of subpackages with a set arch but no custom function as None instead of giving them proper depends, install, pkgdesc, et cetera properties.
- Feb 22, 2024
-
-
Supposedly this is the architecture reported by userspace when running in 32-bit mode on aarch64. Closes https://gitlab.com/postmarketOS/pmbootstrap/-/issues/2311
-
Highlight messages like the following from pmbootstrap install: [19:45:59] *** (1/4) PREPARE NATIVE CHROOT *** [ci:skip-build]: already built successfully in CI
-
Ferass El Hafidi authored
Many have been unable to use pmbootstrap install on kernel versions between 5.8 and 6.0 as parted was giving the following error: Error: Partition(s) 1, <...>, 64 on /dev/install have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes. And pmb couldn't find /dev/loop0p1: ERROR: Unable to find the first partition of /dev/loop0, expected it to be at /dev/loop0p1! Related: #2309 [ci:skip-build]: no code changes Signed-off-by:
Ferass El Hafidi <funderscore@postmarketos.org>
-
- Feb 16, 2024
-
-
If the device name does not make a valid hostname, fall back to some simple valid hostname. Some device names (e.g. 'generic-x86_64') are valid names for apk packages and such, but are not valid host names. It assumes that the user (real, or CI) doesn't care if it's unset and just expects pmb to work and not conditionally crash based on the device they selected. Situations where the user sets an invalid hostname are still validated separately and cause an exception so that they know their config was wrong and to fit it. This fixes an issue that came up in CI when doing `pmb config device generic-x86_64` followed by `pmb install`. I considered trying to convert invalid host names into valid ones, but I didn't feel like it was worth the trouble of adding stuff to convert and re-validate when we can just set a static, boring, but definitely valid default if the device name is not valid.
-
-
Newbyte authored
Apparently importing urllib doesn't by itself import the urllib.parse module, which mypy complains about. Reference: https://stackoverflow.com/a/41502702/9315690
-
Newbyte authored
Repurposing argcomplete as a boolean telling whether the module argcomplete was found results in a variable with two distinct purposes and types, which is bad practice and confuses Mypy. As such, don't assign False to argcomplete if the module is not found and instead just check for whether it exists in sys.modules to determine whether it was imported successfully.
-
Clayton Craft authored
This drops the prompt for using non-free firmware in images. The logic for searching/installing non-free fw subpackages for devices is kept, and will always be installed. This is to support the many device packages in pmaports that still have nonfree-firmware subpackages. Going forward, device packages can list firmware in `depends=` (for required fw) or `pmb_recommends` (for optional fw). nonfree-userland wasn't used in pmaports as far as I could find.
-
- Feb 15, 2024
-
-
Oliver Smith authored
-
Sometimes dependencies of packages we are explicitly adding to world define selected providers that we should account for. This improves get_selected_providers to discover/add these selected providers in dependencies too, recursively. Fixes #2306
-
It has been a confusion point in the past: https://gitlab.com/postmarketOS/pmbootstrap/-/merge_requests/2128 https://gitlab.com/postmarketOS/pmbootstrap/-/merge_requests/2094
-
Makes it much easier to read
-
- Feb 14, 2024
-
-
Newbyte authored
We no longer use SourceHut for pmbootstrap development, so this is no longer relevant.
-
- Feb 11, 2024
-
- Feb 10, 2024
-
-
-
-
MR !2229 make pmbootstrap optional and break fish compat
-
- Feb 09, 2024
-
-
Andras Sebok authored
-
- Feb 07, 2024
-
-
Oliver Smith authored
Keep track of the packages visited and skip them if they are passed again. Fixes: 19f8a3b8 ("pmb.install: support pmb_recommends for any package")
-
- Feb 06, 2024
-
-
Oliver Smith authored
Only install the abuild-apk wrapper if cpu emulation is required. This fixes building for x86 on x86_64. Fix for: >>> postmarketos-base-ui-gnome: Analyzing dependencies... /usr/local/bin/abuild-apk: line 11: /native/usr/bin/abuild-apk: not found Fixes: c5ca06d5 ("pmb: only enable abuild-apk wrapper for buildroot (MR 2246)")
-
Enable some configs that were collected over the last year(s) and enable them for the community kconfig check.
-
we're not in the nftables only world yet, things like docker and tailscale only work with the `iptables` command. those programs expect iptable-modules, which we make available to nftables over the nftables/iptables compat layer.
-
Drop the weird flag file stuff for state management, and just always mount the source code in, and always unmount it on exit - including in the error path. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
When running build --force, if a later package is a dependency of an earlier package, it will be "visited" by the dependency resolver, erroneously causing it to be skipped when later in the session it's visited to force build. This is because previously visited packages are marked as such in a hashmap, but skip_already_built() assumes that a package which has been visited would have already been built. Fix this by overriding skip_already_built() if doing a force build. This works because package dependencies are only built if the APKBUILD version is newer than the binary repo, even when --force is specified. So there is no risk of an infinite loop here. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
Casey authored
Some packages like kernels are cross compiled from the native chroot. the apk_wrapper won't work here! So only enable it for buildroot chroots Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>