From b22ff17b0ede1fe762e82ec24542960efe609b3f Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Fri, 18 Sep 2026 16:29:32 +0200 Subject: [PATCH] Release version 2.0.0 --- CHANGELOG.md | 30 +++++++++++++++++++++++++ flake.nix | 2 +- packaging/arch/PKGBUILD | 2 +- packaging/debian/changelog | 32 +++++++++++++++++++++++++++ packaging/fedora/package-manager.spec | 31 +++++++++++++++++++++++++- pyproject.toml | 2 +- 6 files changed, 95 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b1715e..7e6e268 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,35 @@ # Changelog +## [2.0.0] - 2026-09-18 + +Breaking + +* The *virgin* and *slim* image variants are gone; both tag suffixes with them. +* Building an image now requires the base images to exist in the registry. +* *make build-missing-virgin* is removed; *build* targets build the one image. +* The five *BASE_IMAGE_** overrides are gone; *BASE_IMAGES_TAG* replaces them. +* *scripts/build/image.sh* loses its *--target* axis. +* A repository is installed by one hook, no longer by pip and *make* both. + +Changed + +* *INSTALLERS* is a preference order led by *make install*, first success wins. +* A failed hook falls back to the next; all failing exits with what was tried. +* The *Dockerfile* builds *FROM ${BASE_IMAGE}*, resolved by *base.sh*. +* Publishing pushes *--platform* manifest lists for amd64 and arm64. +* *manjaro* can be built; *os_resolver.sh* already maps it onto arch. +* The virgin workflows pull the base image instead of building it. +* The Nix dev shell moves to Python 3.12 for *portfolio*'s *>=3.12* floor. +* It gains *pkg-config*, *openldap* and *cyrus_sasl* for *python-ldap*. +* *requires-python* for pkgmgr itself is unchanged at *>=3.9*. +* The e2e sweep drops *--silent*, which hid the non-zero exit, not the output. +* The README drops the *Virgin* type and the Nix claim the image never met. +* It now lists the tags *compute_publish_tags()* pushes, alias included. +* Dependabot covers pip and github-actions weekly on Monday. +* A new *update-flake-lock* workflow opens a PR for *flake.lock* the same day. +* *test_distro_dependency_scripts_install_gpg_tools* moves to base-images. +* *scripts/docker/slim.sh* is deleted with the stage that ran it. + ## [1.16.1] - 2026-07-29 * *pkgmgr repos create* now creates *main*-based repositories: *git init* is run with an explicit *-b main* instead of inheriting the host's *init.defaultBranch*, and a failed initial push no longer renames the branch back to *master*. *resolve_base_branch()* keeps its main → master fallback for existing repositories. diff --git a/flake.nix b/flake.nix index 53f234b..4edbf41 100644 --- a/flake.nix +++ b/flake.nix @@ -32,7 +32,7 @@ rec { pkgmgr = pyPkgs.buildPythonApplication { pname = "package-manager"; - version = "1.16.1"; + version = "2.0.0"; # Use the git repo as source src = ./.; diff --git a/packaging/arch/PKGBUILD b/packaging/arch/PKGBUILD index 5c95cca..9601d59 100644 --- a/packaging/arch/PKGBUILD +++ b/packaging/arch/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: Kevin Veen-Birkenbach pkgname=package-manager -pkgver=1.16.1 +pkgver=2.0.0 pkgrel=1 pkgdesc="Local-flake wrapper for Kevin's package-manager (Nix-based)." arch=('any') diff --git a/packaging/debian/changelog b/packaging/debian/changelog index d7bddeb..f9964bf 100644 --- a/packaging/debian/changelog +++ b/packaging/debian/changelog @@ -1,3 +1,35 @@ +package-manager (2.0.0-1) unstable; urgency=medium + + Breaking + + * The *virgin* and *slim* image variants are gone; both tag suffixes with them. + * Building an image now requires the base images to exist in the registry. + * *make build-missing-virgin* is removed; *build* targets build the one image. + * The five *BASE_IMAGE_** overrides are gone; *BASE_IMAGES_TAG* replaces them. + * *scripts/build/image.sh* loses its *--target* axis. + * A repository is installed by one hook, no longer by pip and *make* both. + + Changed + + * *INSTALLERS* is a preference order led by *make install*, first success wins. + * A failed hook falls back to the next; all failing exits with what was tried. + * The *Dockerfile* builds *FROM ${BASE_IMAGE}*, resolved by *base.sh*. + * Publishing pushes *--platform* manifest lists for amd64 and arm64. + * *manjaro* can be built; *os_resolver.sh* already maps it onto arch. + * The virgin workflows pull the base image instead of building it. + * The Nix dev shell moves to Python 3.12 for *portfolio*'s *>=3.12* floor. + * It gains *pkg-config*, *openldap* and *cyrus_sasl* for *python-ldap*. + * *requires-python* for pkgmgr itself is unchanged at *>=3.9*. + * The e2e sweep drops *--silent*, which hid the non-zero exit, not the output. + * The README drops the *Virgin* type and the Nix claim the image never met. + * It now lists the tags *compute_publish_tags()* pushes, alias included. + * Dependabot covers pip and github-actions weekly on Monday. + * A new *update-flake-lock* workflow opens a PR for *flake.lock* the same day. + * *test_distro_dependency_scripts_install_gpg_tools* moves to base-images. + * *scripts/docker/slim.sh* is deleted with the stage that ran it. + + -- Kevin Veen-Birkenbach Fri, 18 Sep 2026 16:29:32 +0200 + package-manager (1.16.1-1) unstable; urgency=medium * *pkgmgr repos create* now creates *main*-based repositories: *git init* is run with an explicit *-b main* instead of inheriting the host's *init.defaultBranch*, and a failed initial push no longer renames the branch back to *master*. *resolve_base_branch()* keeps its main → master fallback for existing repositories. diff --git a/packaging/fedora/package-manager.spec b/packaging/fedora/package-manager.spec index e8bc523..aa45eda 100644 --- a/packaging/fedora/package-manager.spec +++ b/packaging/fedora/package-manager.spec @@ -1,5 +1,5 @@ Name: package-manager -Version: 1.16.1 +Version: 2.0.0 Release: 1%{?dist} Summary: Wrapper that runs Kevin's package-manager via Nix flake @@ -74,6 +74,35 @@ echo ">>> package-manager removed. Nix itself was not removed." /usr/lib/package-manager/ %changelog +* Fri Sep 18 2026 Kevin Veen-Birkenbach - 2.0.0-1 +- Breaking + +- * The *virgin* and *slim* image variants are gone; both tag suffixes with them. +- * Building an image now requires the base images to exist in the registry. +- * *make build-missing-virgin* is removed; *build* targets build the one image. +- * The five *BASE_IMAGE_** overrides are gone; *BASE_IMAGES_TAG* replaces them. +- * *scripts/build/image.sh* loses its *--target* axis. +- * A repository is installed by one hook, no longer by pip and *make* both. + +- Changed + +- * *INSTALLERS* is a preference order led by *make install*, first success wins. +- * A failed hook falls back to the next; all failing exits with what was tried. +- * The *Dockerfile* builds *FROM ${BASE_IMAGE}*, resolved by *base.sh*. +- * Publishing pushes *--platform* manifest lists for amd64 and arm64. +- * *manjaro* can be built; *os_resolver.sh* already maps it onto arch. +- * The virgin workflows pull the base image instead of building it. +- * The Nix dev shell moves to Python 3.12 for *portfolio*'s *>=3.12* floor. +- * It gains *pkg-config*, *openldap* and *cyrus_sasl* for *python-ldap*. +- * *requires-python* for pkgmgr itself is unchanged at *>=3.9*. +- * The e2e sweep drops *--silent*, which hid the non-zero exit, not the output. +- * The README drops the *Virgin* type and the Nix claim the image never met. +- * It now lists the tags *compute_publish_tags()* pushes, alias included. +- * Dependabot covers pip and github-actions weekly on Monday. +- * A new *update-flake-lock* workflow opens a PR for *flake.lock* the same day. +- * *test_distro_dependency_scripts_install_gpg_tools* moves to base-images. +- * *scripts/docker/slim.sh* is deleted with the stage that ran it. + * Wed Jul 29 2026 Kevin Veen-Birkenbach - 1.16.1-1 - * *pkgmgr repos create* now creates *main*-based repositories: *git init* is run with an explicit *-b main* instead of inheriting the host's *init.defaultBranch*, and a failed initial push no longer renames the branch back to *master*. *resolve_base_branch()* keeps its main → master fallback for existing repositories. - * Failures are no longer swallowed: 46 blind *except Exception* handlers were narrowed to the exception types the guarded code can actually raise (*OSError*, *UnicodeDecodeError*, TOML/YAML decode errors, *ValueError*, *ImportError*, *subprocess.SubprocessError*, *GitRunError*, *PackageNotFoundError*). Three handlers stay open by design — the per-repository loops in *install* and *update* are batch boundaries where one failing repository must not abort the run. diff --git a/pyproject.toml b/pyproject.toml index ea8f357..248f1fa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta" [project] name = "kpmx" -version = "1.16.1" +version = "2.0.0" description = "Kevin's package-manager tool (pkgmgr)" readme = "README.md" requires-python = ">=3.9"