Skip to content
Tags give the ability to mark specific points in history as being important
  • 2.2.0
    7f61262a · Prepare 2.2.0 release ·
    Release 2.2.0
    
    Features:
    * install: throw error if boot_size is too small
    * pmb.install: support pmb_recommends for any package
    * pmb.install: add --zap option
    * pmb.install.format: Write boot mountpoint to log
    * pmb.config: add new newapkbuild arguments
    * install: initial implementation of flat btrfs layout
    * helpers/envkernel.fish: export pmbootstrap_dir
    * helpers/envkernel.fish: set prompt prefix in fish-shell
    * helpers/envkernel.fish: add deactivate & reactivate function for fish
    * flasher: heimdall-bootimg: add support for '--no-reboot' and '--resume'
    * pmb.helpers.args: Skip some initialisation code when running checksum (MR 2228)
    * Guess kbuild out dir for downstreamkernel_package (MR 2231)
    * envkernel: Fall back to pmbootstrap from PATH (MR 2229)
    * Install envkernel.sh (MR 2229)
    * envkernel: Don't drop parameters in run-script (MR 2230)
    * build: use host native gzip (MR 2242)
    * build: use native abuild-apk (MR 2242)
    * pmb.install: include dependencies when searching for pmb_recommends (MR 2238)
    * install: more comprehensive subdivision of btrfs subvols (MR 2233)
    * kconfig check: enable NFT_COMPAT for iptables-nft wrapper (MR 2245)
    * kconfig check: Enable more options for community (MR 2245)
    
    Fixes:
    * install: do not fail on alpine-appstream-downloader error
    * pmb.flasher.vars: do not assume that args.no_reboot and args.resume are defined (MR 2232)
    * Fix preserving proxy variables (MR 2237)
    * pmb.install: fix crash on empty subpackage in get_recommends (MR 2238)
    * pmb.install: honor -y, don't prompt when target disk is >100GiB (MR 2239)
    * pmb: only enable abuild-apk wrapper for buildroot (MR 2246)
    * pmb.build: ensure all specified packages are built with --force (MR 2244)
    * build.envkernel: simplify and fix unhandled error path (MR 2243)
    * pmb.build.init: fix apk wrapper for x86 on x86_64 (MR 2247)
    
    Other:
    * aportgen: Only warn if binary version > APKBUILD version
    * parse.apkbuild.parse_subpackage: don't inherit pmb_recommends
    * pmb.install._install.get_recommends: tweak comment
    * README.md: update source code location
    * CI: use gitlab-ci
    * pmb.flasher.variables: use getattr instead of hasattr (MR 2232)
    * CI: bring back mr-settings check (MR 2234)
    * CONTRIBUTING: modernize (MR 2235)
    
  • 2.1.0
    4fb61591 · Prepare 2.1.0 release ·
    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
    
  • 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)