mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Make reuse conformant (#5138)
* Add .license files. * Add reuse test. * Update README. * Also remove .yaml changelog fragments. * Add changelog fragment. * Normalize licenses extra sanity test. * Declare REUSE conformance. * Update README.md
This commit is contained in:
parent
eea7977788
commit
02d9a1de9e
17 changed files with 83 additions and 9 deletions
30
.github/workflows/reuse.yml
vendored
Normal file
30
.github/workflows/reuse.yml
vendored
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
name: Verify REUSE
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
pull_request:
|
||||||
|
branches: [main]
|
||||||
|
# Run CI once per day (at 07:30 UTC)
|
||||||
|
schedule:
|
||||||
|
- cron: '30 7 * * *'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
pip install reuse
|
||||||
|
|
||||||
|
- name: Check REUSE compliance
|
||||||
|
run: |
|
||||||
|
reuse lint
|
5
.reuse/dep5
Normal file
5
.reuse/dep5
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
|
||||||
|
Files: changelogs/fragments/*
|
||||||
|
Copyright: Ansible Project
|
||||||
|
License: GPL-3.0-or-later
|
3
CHANGELOG.rst.license
Normal file
3
CHANGELOG.rst.license
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
SPDX-FileCopyrightText: Ansible Project
|
|
@ -133,6 +133,10 @@ See [this issue](https://github.com/ansible-collections/community.general/issues
|
||||||
|
|
||||||
## Licensing
|
## Licensing
|
||||||
|
|
||||||
GNU General Public License v3.0 or later.
|
This collection is primarily licensed and distributed as a whole under the GNU General Public License v3.0 or later.
|
||||||
|
|
||||||
See [COPYING](https://www.gnu.org/licenses/gpl-3.0.txt) to see the full text.
|
See [LICENSES/GPL-3.0-or-later.txt](https://github.com/ansible-collections/community.general/blob/main/COPYING) for the full text.
|
||||||
|
|
||||||
|
Parts of the collection are licensed under the [BSD 2-Clause license](https://github.com/ansible-collections/community.general/blob/main/LICENSES/BSD-2-Clause.txt), the [MIT license](https://github.com/ansible-collections/community.general/blob/main/LICENSES/MIT.txt), and the [PSF 2.0 license](https://github.com/ansible-collections/community.general/blob/main/LICENSES/PSF-2.0.txt).
|
||||||
|
|
||||||
|
All files have a machine readable `SDPX-License-Identifier:` comment denoting its respective license(s) or an equivalent entry in an accompanying `.license` file. Only changelog fragments (which will not be part of a release) are covered by a blanket statement in `.reuse/dep5`. This conforms to the [REUSE specification](https://reuse.software/spec/).
|
||||||
|
|
3
changelogs/changelog.yaml.license
Normal file
3
changelogs/changelog.yaml.license
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
SPDX-FileCopyrightText: Ansible Project
|
2
changelogs/fragments/licenses-2.yml
Normal file
2
changelogs/fragments/licenses-2.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
minor_changes:
|
||||||
|
- "The collection repository conforms to the `REUSE specification <https://reuse.software/spec/>`__ except for the changelog fragments (https://github.com/ansible-collections/community.general/pull/5138)."
|
3
tests/sanity/extra/aliases.json.license
Normal file
3
tests/sanity/extra/aliases.json.license
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
SPDX-FileCopyrightText: Ansible Project
|
3
tests/sanity/extra/botmeta.json.license
Normal file
3
tests/sanity/extra/botmeta.json.license
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
SPDX-FileCopyrightText: Ansible Project
|
3
tests/sanity/extra/extra-docs.json.license
Normal file
3
tests/sanity/extra/extra-docs.json.license
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
SPDX-FileCopyrightText: Ansible Project
|
3
tests/sanity/extra/licenses.json.license
Normal file
3
tests/sanity/extra/licenses.json.license
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
SPDX-FileCopyrightText: Ansible Project
|
|
@ -33,7 +33,8 @@ def find_licenses(filename, relax=False):
|
||||||
has_copyright = True
|
has_copyright = True
|
||||||
idx = line.find('SPDX-License-Identifier: ')
|
idx = line.find('SPDX-License-Identifier: ')
|
||||||
if idx >= 0:
|
if idx >= 0:
|
||||||
spdx_license_identifiers.append(line[idx + len('SPDX-License-Identifier: '):])
|
lic_id = line[idx + len('SPDX-License-Identifier: '):]
|
||||||
|
spdx_license_identifiers.extend(lic_id.split(' OR '))
|
||||||
if 'GNU General Public License' in line:
|
if 'GNU General Public License' in line:
|
||||||
if 'v3.0+' in line:
|
if 'v3.0+' in line:
|
||||||
other_license_identifiers.append('GPL-3.0-or-later')
|
other_license_identifiers.append('GPL-3.0-or-later')
|
||||||
|
@ -67,18 +68,14 @@ def main():
|
||||||
no_comments_allowed = [
|
no_comments_allowed = [
|
||||||
'changelogs/fragments/*.yml',
|
'changelogs/fragments/*.yml',
|
||||||
'changelogs/fragments/*.yaml',
|
'changelogs/fragments/*.yaml',
|
||||||
'tests/sanity/extra/*.json',
|
|
||||||
'tests/sanity/ignore-2.*.txt',
|
|
||||||
'COPYING',
|
|
||||||
]
|
]
|
||||||
|
|
||||||
# These files are completely ignored
|
# These files are completely ignored
|
||||||
ignore_paths = [
|
ignore_paths = [
|
||||||
'CHANGELOG.rst',
|
|
||||||
'changelogs/changelog.yaml',
|
|
||||||
'tests/sanity/extra/licenses.py', # The strings in find_licenses() confuse this code :-)
|
|
||||||
'.ansible-test-timeout.json',
|
'.ansible-test-timeout.json',
|
||||||
|
'.reuse/dep5',
|
||||||
'LICENSES/*.txt',
|
'LICENSES/*.txt',
|
||||||
|
'COPYING',
|
||||||
]
|
]
|
||||||
|
|
||||||
no_comments_allowed = [fn for pattern in no_comments_allowed for fn in glob.glob(pattern)]
|
no_comments_allowed = [fn for pattern in no_comments_allowed for fn in glob.glob(pattern)]
|
||||||
|
|
3
tests/sanity/extra/licenses.py.license
Normal file
3
tests/sanity/extra/licenses.py.license
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
SPDX-FileCopyrightText: 2022, Felix Fontein <felix@fontein.de>
|
3
tests/sanity/extra/no-unwanted-files.json.license
Normal file
3
tests/sanity/extra/no-unwanted-files.json.license
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
SPDX-FileCopyrightText: Ansible Project
|
3
tests/sanity/ignore-2.11.txt.license
Normal file
3
tests/sanity/ignore-2.11.txt.license
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
SPDX-FileCopyrightText: Ansible Project
|
3
tests/sanity/ignore-2.12.txt.license
Normal file
3
tests/sanity/ignore-2.12.txt.license
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
SPDX-FileCopyrightText: Ansible Project
|
3
tests/sanity/ignore-2.13.txt.license
Normal file
3
tests/sanity/ignore-2.13.txt.license
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
SPDX-FileCopyrightText: Ansible Project
|
3
tests/sanity/ignore-2.14.txt.license
Normal file
3
tests/sanity/ignore-2.14.txt.license
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
SPDX-FileCopyrightText: Ansible Project
|
Loading…
Reference in a new issue