Skip to content

Ship licence text in the macOS and Linux archives - #7

Merged
jochenhz merged 1 commit into
mainfrom
fix/ship-licences-on-macos-and-linux
Sep 9, 2026
Merged

jochenhz merged 1 commit into
mainfrom
fix/ship-licences-on-macos-and-linux

Conversation

@jochenhz

@jochenhz jochenhz commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Anchorpoint generates its THIRD-PARTY-LICENSES.txt from the licence text inside the git tree it
bundles. The macOS and Linux archives contain none: the only licence-shaped file in either is
gcm/NOTICE.

$ unzip -Z1 git-macos-arm64.zip | grep -iE 'licen|copying|notice'
gcm/NOTICE

Windows never hit this because build_git_windows unpacks the Git SDK wholesale, which already
carries LICENSE.txt and a share/licenses tree for the MSYS2 DLLs it bundles. build_git_macos
and build_git_linux compile from source into a minimal tree, and build.py has no licence
handling anywhere.

Two additions:

  • install_git_license copies git's COPYING to LICENSE.txt, which make install does not
    do. These builds link system libraries (-L/usr/lib, system curl, NO_PERL NO_TCLTK NO_GETTEXT)
    rather than bundling them, so unlike Windows there is no share/licenses equivalent to
    reproduce — git's own terms are the whole set.
  • bundle_gcm now fetches GCM's LICENSE from its pinned tag. The release tarball ships the
    NOTICE that refers to the MIT text but not the text itself, which is why gcm/NOTICE currently
    stands alone. Verified raw.githubusercontent.com/.../v2.8.0/LICENSE returns 200 and its content
    matches the text Anchorpoint's notices already carry from the Windows tree.

python -m py_compile build.py passes, matching the lint-build-script CI job.

Not tested on a real macOS or Linux builder — I have no access to either. The next run of each
should confirm LICENSE.txt and gcm/LICENSE are present in the staged tree before the archive is
published.

Companion PRs: ap2-external#1 for the f3d half of the same gap, and anchorpoint2_private#390,
which consumes both.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

The Windows archive carries LICENSE.txt and a share/licenses tree because
build_git_windows unpacks the Git SDK wholesale. The macOS and Linux builds
compile from source into a minimal tree, so neither shipped any licence text --
the only licence-shaped file in either archive was gcm/NOTICE.

Two additions. install_git_license copies git's COPYING to LICENSE.txt, since
`make install` does not; these builds link system libraries rather than
bundling them, so git's own terms are the whole set. bundle_gcm now fetches
GCM's LICENSE from its pinned tag, because the release tarball carries the
NOTICE that refers to the MIT text but not the text itself.

Anchorpoint generates its third-party notices from these trees.
@jochenhz
jochenhz merged commit 3e80439 into main Sep 9, 2026
6 checks passed
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