Skip to content

Add GPL notices to vendored pulpcore modules - #45

Merged
anfimovdm merged 1 commit into
masterfrom
al-pulp-gpl-notices
Oct 27, 2026
Merged

anfimovdm merged 1 commit into
masterfrom
al-pulp-gpl-notices

Conversation

@anfimovdm

Copy link
Copy Markdown
Contributor

Summary

roles/pulp/files/export.py and roles/pulp/files/datarepair.py are modified copies of whole pulpcore 3.114.1 modules. pulpcore is licensed under GPL-2.0-or-later, while this repository only carries the MIT license, so the files appeared to be MIT. For modified copies we distribute, GPLv2 requires that they:

  • stay under the GPL (§2b);
  • carry a notice that they were changed and when (§2a);
  • come with a copy of the license (§1).

The upstream files have no per-file copyright headers, so nothing was stripped. The Ansible roles only copy these files into a locally built image, so the rest of the repository can stay MIT.

Changes

  • roles/pulp/files/export.py, roles/pulp/files/datarepair.py: SPDX-License-Identifier: GPL-2.0-or-later header, the upstream module and pulpcore version they're based on, and the list of our modifications with the year.
  • roles/pulp/files/COPYING.pulpcore: GPLv2 text, verbatim from pulpcore 3.114.1 LICENSE.
  • README.md: new License section noting the exception for the two files.
  • roles/pulp/files/README.md: License section listing what to keep when updating or adding vendored modules.
  • roles/pulp/files/README.md, roles/pulp/defaults/main.yml: fixed the export.py description. Exporting streamed file:// content is already upstream in 3.114.1 (pulp/pulpcore@d8279a709); our changes are package file timestamps and exporting into an existing directory.

Testing

  • Diffed both files against pulpcore 3.114.1 to confirm the base version and the listed modifications.
  • Both files compile (python3 -m py_compile); only comments were added to them.

Follow-up

Upstreaming the timestamp fix (it imports pulp_rpm, so probably as a pulp_rpm export hook) and the datarepair memory fix would let us drop the vendored copies.

roles/pulp/files/export.py and datarepair.py are modified copies of pulpcore 3.114.1 modules, which are licensed under GPL-2.0-or-later, but the repository only carried the MIT license. GPLv2 requires modified copies to stay under the GPL, to state the changes and their date, and to come with the license text.

- Add SPDX headers naming the upstream module and version, and the list of our modifications, to both files.
- Add pulpcore's GPLv2 text as roles/pulp/files/COPYING.pulpcore.
- Note the exception in the README license section and document what to keep in roles/pulp/files/README.md.
- Fix the description of export.py: exporting streamed file:// content is already in upstream 3.114.1; our changes are the package timestamps and exporting into an existing directory.
@anfimovdm anfimovdm self-assigned this Oct 27, 2026
@anfimovdm
anfimovdm merged commit 339c2eb into master Oct 27, 2026
1 check failed
@anfimovdm
anfimovdm deleted the al-pulp-gpl-notices branch October 27, 2026 14:59
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