diff --git a/.github/workflows/reuse.yml b/.github/workflows/reuse.yml
new file mode 100644
index 00000000..c10221c8
--- /dev/null
+++ b/.github/workflows/reuse.yml
@@ -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 05:15 UTC)
+ schedule:
+ - cron: '15 5 * * *'
+
+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
diff --git a/.reuse/dep5 b/.reuse/dep5
new file mode 100644
index 00000000..0c3745eb
--- /dev/null
+++ b/.reuse/dep5
@@ -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
diff --git a/CHANGELOG.rst.license b/CHANGELOG.rst.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/CHANGELOG.rst.license
@@ -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
diff --git a/README.md b/README.md
index f198a882..779b1854 100644
--- a/README.md
+++ b/README.md
@@ -176,4 +176,4 @@ See [LICENSES/GPL-3.0-or-later.txt](https://github.com/ansible-collections/commu
Parts of the collection are licensed under the [BSD 2-Clause license](https://github.com/ansible-collections/community.routeros/blob/main/LICENSES/BSD-2-Clause.txt).
-Most files in the collection that are not automatically generated have a machine readable `SDPX-License-Identifier:` comment denoting its respective license(s).
+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/).
diff --git a/changelogs/changelog.yaml.license b/changelogs/changelog.yaml.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/changelogs/changelog.yaml.license
@@ -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
diff --git a/changelogs/fragments/licenses.yml b/changelogs/fragments/licenses.yml
new file mode 100644
index 00000000..a10aef82
--- /dev/null
+++ b/changelogs/fragments/licenses.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - "The collection repository conforms to the `REUSE specification `__ except for the changelog fragments (https://github.com/ansible-collections/community.routeros/pull/108)."
diff --git a/tests/sanity/extra/extra-docs.json.license b/tests/sanity/extra/extra-docs.json.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/sanity/extra/extra-docs.json.license
@@ -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
diff --git a/tests/sanity/extra/licenses.json.license b/tests/sanity/extra/licenses.json.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/sanity/extra/licenses.json.license
@@ -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
diff --git a/tests/sanity/extra/licenses.py b/tests/sanity/extra/licenses.py
index 4708822b..127288c6 100755
--- a/tests/sanity/extra/licenses.py
+++ b/tests/sanity/extra/licenses.py
@@ -21,29 +21,35 @@ def find_licenses(filename, relax=False):
spdx_license_identifiers = []
other_license_identifiers = []
has_copyright = False
- with open(filename, 'r', encoding='utf-8') as f:
- for line in f:
- line = line.rstrip()
- if 'Copyright ' in line:
- has_copyright = True
- if 'Copyright: ' in line:
- print('%s: found copyright line with "Copyright:". Please remove the colon.' % (filename, ))
- idx = line.find('SPDX-License-Identifier: ')
- if idx >= 0:
- spdx_license_identifiers.append(line[idx + len('SPDX-License-Identifier: '):])
- if 'GNU General Public License' in line:
- if 'v3.0+' in line:
- other_license_identifiers.append('GPL-3.0-or-later')
- if 'version 3 or later' in line:
- other_license_identifiers.append('GPL-3.0-or-later')
- if 'Simplified BSD License' in line:
- other_license_identifiers.append('BSD-2-Clause')
- if 'Apache License 2.0' in line:
- other_license_identifiers.append('Apache-2.0')
- if 'PSF License' in line or 'Python-2.0' in line:
- other_license_identifiers.append('PSF-2.0')
- if 'MIT License' in line:
- other_license_identifiers.append('MIT')
+ try:
+ with open(filename, 'r', encoding='utf-8') as f:
+ for line in f:
+ line = line.rstrip()
+ if 'Copyright ' in line:
+ has_copyright = True
+ if 'Copyright: ' in line:
+ print('%s: found copyright line with "Copyright:". Please remove the colon.' % (filename, ))
+ if 'SPDX-FileCopyrightText: ' in line:
+ has_copyright = True
+ idx = line.find('SPDX-License-Identifier: ')
+ if idx >= 0:
+ lic_id = line[idx + len('SPDX-License-Identifier: '):]
+ spdx_license_identifiers.extend(lic_id.split(' OR '))
+ if 'GNU General Public License' in line:
+ if 'v3.0+' in line:
+ other_license_identifiers.append('GPL-3.0-or-later')
+ if 'version 3 or later' in line:
+ other_license_identifiers.append('GPL-3.0-or-later')
+ if 'Simplified BSD License' in line:
+ other_license_identifiers.append('BSD-2-Clause')
+ if 'Apache License 2.0' in line:
+ other_license_identifiers.append('Apache-2.0')
+ if 'PSF License' in line or 'Python-2.0' in line:
+ other_license_identifiers.append('PSF-2.0')
+ if 'MIT License' in line:
+ other_license_identifiers.append('MIT')
+ except Exception as exc:
+ print('%s: error while processing file: %s' % (filename, exc))
if len(set(spdx_license_identifiers)) < len(spdx_license_identifiers):
print('%s: found identical SPDX-License-Identifier values' % (filename, ))
if other_license_identifiers and set(other_license_identifiers) != set(spdx_license_identifiers):
@@ -61,26 +67,14 @@ def main():
# The following paths are allowed to have no license identifier
no_comments_allowed = [
'changelogs/fragments/*.yml',
- 'tests/sanity/extra/*.json',
- 'tests/sanity/ignore-2.*.txt',
- 'tests/unit/plugins/modules/fixtures/*',
- 'tests/unit/plugins/modules/fixtures/facts/*',
- 'LICENSES/*.txt',
- 'COPYING',
- ]
-
- # Files of this name are allowed to be empty
- empty_allowed = [
- '.keep',
- '__init__.py',
]
# These files are completely ignored
ignore_paths = [
- 'CHANGELOG.rst',
- 'changelogs/changelog.yaml',
- 'tests/sanity/extra/licenses.py', # The strings in find_licenses() confuse this code :-)
'.ansible-test-timeout.json',
+ '.reuse/dep5',
+ 'LICENSES/*.txt',
+ 'COPYING',
]
no_comments_allowed = [fn for pattern in no_comments_allowed for fn in glob.glob(pattern)]
@@ -93,9 +87,10 @@ def main():
path = path[2:]
if path in ignore_paths or path.startswith('tests/output/'):
continue
- if os.path.basename(path) in empty_allowed:
- if os.stat(path).st_size == 0:
- continue
+ if os.stat(path).st_size == 0:
+ continue
+ if not path.endswith('.license') and os.path.exists(path + '.license'):
+ path = path + '.license'
valid_licenses_for_path = valid_licenses
if path.startswith('plugins/') and not path.startswith(('plugins/modules/', 'plugins/module_utils/')):
valid_licenses_for_path = [license for license in valid_licenses if license == 'GPL-3.0-or-later']
diff --git a/tests/sanity/extra/licenses.py.license b/tests/sanity/extra/licenses.py.license
new file mode 100644
index 00000000..6c4958fe
--- /dev/null
+++ b/tests/sanity/extra/licenses.py.license
@@ -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
diff --git a/tests/sanity/extra/no-unwanted-files.json.license b/tests/sanity/extra/no-unwanted-files.json.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/sanity/extra/no-unwanted-files.json.license
@@ -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
diff --git a/tests/sanity/extra/update-docs.json.license b/tests/sanity/extra/update-docs.json.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/sanity/extra/update-docs.json.license
@@ -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
diff --git a/tests/sanity/ignore-2.10.txt.license b/tests/sanity/ignore-2.10.txt.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/sanity/ignore-2.10.txt.license
@@ -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
diff --git a/tests/sanity/ignore-2.11.txt.license b/tests/sanity/ignore-2.11.txt.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/sanity/ignore-2.11.txt.license
@@ -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
diff --git a/tests/sanity/ignore-2.12.txt.license b/tests/sanity/ignore-2.12.txt.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/sanity/ignore-2.12.txt.license
@@ -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
diff --git a/tests/sanity/ignore-2.13.txt.license b/tests/sanity/ignore-2.13.txt.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/sanity/ignore-2.13.txt.license
@@ -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
diff --git a/tests/sanity/ignore-2.14.txt.license b/tests/sanity/ignore-2.14.txt.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/sanity/ignore-2.14.txt.license
@@ -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
diff --git a/tests/sanity/ignore-2.9.txt.license b/tests/sanity/ignore-2.9.txt.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/sanity/ignore-2.9.txt.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/export.license b/tests/unit/plugins/modules/fixtures/facts/export.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/export.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/export_verbose.license b/tests/unit/plugins/modules/fixtures/facts/export_verbose.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/export_verbose.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/interface_print_detail_without-paging.license b/tests/unit/plugins/modules/fixtures/facts/interface_print_detail_without-paging.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/interface_print_detail_without-paging.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/ip_address_print_detail_without-paging.license b/tests/unit/plugins/modules/fixtures/facts/ip_address_print_detail_without-paging.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/ip_address_print_detail_without-paging.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/ip_neighbor_print_detail_without-paging.license b/tests/unit/plugins/modules/fixtures/facts/ip_neighbor_print_detail_without-paging.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/ip_neighbor_print_detail_without-paging.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/ip_route_print_detail_without-paging.license b/tests/unit/plugins/modules/fixtures/facts/ip_route_print_detail_without-paging.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/ip_route_print_detail_without-paging.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/ipv6_address_print_detail_without-paging.license b/tests/unit/plugins/modules/fixtures/facts/ipv6_address_print_detail_without-paging.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/ipv6_address_print_detail_without-paging.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/ipv6_address_print_detail_without-paging_no-ipv6.license b/tests/unit/plugins/modules/fixtures/facts/ipv6_address_print_detail_without-paging_no-ipv6.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/ipv6_address_print_detail_without-paging_no-ipv6.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/routing_bgp_instance_print_detail_without-paging.license b/tests/unit/plugins/modules/fixtures/facts/routing_bgp_instance_print_detail_without-paging.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/routing_bgp_instance_print_detail_without-paging.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/routing_bgp_peer_print_detail_without-paging.license b/tests/unit/plugins/modules/fixtures/facts/routing_bgp_peer_print_detail_without-paging.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/routing_bgp_peer_print_detail_without-paging.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/routing_bgp_vpnv4-route_print_detail_without-paging.license b/tests/unit/plugins/modules/fixtures/facts/routing_bgp_vpnv4-route_print_detail_without-paging.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/routing_bgp_vpnv4-route_print_detail_without-paging.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/routing_ospf_instance_print_detail_without-paging.license b/tests/unit/plugins/modules/fixtures/facts/routing_ospf_instance_print_detail_without-paging.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/routing_ospf_instance_print_detail_without-paging.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/routing_ospf_neighbor_print_detail_without-paging.license b/tests/unit/plugins/modules/fixtures/facts/routing_ospf_neighbor_print_detail_without-paging.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/routing_ospf_neighbor_print_detail_without-paging.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/system_identity_print_without-paging.license b/tests/unit/plugins/modules/fixtures/facts/system_identity_print_without-paging.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/system_identity_print_without-paging.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/system_resource_print_without-paging.license b/tests/unit/plugins/modules/fixtures/facts/system_resource_print_without-paging.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/system_resource_print_without-paging.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/facts/system_routerboard_print_without-paging.license b/tests/unit/plugins/modules/fixtures/facts/system_routerboard_print_without-paging.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/facts/system_routerboard_print_without-paging.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/system_package_print.license b/tests/unit/plugins/modules/fixtures/system_package_print.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/system_package_print.license
@@ -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
diff --git a/tests/unit/plugins/modules/fixtures/system_resource_print.license b/tests/unit/plugins/modules/fixtures/system_resource_print.license
new file mode 100644
index 00000000..edff8c76
--- /dev/null
+++ b/tests/unit/plugins/modules/fixtures/system_resource_print.license
@@ -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