Skip to content
Tags give the ability to mark specific points in history as being important
  • 2.0.0
    b721b08e · Prepare 2.0.0 release ·
    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
    
  • 1.53.0
    6d0aa127 · Prepare 1.53.0 release ·
    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
    
  • 1.52.0
    a8695833 · Prepare 1.52.0 release ·
    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
    
  • 1.51.0
    3ad159f9 · Prepare 1.51.0 release ·
    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
    
  • 1.50.1
    9d93d34b · Prepare 1.50.1 release ·
    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
    
  • 1.50.0
    757d2a0b · Prepare 1.50.0 release ·
    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
    
  • 1.49.0
    6f45a5d5 · Prepare 1.49.0 release ·
    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
    
  • 1.48.0
    d2c39ce5 · Prepare 1.48.0 release ·
    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)
    
  • 1.47.1
    aaeff96d · Prepare 1.47.1 release ·
    Release 1.47.1
    
    Fixes:
    - pmb.aportgen.gcc: remove !tracedeps option
    - pmb.build.package: add workaround for missing isl
    
  • 1.47.0
    dac8b277 · Prepare 1.47.0 release ·
    Release 1.47.0
    
    Features:
    * pmb.helpers.run: only pass stdin where useful (MR 2197)
    * pmb: sideload: Handle ssh_install_apks() errors (MR 2195)
    * pmb.chroot.root: preserve proxy environment variables (MR 2201)
    * pmb.config.apkbuild_package_attributes: + triggers (MR 2202)
    * pmb.parse.kconfig: add 'community' option (MR 2204)
    * pmb.config.apkbuild_attributes: Add _pkgbase and _pkgsnap (MR 2208)
    
    Fixes:
    * Fix wrong output of pmbootstrap bootimg_analyze (MR 2198)
    * aportgen binutils: modernize (MR 2199)
    * pmb.parse.kconfig: fix containers check for x86 (MR 2204)
    * pmb.aportgen.gcc: remove isl from depends (MR 2203)
    * pmb.aportgen.gcc: set libgcc=false (MR 2203)
    * pmb.aportgen.gcc: add subpkg libstdc++-dev-$arch (MR 2207)
    
    Other:
    * treewide: fix various lint errors (MR 2197)
    * test/testdata/aportgen: upgrade binutils to 2.39 (MR 2199)
    * pmb.parse.kconfig: remove apparmor check (MR 2200)
    * pmb.parse.kconfig: rename anbox check to waydroid (MR 2204)
    * test_kconfig_check: modify nokia-n900 test (MR 2204)
    * testdata/gcc: upgrade to 12.1.1_git20220630-r5 (MR 2203)
    * testdata/gcc: upgrade to 12.2.1_git20220924-r1 (MR 2208)
    
  • 1.46.0
    8d736c5f · Prepare 1.46.0 release ·
    Release 1.46.0
    
    Features:
    - pmb.parse.bootimg: Add preliminary support for header v2 (MR 2194)
    - pmb.aportgen.device: Generate appropriate header v2 deviceinfo (MR 2194)
    - pmb.aportgen.linux: Install DTBs on header v2 (MR 2194)
    
    Fixes:
    - helpers/envkernel.sh: disable ccache (MR 2189)
    - Revert "helpers/envkernel.sh: add gawk when initialising chroot (MR 2186)" (MR 2188)
    - pmb.qemu.run: drop removed depedency (MR 2196)
    
    Other:
    - test: Add boot.img header v2 testcase (MR 2194)
    
  • 1.45.0
    e527a159 · Prepare 1.45.0 release ·
    Release 1.45.0
    
    Features:
    * Rename Chrome OS kernel partition to pmOS_kernel (MR 2187)
    
    Fixes:
    * pmb.config.init: fix init when work path is an empty directory (MR 2192)
    * pmb/export: Fix Odin export filenames (MR 2191)
    * pmb/config: vndbinder ANDROID_BINDER_DEVICE is required for Waydroid (MR 2190)
    * pmb: flasher: frontend: don't fail if kernel config cannot be found (MR 2184)
    * pmb.chroot.apk.install: fix empty install messages (MR 2185)
    * pmb.chroot.apk.install: let apk figure out depends (MR 2185)
    
    Other:
    * helpers/envkernel.sh: add gawk when initialising chroot (MR 2186)
    * pmb.chroot.apk.install: move pkgname sanitization (MR 2185)
    * pmb.chroot.apk.packages_split_to_add_del: new func (MR 2185)
    * pmb.chroot.apk.install_run_apk: new func (MR 2185)
    * pmb.chroot.apk.install: move empty packages check (MR 2185)
    * pmb.chroot.apk.install_{is_necessary -> build} (MR 2185)
    * pmb.chroot.apk.install: rename to{add,del} vars (MR 2185)
    * pmb.chroot.apk.install: update func desc (MR 2185)
    
  • 1.44.1
    03303ef7 · Prepare 1.44.1 release ·
    Release 1.44.1
    
    Tag 1.44.0 was done without bumping pmb.config.version, so tag another
    one.
    
  • 1.44.0
    Release 1.44.0
    
    Other:
    - pmb.conf.apk_tools_min_version: add Alpine 3.16 (MR 2183)
    
  • 1.43.1
    8c7e99ac · Prepare 1.43.1 release ·
    Release 1.43.1
    
    Fixes:
    - pmb.parse.depends: ignore conflict dependency that no longer exists (MR 2181)
    - pmb.install: Check for alpine-conf version (MR 2182)
    
  • 1.43.0
    6fbe916e · Prepare 1.43.0 release ·
    Release 1.43.0
    
    Features:
    - pmb.config, pmb.install: add option to handle Samsung sparse image format (MR 2177)
    - pmb.parse.kconfig: print a helpful error message on invalid kconfig name (MR 2172)
    - config: allow using flash_lk2nd with heimdall too (MR 2174)
    - pmb.parse.kconfig: implement UEFI kconfig check (MR 2169)
    - pmb.parse.arguments: add zap --all flag (MR 2117)
    
    Fixes:
    - partitions_mount: fix finding the partition (MR 2178)
    - pmb.install: Treat empty "flash_sparse_samsung_format" as disabled (MR 2180)
    - config: Move ASHMEM into conditional (MR 2176)
    - install: fix alignment of information messages (MR 2174)
    - helpers/envkernel.sh: use "$pmbootstrap" in cross_compiler_version() (MR 2173)
    - pmb.parse.kconfig.check_file: fix broken f-string (MR 2169)
    - config: Move NFT_COUNTER into conditional (MR 2171)
    
    Other:
    - test_kconfig_check: note: don't add device tests (MR 2169)
    
  • 1.42.0
    e45e8f93 · Prepare 1.42.0 release ·
    Release 1.42.0
    
    Features:
    * pmb/netboot: new feature (MR 2064)
    * pmbootstrap kconfig check: add netboot check (MR 2064)
    * Print return code when subprocess fails (MR 2161)
    * Support generating GPT partition tables (MR 2160)
    * pmb.install: add support for creating btrfs root filesystem (MR 2155)
    * Allow override of SSH key glob (MR 2167)
    * Allow override of SSH key glob: documentation (MR 2167)
    * pmb.qemu.run: add option to set serial to mon:stdio (MR 1980)
    * pmb: flasher: add support for rk partitions (MR 2165)
    * Support ChromeOS partition table and kernel partition (MR 2163)
    
    Fixes:
    * pmb.install: password for root is already locked (MR 2159)
    * config: fix missing comma in flash methods (MR 2164)
    * pmb.helpers.pkgrel_bump: !-deps are not missing (MR 2166)
    * pmb.chroot.mount: create /dev/fd (MR 2170)
    
    Other:
    * pmb.install: Remove pass to conform to code style (MR 2159)
    * config: use partition names for rkdeveloptool (MR 2165)
    * flake8: increase the line length limit (MR 2168)
    * pmb.install: add get_partition_layout() (MR 2163)
    
  • 1.41.0
    d698aa15 · Prepare 1.41.0 release ·
    Release 1.41.0
    
    Features:
    - pmb.install: automatically pick unlocker package (MR 2154)
    - build: add support for conflicting dependencies (MR 2146)
    - pmb.parse: show which package require the missing package (MR 2150)
    
    Fixes:
    - pmb.chroot.apk: Delete conflicting dependencies (MR 2157)
    - install: do not choke on blockdevices without fs (MR 2153)
    
    Other:
    - pmb.install: update UID 10000 explanation (MR 2158)
    - Happy new year 2022! (update copyright)
    - helpers/envkernel.sh: fix shellcheck failure (MR 2151)
    - pmb.parse.depends.recurse: tweak message (MR 2151)
    
  • 1.40.0
    fd705083 · Prepare 1.40.0 release ·
    Release 1.40.0
    
    Features:
    - Use doas instead of sudo if installed (MR 2091)
    - pmb.helpers.ui: clarify "none" UI purpose
    - pmb/config: check CROSS_MEMORY_ATTACH config required for Waydroid (MR 2140)
    - install: support password as cmdline arg (MR 2125)
    
    Fixes:
    - kconfig-check: only check TZDEV/SAMSUNG_TUI on kernels older than 4.14 (MR 2148)
    - pmb.parse.parse_attribute: strip off trailing comment on attrib line (MR 2149)
    - aportupgrade: if $pkgver=9999, use $_pkgver variable instead (MR 2127)
    - Fix 'kconfig edit linux-...' (MR 2143)
    
    Other:
    - tests: test single-line comment for unquoted attribute (MR 2149)
    - remove unused args argument (MR 2136)
    - pmb.parse.apkindex.parse: remove unused args argument (MR 2136)
    - pmb.parse.apkbuild: remove unused args argument (MR 2136)
    - args.cache: remove (MR 2136)
    - pmb.config.apk_tools_min_version: add alpine 3.15 (MR 2144)
    
  • 1.39.0
    498738ab · Prepare 1.39.0 release ·
    Release 1.39.0
    
    Features:
    * Add 'flasher flash_lk2nd' command (MR 2089)
    * aportupgrade: support gitlab.gnome.org (MR 2119)
    * kconfig argcomplete: support full pkgname (MR 2134)
    * pmb.config/install: add flexible provider selection for "pmbootstrap init" (MR 2132)
    * pmb.helpers.pmaports: parse guessed APKBUILD first for speed up (MR 2132)
    * pmbootstrap kconfig check: add iwd check (MR 2133)
    * pmbootstrap kconfig check: add apparmor check (MR 2133)
    * kconfig check: support strings too (MR 2133)
    * pmb/config: check CRYPTO_AES and INPUT_EVDEV configs required for FDE (MR 2137)
    * pmb/config: add rkdeveloptool support (MR 2103)
    * parse: deviceinfo: arch is required (MR 2124)
    * Allow to set mirror_alpine with pmbootstrap config command (MR 2129)
    
    Fixes:
    * aportupgrade: prefer explicit package mapping (MR 2119)
    * arguments: fix compat with argcomplete 1.8 (MR 2134)
    * pmb.helpers.pmaports: search for provides in both root and subpackages (MR 2132)
    * pmb.qemu.run: workaround for new mkinitfs requirements (MR 2138)
    * helper/envkernel.sh: fix for running envkernel on aarch64 host (MR 2135)
    * pmb.install.partition: fix mb_reserved calculation (MR 2123)
    * pmb/config: fixup zram check options (MR 2126)
    
    Other:
    * pmb.parse._apkbuild: parse provider_priority as int (MR 2132)
    * pmb.helpers.pmaports: separate finding pkg in APKBUILD to function (MR 2132)
    * pmb.install: move install_recommends check into _install.py (MR 2132)
    * pmb.config.init: parse deviceinfo only once (MR 2132)
    * pmb.config: add comment: kconfig check value types (MR 2133)
    * pmb.config.necessary_kconfig_*: tweak comments (MR 2133)
    * pmb.parse.kconfig.check: git friendly arguments (MR 2133)
    * args.arch_native: remove (MR 2130)
    * pmb.parse.arch.alpine_native: remove unused ret (MR 2130)
    * remove unused args argument (MR 2130)
    * pmb: data: keys: sync with Alpine (MR 2131)
    * pmb.qemu.run.which_qemu: remove args argument (MR 2114)
    * args.logfd: remove (MR 2114)