remove in-tree distribution packaging#62
Merged
Conversation
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>
This was referenced Jun 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Distribution-packaging trees for Debian (
debian/) and RPMdistros (
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-3intrixie/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.shof the hunks that maintained them, adds ashort "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. Thecodex 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.tomlmaintainers = [...]block already listsonly 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.