Skip to content

Change binary/source distro names to prefix with apache - #255

Merged
lresende merged 2 commits into
apache:masterfrom
lresende:fix-package-name
Sep 13, 2026
Merged

lresende merged 2 commits into
apache:masterfrom
lresende:fix-package-name

Conversation

@lresende

@lresende lresende commented May 2, 2026

Copy link
Copy Markdown
Member

What

Apache release policy expects distribution artifacts to carry the full project
name. This renames the binary and source distributions, their dist
subdirectories, and the top-level directory inside each archive to use an
apache-toree prefix.

before after
binary package toree-<VERSION>-bin.tar.gz apache-toree-<VERSION>-bin.tar.gz
source package toree-<VERSION>-src.tar.gz apache-toree-<VERSION>-src.tar.gz
binary archive root toree-<VERSION>/ apache-toree-<VERSION>/
source archive root toree-<VERSION>-src/ apache-toree-<VERSION>-src/
dist directories dist/toree-{bin,src} dist/apache-toree-{bin,src}

The pip packages already ship under both the toree and apache-toree names
and are unchanged.

Alongside the rename:

  • publish-pip uploads both pip packages instead of only the toree one. It
    needs two different container working directories, so the single $(DOCKER)
    invocation is split into two.
  • audit now passes dist/apache-toree-pip to verify-release, which it
    previously skipped entirely.
  • verify-release matches the new artifact names, and fails when a directory
    contains no artifacts at all
    . Previously the per-file loop set failure
    only from inside its body, so an empty or non-existent directory produced a
    successful audit that had verified nothing.
  • release-build.sh echoes the tag it created and says explicitly when a dry
    run skips the push.

Also updates Scala to 2.12.20 and 2.13.15, and comments out the AddJar system
test — its fixture jar at home.apache.org/~lresende/toree/TestJar.jar now
returns 404. That test should come back once the jar is hosted somewhere
durable.

Testing

CI covers the rename: make clean release builds the renamed bin and src
tarballs on all four Java/Scala combinations.

CI does not run make audit, so verify-release was exercised by hand
against fixture directories, using a throwaway GPG keyring:

case result
valid artifact, signature and both checksums exit 0
empty directory exit 1, ERROR: No release artifacts found
non-existent directory exit 1 (previously exit 0)
missing or invalid signature / checksum exit 1
toree-* and apache-toree-* in one directory both matched
.asc / .md5 / .sha512 excluded from the artifact list
nested subdirectory not descended into

@lresende
lresende force-pushed the fix-package-name branch from 8abb77c to 6ae6e74 Compare May 2, 2026 02:44
@lresende
lresende force-pushed the fix-package-name branch 2 times, most recently from 4e5fb20 to 84cbe43 Compare September 10, 2026 08:29
Apache release policy expects distribution artifacts to carry the full
project name. The binary and source packages, their dist subdirectories
and the top-level directory inside each archive now use an apache-toree
prefix. The pip packages already ship under both the toree and the
apache-toree names and are unchanged.

publish-pip uploads both pip packages instead of only the toree one, and
the audit target verifies dist/apache-toree-pip, which it previously
skipped.

verify-release matches the new artifact names and fails when a directory
holds no artifacts at all, so an audit can no longer report success
without having verified anything.

release-build.sh reports the tag it created and says explicitly when a
dry run skips the push.

Also updates Scala to 2.12.20 and 2.13.15, and comments out the AddJar
system test, whose fixture jar at home.apache.org now returns 404.
The ASF deprecated MD5 for release distribution, so sign-file no longer
generates .md5, verify-release no longer requires it, and the sign
targets drop it from their outputs and prerequisites. The find in
verify-release still excludes *.md5 so that a stale file left by an
earlier build cannot be mistaken for a release artifact.

release-build.sh now stages the binary and source artifacts under
apache-toree rather than toree, matching their new names. The toree-pip
directory keeps its name because it stages the package that is
published to PyPI as toree.

Commenting out test_statements_stdout left test_scala_stdout iterating
an attribute that no longer existed, so the test raised AttributeError
instead of being skipped. Restore the data and skip the method, with
the reason recorded alongside it.
@lresende
lresende merged commit 29420b0 into apache:master Sep 13, 2026
4 checks passed
@lresende
lresende deleted the fix-package-name branch September 13, 2026 04:38
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