Release 2.1.0
Features:
* pmb.aportgen.device: modernize defaults
* init: tweak UIs hidden message
* install: get install_user_groups from pmaports.cfg
* chroot: /mnt/pmbootstrap-* -> /mnt/pmbootstrap/*
* build: use sccache for rust
* pmb.config: uefi kconfig check: add zboot for aarch64
* pmb.config: uefi kconfig check: add mixed mode for x86_64
* kconfig check: enable USB_CONFIGFS_NCM for USB gadgets
* parse.arguments: Allow providing multiple packages for kconfig_check
* parse.bootimg: Separate kernel and ramdisk MediaTek headers
* pmb.config: add RFKILL to iwd kconfig check
* install: rename --sdcard arg to --disk
* config.init: allow using pmb_select in pmos-base-ui
* aportgen: build gcc-x86_64 etc. pkgs for aarch64
Fixes:
* install: remove /mnt/pmbootstrap at the end
* parse: allow "-r" in pkgver
* parse.apkindex: fix typo
* chroot.apk,apk_static: always disable interactive mode
* install --sdcard: remove external_storage check
* config: Fix typo in valid aport options
* parse.depends: consider selected providers when resolving providers
* pmb.helpers.pmaports.get: deal with operators
* pkg resolver: don't guess if pmaport was found
* pmb.helpers.frontend: Convert kconfig check --file argument
Other:
* Cosmetic: build: add comment about rust deps
* test/test_crossdirect: remove
* README.md: add armv7 to supported architecture
* parse/init: allow importing arguments_install and arguments_flasher
* test: cosmetic: install deviceinfo under /usr/share
* pmb.aportgen.device: clarify supported values in modules_initfs
* pkg resolve: add more verbose logs
* pmb.config.apk_tools_min_version: add alpine 3.19
* aportgen: remove binutils
Release 2.0.0
After bumping the minor version 53 (!) times in 1.x.y, we have some
breaking changes justifying a major version bump. For users it should
still feel the same overall. Enjoy this release, and thanks so much to
everybody who contributed to it!
"Breaking" changes:
* Remove distcc support (was already disabled by default since
crossdirect had been added in 2019)
* Remove --no-crossdirect argument
* flasher: remove long deprecated flash_system alias
* flasher: set default fastboot rootfs partition to userdata
Features:
* aportgen: replace deviceinfo_modules_initfs for modules file
* pmb.install: create fstab and crypttab
* Add mtkclient as a flasher option
* Install makedepends in native chroot for packages using Rust
* Support --no-cgpt
* lint: drop call to pmb.build.init
* aportgen: use pmb.build.init_abuild_minimal
* pmb.config: only show first 3 releases
* init: allow all locales
* pmb.flasher: Improve flash_lk2nd action
* pmb.helpers.frontend: Also clear testsuite log when running log -c
* Don't use 'sudo' when running as root
* config: use en_US as default locale
* pmb: Remind users to ensure pmbootstrap is updated before reporting errors
Fixes:
* pmb.helpers.run_core: fix proxy env var logic
* pmb/partition: fix cgpt root_size to not cause resize on boot
* pmb.helpers.run_core: always configure proxy vars if set in environment
* install/partition: set efi flag with cgpt
* pmb.config: Use Python 3.8-compatible type annotation
* envkernel.sh: use realpath to deal with symlink
* pmb.helpers.run_core: fix sudo timer when not using sudo
* install: run setup-timezone with "-i" when appropriate
* pmb.config: select default UI in case current is not available
* pmb.config: set default UI to console
* pmb.config: add missing flash_rk_partition* flags
* pmb.qemu.run: replace removed -soundhw option
* pmb.helpers.run: fix sudo timer
* pmb.config.sudo: Use type union compatible with Python 3.7
Other:
* aportgen: device: rename modules to modules-initfs
* test: fix test_build_depends_binary_outdated
* test: fix running test_build_package.py standalone
* deviceinfo: make parse_kernel_suffix private
* pmb.helpers.run_core: move flat_cmd here
* test/test_pkgrel_bump: make sure pmb doesn't cross compile
* test: crossdirect: update stable branch ref
* test: specify default git branch
* test: dont fail on githook symlinks
* CI: add codespell
* treewide: fix typos found with codespell
* install/partition: rearrange cgpt commands in natural order
* CI: enable eval-annotations for vermin
* Remove workaround for gcc with !tracedeps
* install: move setup_timezone to its own function
* treewide: rename _system to _rootfs in various places
* pmb.flasher: remove outdated comment
* Use ruff for linting
* aportgen/binutils: set pmOS bugurl
* aportgen/binutils: add more makedepends_host
* aportgen/binutils: order fields alphabetically
* pmb.flasher.frontend: Use elif instead of repeated if
Release 1.53.0
Features:
* Speed up 'pmbootstrap checksum'
* build: make preferred target arch configurable
* kconfig check: Add USB gadget check to community
Fixes:
* install: write new file instead of modifying locale.sh from alpine-baselayout
Other:
* pmb.build.init: refactor init marker related code
* config: sort config_keys and fix layout
Release 1.52.0
Features:
* pmb.config.init: copy pmaports githooks to default git hooks dir
* pmb: Set PMBOOTSTRAP_CMD to argv[0] in environment
* pmb.parse.kconfig: Pass background color for menuconfig
* install/partition: set esp flag for /boot when using GPT
* qemu/run: add support for EFI boot
* parse/arguments: add qemu --efi option
* install: make cached remote repositories available on first install
* install: run alpine-appstream-downloader if available
* qemu: warn that network won't work with ui=none
* config: Add BINFMT_ELF and BINFMT_SCRIPT
* pmb.config: mount go caching directories
Fixes:
* build: support new abuild.conf path
* envkernel.sh: building x86 on x86_64 does not require a cross compiler
* setup.py: adjust path to pmb.__version__
* pmb.config.pmaports: replace aports split msg
* pmb.helpers.other.validate_hostname: allow periods
* pmb.parse.kconfig.check: fix writing to list arg
* pmb.parse.arguments: don't use python 3.9 feature
* pmb.aportgen.device: fix flash method autocomplete
* kconfig check: ANDROID_BINDER_IPC_SELFTEST not set
* kconfig_options_waydroid: enable PSI
* kconfig_options_waydroid: update to android 11
* kconfig check: extract_arch: support riscv64
* kconfig check: extract_version: replace - with _
* pmb.config.apkbuild_attributes: Add _depends_dev
* pmb/parse/arch.py: add riscv64 -> riscv to kernel carch mapping
* pmb.aportgen.linux: Depend on findutils
* pmb.helpers.run: don't pass stdin to output=stdout
Other:
* Move version to pmb.__version__
* pmbootstrap.py: move all features to pmb:main()
* pmbootstrap.py: require at least python 3.7
* Bump min. required Python version to 3.7
* test/test_zzz_keys.py: move from test/test_keys.py
* kconfig_options_waydroid: order alphabetically
* pmb.build.kconfig: split extract_and_patch_sources
* parse.arguments.add_kernel_arg: add nargs param
* pmb/build/kconfig.py: rename from menuconfig.py
* test: rework kconfig check tests
* kconfig check: less errors for non-detailed mode
* kconfig check: add --no-details argument
* kconfig check: add descriptions to more functions
* kconfig check: move check_config_options_set up
* kconfig check: drop "necessary_"
* kconfig check: config_file -> config_path
* kconfig check: remove redundant component lists
* pmb.parse.kconfig: remove config_path_pretty
* pmb.parse.kconfig.check_option: refactor
* pmb.parse.arch: Include comma after last dictionary items
* partition_cgpt: use pmb.chroot.apk.install
* ci/pytest.sh: check if pmaports dir is clean
Release 1.51.0
Features:
* pmbootstrap init: don't allow 'root' as username
* check_binfmt_misc: print more helpful error
* pmb.build.other: do not copy leftover abuild dirs
Fixes:
* qemu: ssh hostfwd on 127.0.0.1 instead of 0.0.0.0
* pmb.qemu.run: fix 3d accel on amd64
Other:
* Bump copyright to 2023
Release 1.50.1
Fixes:
- pmb/parse/arch.py: add arm64 -> aarch64 to mapping
- pmb.parse.kconfig: update version for MEMCG_SWAP change
Other:
- pmb.config.apk_tools_min_version: add alpine 3.17
Release 1.50.0
Features:
- pmb.parse.kconfig: add wireguard, filesystems & more to community check
- pmb.parse.kconfig: don't enforce non-core checks for testing devices
- pmb ci: add --fast argument
Fixes:
- pmb: sideload: wait for apk database lock
- flasher: heimdall: take depends from pmaports.cfg
- pmb ci: fix arg desc for --all
- pmb ci: error on using --all with script names
- pmb.qemu.run: stop forcing bios for riscv64
- pmb ci: fix typo in URL
Other:
- CI: fix typo in pmOS CI url
Release 1.49.0
Features:
* build: envkernel: support packaging kernels that were built on the host (MR 2175)
* pmb.parse.build: mention host compiled kernels in envkenel help (MR 2175)
* pmb: enable riscv64 architecture (MR 2215)
* pmbootstrap log: show testsuite log too
* pmbootstrap ci: new command
* pmb.qemu.run: support riscv64
* envkernel: add dependencies for running 'make dtbs_check'
Fixes:
* pmb.config: add missing pmb:kconfigcheck-* for lint (MR 2214)
* pmb: build: envkernel: Fix bind mount detection (MR 2217)
* pmb.parse.kconfig: fix container check for kernels >= 6.1 (MR 2220)
* pmb.parse.kconfig: drop remaining "_rc1" references (MR 2220)
* helpers/envkernel.sh: return 0 from fish_compat if --fish is not present (MR 2221)
* pmb.parse.kconfig: explicitly add dependency on SWAP
* pmb.qemu.run: replace -nic option with -netdev and -device
* aportgen: don't fail if binary ver < APKBUILD ver
* helpers/envkernel.sh: rename yaml-lint to yamllint
* pmbootstrap ci: fix error with deleted files
* pmb.config.required_programs: add tar
* flasher: fastboot: take depends from pmaports.cfg
Other:
* CI: replace gitlab CI with sourcehut CI
* CI: add note about running scripts locally
* README: remove outdated information
* README: add line breaks
* README: update development section
* README: add new line
* README: add link to issues
* README: add ML subscribe link
* build.yml: add missing sources line
* README: Document git commands for setting the git-send-email defaults
* b4-config: new file
* b4-config: linkmask: encode < and > chars
* CI: flake8: remove ignore for W605
* pmb.flasher.init.install_depends: new function
Between this release and the previous one, pmbootstrap.git was migrated to sourcehut:
https://gitlab.com/postmarketOS/pmbootstrap/-/issues/2181
Release 1.48.0
Feature:
* pmb.chroot.root: set PYTHONUNBUFFERED=1 (MR 2209)
Fixes:
* pmb.build._package: update isl workaround (MR 2213)
Other:
* pmb.chroot.root: order env vars alphabetically (MR 2209)
* pmb.aportgen.device: no depend on mesa-dri-gallium (MR 2210)
Release 1.47.1
Fixes:
- pmb.aportgen.gcc: remove !tracedeps option
- pmb.build.package: add workaround for missing isl