Skip to content

remove in-tree distribution packaging#62

Merged
twoerner merged 3 commits into
mainfrom
maint/remove-distro-packaging
Jun 5, 2026
Merged

remove in-tree distribution packaging#62
twoerner merged 3 commits into
mainfrom
maint/remove-distro-packaging

Conversation

@twoerner

@twoerner twoerner commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

Distribution-packaging trees for Debian (debian/) and RPM
distros (packaging/bmaptool.spec, packaging/bmaptool.changes)
have lived alongside the project source since the Tizen-era
release workflow. Verified against each downstream as of
2026-06-04, none of those distributions still consume the
trees in this repo: Debian (bmap-tools 3.9.0-3 in
trixie/sid/forky) maintains its own packaging at
salsa.debian.org/debian/bmap-tools;
Ubuntu inherits the Debian source package via standard sync;
Fedora (src.fedoraproject.org/rpms/bmap-tools),
openSUSE Factory, and the Arch AUR each ship independently
maintained spec or PKGBUILD files that have diverged
substantially from this repo's copy.

This PR removes both in-tree packaging trees, slims
make_a_release.sh of the hunks that maintained them, adds a
short "Downstream packaging" subsection to the README pointing
at the distribution trackers, and records the change in
CHANGELOG. The commit body itself carries the per-distro
verification in detail so the historical record explains why
the removal was safe to land.

The branch carries two small follow-on commits alongside the
packaging removal:

  • .gitignore: ignore .codex agent-state directory. The
    codex coding agent writes session state to a .codex/
    directory at the working-tree root; ignore it so it cannot
    be staged by accident on a future git add -A.
  • README: reduce "currently maintained by" list to the active maintainer. The README's "Project and maintainer"
    section listed three current maintainers, but the
    pyproject.toml maintainers = [...] block already lists
    only a single active maintainer; bring the README in step.

After this merges, PR #51 (debian/control: drop python3-six)
and PR #18 (debian packaging modernization) become moot and
will be closed with a pointer to this change; issue #16
(older Debian support) will be closed with a pointer to
Debian's own packaging tracker.

twoerner added 3 commits June 4, 2026 18:02
The repository carried distribution-packaging trees for Debian
(`debian/`) and RPM-based distros (`packaging/bmaptool.spec`,
`packaging/bmaptool.changes`) alongside the project's own
source. Both trees are holdovers from the project's original
Tizen-era release workflow and are no longer consumed by any
downstream distribution. Verified as of 2026-06-04:

* Debian (trixie / sid / forky), source `bmap-tools 3.9.0-3`:
  the active `debian/control` declares
  `Maintainer: Andrej Shadura <andrewsh@debian.org>`,
  `Uploaders:` covers Sjoerd Simons and Johannes Schauer Marin
  Rodrigues, `Standards-Version: 4.7.2`, and
  `Vcs-Git: https://salsa.debian.org/debian/bmap-tools.git`.
  The transitional `bmap-tools` -> `bmaptool` rename, the
  `Replaces`/`Breaks`/`Provides` block, the Debian-specific
  `dh-sequence-python3` + `pybuild-plugin-pyproject` build
  shape, and the `debian/patches/copy_and_verify_image.patch`
  do not exist in this repo's `debian/` tree.
* Ubuntu inherits the Debian source package via the standard
  sync, so the same is true there.
* Fedora rawhide, source `bmap-tools 3.9.0`: the active spec
  in `src.fedoraproject.org/rpms/bmap-tools` declares
  `License: GPL-2.0-or-later`, `Release: %autorelease`,
  `BuildRequires: python3-devel/python3-pytest/python3-six`,
  and uses `%autochangelog`. None of those constructs
  exist in this repo's `packaging/bmaptool.spec`, which
  still references `python2-rpm-macros`, `python-distribute`,
  `pygpgme`, and a `centos_version == 600` conditional.
* openSUSE Factory, source `bmap-tools 3.9.0-0`: the active
  spec at `api.opensuse.org/public/source/openSUSE:Factory/
  bmap-tools/bmap-tools.spec` carries a SUSE-LLC copyright
  header, uses `%{?sle15_python_module_pythons}` and the
  `%{python_module ...}` build shape, and ships an
  `update-alternatives` postscript. The accompanying
  `bmap-tools.changes` is authored exclusively by openSUSE
  packagers (Dirk Müller, Max Lin, Ben Greiner). None of
  those constructs exist in this repo's `packaging/`.
* Arch (AUR) carries its own `PKGBUILD` (maintainer Patrick
  McCarty), hand-written `build()` / `package()` functions
  using `python setup.py`, last bumped to `3.7-1` in
  November 2023; it consumes the upstream source tarball
  but not this repo's `packaging/` or `debian/` trees.

A code project should be distribution-agnostic; downstream
distros maintain their own packaging trees and are clearly
doing so already. Carrying parallel in-tree copies here means
every release requires hand-editing two changelog formats
that no consumer reads, and an incoming PR can (and
historically did, PR #51 / PR #18) propose changes to
packaging metadata that the project has no way to validate.

Remove both directories, slim `make_a_release.sh` of the
hunks that maintained them, and point would-be packagers at
the upstream distribution trackers from the README.

Specifically:

- Delete `debian/` (control, copyright, rules, changelog, the
  three filelists, the source-format hint, the manpages
  index).
- Delete `packaging/bmaptool.changes` and
  `packaging/bmaptool.spec`.
- Trim `make_a_release.sh` of the parts that only existed to
  feed those packaging trees: the two `sed` invocations that
  bumped `Version:` and stripped the `%define rc_num` macro
  inside `bmaptool.spec`; the editor-prompt block that
  gathered changelog lines from the maintainer; the
  `format_changelog` helper whose only callers were the deb
  and RPM changelog rewrites; and the two changelog-rewrite
  blocks themselves. What remains is the Python-package
  version bump, the man-page header update, the two
  checklist prompts, the commit, and the post-merge reminder
  to make the GitHub release.
- Add a "Downstream packaging" subsection to the README that
  points at the Debian, Ubuntu, openSUSE, Fedora, and Arch
  trackers, with a closing note asking packaging bugs to be
  filed against the distribution rather than against this
  project.
- Record the removal and the README addition in the CHANGELOG
  under the existing `[Unreleased]` block.

AI-Generated: codex/claude-opus 4.7 (xhigh)
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
The codex coding agent writes session state to a `.codex/` directory
at the working-tree root when invoked inside a repository. The
directory is per-session, machine-local, and contains no project
artifacts; it has no business in version control.

Add it to `.gitignore` alongside the existing editor-metadata
entries so it cannot be staged by accident on a future `git add -A`
or `git add .`.

AI-Generated: codex/claude-opus 4.7 (xhigh)
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
The README's "Project and maintainer" section listed three current
maintainers, but the project's `pyproject.toml` `maintainers = [...]`
block already lists only a single active maintainer. Bring the README
in step with the package metadata so any reader looking for "who is on
the hook for this project today" gets the same answer regardless of
which file they happen to read.

Record the change in CHANGELOG under the existing `[Unreleased]` block
as its own `### Changed` entry, separate from the `pyproject.toml`
reconciliation that has already shipped.

AI-Generated: codex/claude-opus 4.7 (xhigh)
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
@twoerner twoerner changed the title Remove in-tree distribution packaging remove in-tree distribution packaging Jun 5, 2026
@twoerner twoerner merged commit 0c3f66a into main Jun 5, 2026
19 checks passed
@twoerner twoerner deleted the maint/remove-distro-packaging branch June 5, 2026 05:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant