Incorrect and incomplete licence information for *-binutils
Task Info (Flyspray) | |
---|---|
Opened By | Repentinus (Repentinus) |
Task ID | 71332 |
Type | Bug Report |
Project | Community Packages |
Category | Packages |
Version | None |
OS | All |
Opened | 2021-06-22 07:16:16 UTC |
Status | Assigned |
Assignee | Anatol Pomozov (anatolik) |
Assignee | Felix Yan (felixonmars) |
Assignee | Filipe Laíns (FFY00) |
Details
Description
All binutils packages declare themselves to be under the GPL-2.0-or-later ('GPL' in the PKGBUILD). This is incorrect as all the binaries in these package identify their licenses as the GPL-3.0-or-later ('GPL3').
This is also incomplete for all these packages as
- all the documentation appears to be licensed under the GFDL-1.3-no-invariants-or-later ('FDL1.3');
- and a bunch of script files in all the packages are licensed under an old version of the FSF All Permissive License without a warranty disclaimer.
So the proper array would be license=('GPL3' 'FDL1.3' 'custom: FSFAP-no-warranty-disclaimer')
.
The affected packages are:
- aarch64-linux-gnu-binutils-2.36.1-1
- arm-none-eabi-binutils-2.36.1-2
- avr-binutils-2.36.1-2
- lm32-elf-binutils-2.36.1-2
- mingw-w64-binutils-2.36.1-1
- nds32le-elf-binutils-2.36.1-2
- or1k-elf-binutils-2.36.1-2
- ppc64le-elf-binutils-2.36.1-2
- riscv32-elf-binutils-2.36.1-2
- riscv64-elf-binutils-2.36.1-2
- riscv64-linux-gnu-binutils-2.36.1-1
- sh2-elf-binutils-2.36.1-2
- sh4-elf-binutils-2.36.1-2
The FSF All Permissive License can be extracted in build()
like this:
# Extract the FSF All Permissive License
# <https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html>
# used for some linker scripts.
tail -n 5 ./ld/scripttempl/README > FSFAP-no-warranty-disclaimer
In package()
it can then be installed like this:
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname/" FSFAP-no-warranty-disclaimer
Steps to reproduce
- Run all the binaries as
./binary --version
to confirm they are licensed under the GPL-3.0-or-later. - Inspect man and info pages in
usr/share/{man,info}/
to confirm these are licensed under the GFDL-1.3-no-invariants-or-later. - Inspect anything in
usr/gnu_triplet/lib/ldscripts/
to verify they are licensed under the GNU All Permissive License.
The attached collect.sh
takes the package archive as its sole argument, untars it, collects the relevant copyright statements to "$1.copyrights", and removes the unpacked usr/
tree. Output for all the packages is attached to the bug report. Variations in structure mean that 'avr-binutils-2.36.1-2' and 'mingw-w64-binutils-2.36.1-1' require manual inspection of the package contents to confirm my claims.
Additional information
binutils in core is also affected, but the license array for that package should have more entries than here.