- Aug 11, 2024
-
-
Some shells, in particular Nushell, replace the built-in POSIX-compatible uname with a custom one that does not support common flags. I opened an issue in the Nushell repository about this, but it was rejected on the grounds that POSIX compatibility is not a goal. As such, run this in a subshell to ensure that we get the expected uname interface. Nushell issue: https://github.com/nushell/nushell/issues/12570
-
Otherwise this defaults to Any.
-
- Jul 30, 2024
-
-
Anri Dellal authored
-
- Jul 29, 2024
-
-
Oliver Smith authored
Do not fail with: ERROR: 'Namespace' object has no attribute 'image' Adjust the similar check for args.rootfs to be in the same style while at it.
-
- Jul 28, 2024
-
-
Oliver Smith authored
Don't fail with: type object 'Config' has no attribute 'mirrors.pmaports' Fixes: issue 2420
-
- Jul 23, 2024
-
-
Fixes #2416
-
- Jul 22, 2024
-
-
-
Remove arguments to set postmarketOS and Alpine mirrors. The current implementation is broken with the way the mirrors are now configured: The current implementation fills a list, but the mirror configuration code expects a string. It is not longer possible to set an arbitrary amount of mirrors for the postmarketOS mirror. The benefit is that we don't have comma separated values in the config file anymore but instead just simple strings. Now it is possible to have one proper mirror for aports, pmaports and pmaports_systemd, and one _custom one to override each of these. We already have too many options in "pmbootstrap -h", and changing a mirror is more of a base configuration that you do once and maybe change a few times, but don't need to be able to set it with each pmbootstrap run. Users are not going to write this out manually on their command-lines, it only makes sense in scripts and wrappers for pmbootstrap, and there you could as well use another method (as now described in docs/mirrors.md) to set the mirrors. Less important, but another reason is that using "-mp" (two letters as short argument) isn't really elegant.
-
- Jul 21, 2024
-
-
Caleb Connolly authored
We handle this correctly for dependencies of the base package but not the base package itself.... Fix this. Should avoid duplication here ideally. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
Caleb Connolly authored
A previous attempt inserted subpackage depends into the package depends list returned by get_depends(). This meant that pmb would try to install subpackage depends when building the package, which breaks for some cases like device packages with kernel variants since the depends of different subpackages might conflict with each other. Let's instead just add the subpackage depends to the build queue, so they get built like package depends, without being pulled in as build dependencies for the package. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
Caleb Connolly authored
This reverts commit 6002a733.
-
When using fastboot-bootpart flash method to split root/boot partitions out, it was no longer possible to flash the Android boot partition. Add a new flash_boot action to handle this. This will allow us to migrate devices like the OnePlus 6 to have the boot partition (ESP) on system, and the rootfs on userdata rather than the current subpartition method. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
This wrapper script, which was added in alpinelinux's heimdall 2.1.0 package, replaces heimdall_flash_kernel.sh and takes a fifth arg with dtb name. The script then concatenates vmlinuz and the dtb into a vmlinuz-dtb file and flashes it to the kernel partition. Boot-deploy was previously responsible for creating vmlinuz-dtb, but to save disk space we have moved away from creating it unconditionally. Fixes: https://gitlab.com/postmarketOS/boot-deploy/-/issues/26
-
Instead, use new --wait arg added in heimdall 2.1.0. Heimdall then waits until it detects a compatible device and then continues with flash action.
-
- Jul 20, 2024
-
-
Caleb Connolly authored
When we output the root partition path, it says rootfs.img but it should be root.img fix it. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
- Jul 19, 2024
-
-
Caleb Connolly authored
Recurse dependencies of subpackages too. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
Caleb Connolly authored
Pass in --repository for all channels not just the default. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
- Jul 18, 2024
-
-
Caleb Connolly authored
Bail on empty build queue after checking if build_packages need building. So if apk-tools / alpine-base / etc are outdated but nothing else is they'll still be built. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
- Jul 17, 2024
-
-
Oliver Smith authored
Fix writing config options that are stored as CSV-list. Without this patch: $ pmbootstrap config aports /tmp/pmaports [23:43:58] Config changed: aports='/tmp/pmaports' $ pmbootstrap config aports [PosixPath('/'), PosixPath('t'), PosixPath('m'), PosixPath('p'), PosixPath('/'), PosixPath('p'), PosixPath('m'), PosixPath('a'), PosixPath('p'), PosixPath('o'), PosixPath('r'), PosixPath('t'), PosixPath('s')] Storing strings as CSV list isn't great and we probably want to implement this more elegantly, see the related issue. But let's fix this first. Related: pmbootstrap issue 2412
-
- Jul 16, 2024
-
-
Iuri Jikidze authored
-
- Jul 15, 2024
-
-
Oliver Smith authored
-
Oliver Smith authored
Let's write all new documentation in markdown, and convert existing ones at some point. I think we are all much more familiar with markdown than with the rst format.
-
Oliver Smith authored
Allow setting _custom mirrors in the config: * alpine_custom * pmaports_custom * systemd_custom When these are set, they are added to /etc/apk/repositories before real repositories. This is used by bpo to build packages with a WIP repository enabled, in addition to the final repository. All mirrors can also be set to "none" to be disabled. This is important for bootstrapping from pure Alpine without any binary repository, and the bpo testsuite also uses this. I've discussed with Caleb whether to name it _wip instead of _custom, but the latter is more generic and people may also use this for other use cases than the bpo wip repository thing.
-
Oliver Smith authored
-
Oliver Smith authored
We have decided to let the user generate a pmbootstrap_v3.cfg file instead of attempting to automatically migrate the file. This way we don't need to worry about potential migration bugs and users can also temporarily go back to v2 to compare behavior with v3 without problems. Remove migration logic related to mirror_alpine and mirrors_postmarketos, before I add support for using multiple repositories with these again (as needed for bpo). This reduces complexity and removes a note about "multiple mirrors are not supported" that won't be valid anymore.
-
Oliver Smith authored
When selecting a different mirror in "pmbootstrap init", then select the systemd mirror as well. It will always be the normal postmarketOS mirror plus some path appended. Currently it is the path for the staging repository, this will change when the systemd changes are merged to pmaports master and bpo can build it. I'll adjust this before we release pmbootstrap v3. I have considered changing the code so that we don't store a separate systemd mirror in the config. But I think it's useful to be able to point to systemd mirrors with different paths for debugging purposes, and also it would make the logic more complex once we re-introduce support for multiple mirrors of the same type for bpo. So I've intentionally kept that part as-is.
-
Oliver Smith authored
-
Oliver Smith authored
Manual fixes for things that ruff didn't fix automatically. From python3 docs: > Union[X, Y] is equivalent to X | Y and means either X or Y.
-
Oliver Smith authored
-
Oliver Smith authored
Now that we have target-version = "py310" in [tool.ruff] in pyproject.toml, ruff check complains about using typing.Optional and typing.Union instead of newer syntax. Run the tool to fix it.
-
Oliver Smith authored
-
Tweaked-By:
Oliver Smith <ollieparanoid@postmarketos.org>
-
- Change some arguments' types to bool to avoid type mismatch errors after refactoring in the future - Add more arguments from parse/arguments with corresponding types - Change type of pmbootstrap log --lines argument to int
-
This was missed in fc010bc7 Before this fix: ``` ... [18:34:35] Enable background timer to prevent repeated sudo authorization? (y/n) [n]: y (020272) [18:34:44] ERROR: 'Config' object has no attribute 'mirrors_postmarketos' (020272) [18:34:44] See also: <https://postmarketos.org/troubleshooting> (020272) [18:34:44] Traceback (most recent call last): File "/home/arnavion/src/pmbootstrap/pmb/__init__.py", line 72, in main return config_init.frontend(args) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/arnavion/src/pmbootstrap/pmb/config/init.py", line 729, in frontend ask_for_additional_options(config) File "/home/arnavion/src/pmbootstrap/pmb/config/init.py", line 542, in ask_for_additional_options logging.info("Selected mirror:" f" {','.join(context.config.mirrors_postmarketos)}") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/arnavion/src/pmbootstrap/pmb/core/config.py", line 130, in __getattribute__ return super().__getattribute__(key) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'Config' object has no attribute 'mirrors_postmarketos' ```
-
- Jul 13, 2024
-
-
Caleb Connolly authored
Was left in for debugging Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
Caleb Connolly authored
If you init and set a custom work dir it will not be relative to pmaports anymore. Detect this and reset config.aports to be relative to the new workdir. Fixes #2406 Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
- Jul 11, 2024
-
-
Caleb Connolly authored
In ("build: special case building abuild (MR 2356)") we tried to ensure that abuild would be built before anything else, however this implementation failed miserably if the first package given didn't actually need to be built (since we skip building deps of packages that aren't flagged for build). Let's take a different stab at this by actually inserting build_packages into the build queue if they need building. They're inserted at the end just before the queue is reversed, so they will always be built first. This makes the order of pmb.config.build_packages important, enshrine this with a comment. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
Caleb Connolly authored
If you build a package with --src but some dep is outdated, force you to build it (or otherwise handle the situation yourself). We can't guess what to do here. This could be made configurable (opt-in) in the future. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-
Caleb Connolly authored
We might have just built some other package which will later be used to build more packages. Handle all of them and don't special case abuild. Signed-off-by:
Caleb Connolly <caleb@postmarketos.org>
-