diff --git a/.reuse/dep5 b/.reuse/dep5 deleted file mode 100644 index daa8403..0000000 --- a/.reuse/dep5 +++ /dev/null @@ -1,24 +0,0 @@ -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: incorporeal-cms -Upstream-Contact: Brian S. Stephan -Source: https://git.incorporeal.org/bss/incorporeal-cms - -# Trivial files -Files: .gitignore .gitattributes -Copyright: © 2020 Brian S. Stephan -License: GPL-3.0-only - -# High level repo docs -Files: *.md -Copyright: © 2020 Brian S. Stephan -License: GPL-3.0-only - -# Test data -Files: tests/instance/* -Copyright: © 2020 Brian S. Stephan -License: GPL-3.0-only - -# Python packaging, scaffolding, and errata -Files: MANIFEST.in pyproject.toml tox.ini requirements/* -Copyright: © 2020 Brian S. Stephan -License: GPL-3.0-only diff --git a/LICENSES/GPL-3.0-only.txt b/LICENSES/GPL-3.0-or-later.txt similarity index 100% rename from LICENSES/GPL-3.0-only.txt rename to LICENSES/GPL-3.0-or-later.txt diff --git a/README.md b/README.md index a9399a0..a0f3a00 100644 --- a/README.md +++ b/README.md @@ -54,17 +54,16 @@ out and discuss issues and features and whatnot. Written by and copyright (C) 2025 Brian S. Stephan (bss@incorporeal.org). -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, version 3 of the License. +This program is free software: you can redistribute it and/or modify it under the terms of the GNU General +Public License as published by the Free Software Foundation, either version 3 of the License, or (at your +option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the +implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +more details. -You should have received a copy of the GNU General Public License -along with this program. If not, see . +You should have received a copy of the GNU General Public License along with this program. If not, see +. ### Content Output diff --git a/REUSE.toml b/REUSE.toml new file mode 100644 index 0000000..7cfd171 --- /dev/null +++ b/REUSE.toml @@ -0,0 +1,28 @@ +version = 1 +SPDX-PackageName = "incorporeal-cms" +SPDX-PackageSupplier = "Brian S. Stephan " +SPDX-PackageDownloadLocation = "https://git.incorporeal.org/bss/incorporeal-cms" + +[[annotations]] +path = [".gitignore", ".gitattributes"] +precedence = "aggregate" +SPDX-FileCopyrightText = "© 2020 Brian S. Stephan " +SPDX-License-Identifier = "GPL-3.0-or-later" + +[[annotations]] +path = "**.md" +precedence = "aggregate" +SPDX-FileCopyrightText = "© 2020 Brian S. Stephan " +SPDX-License-Identifier = "GPL-3.0-or-later" + +[[annotations]] +path = "tests/instance/**" +precedence = "aggregate" +SPDX-FileCopyrightText = "© 2020 Brian S. Stephan " +SPDX-License-Identifier = "GPL-3.0-or-later" + +[[annotations]] +path = ["MANIFEST.in", "pyproject.toml", "tox.ini", "requirements/**"] +precedence = "aggregate" +SPDX-FileCopyrightText = "© 2020 Brian S. Stephan " +SPDX-License-Identifier = "GPL-3.0-or-later" diff --git a/incorporealcms/__init__.py b/incorporealcms/__init__.py index ec5cac1..bef3772 100644 --- a/incorporealcms/__init__.py +++ b/incorporealcms/__init__.py @@ -1,7 +1,7 @@ """An application for running my Markdown-based sites. SPDX-FileCopyrightText: © 2025 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later """ import json import logging diff --git a/incorporealcms/config.py b/incorporealcms/config.py index 670e15e..61992e0 100644 --- a/incorporealcms/config.py +++ b/incorporealcms/config.py @@ -1,7 +1,7 @@ """Default configuration. SPDX-FileCopyrightText: © 2020 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later """ diff --git a/incorporealcms/error_pages.py b/incorporealcms/error_pages.py index 9f67f02..62aad5b 100644 --- a/incorporealcms/error_pages.py +++ b/incorporealcms/error_pages.py @@ -1,7 +1,7 @@ """Process the error page templates. SPDX-FileCopyrightText: © 2025 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later """ import os diff --git a/incorporealcms/feed.py b/incorporealcms/feed.py index 037c6b9..81e2e86 100644 --- a/incorporealcms/feed.py +++ b/incorporealcms/feed.py @@ -7,7 +7,7 @@ under pages/ (which may make sense for a blog) if they want, but could just as well be pages/foo content. SPDX-FileCopyrightText: © 2023 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later """ import logging import os diff --git a/incorporealcms/markdown.py b/incorporealcms/markdown.py index 7e7bbf7..355daa5 100644 --- a/incorporealcms/markdown.py +++ b/incorporealcms/markdown.py @@ -5,7 +5,7 @@ as is, but .md files need to be processed with a Markdown parser, so a lot of th is our tweaks and customizations for pages my way. SPDX-FileCopyrightText: © 2025 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later """ import datetime import logging diff --git a/incorporealcms/mdx/__init__.py b/incorporealcms/mdx/__init__.py index 5c22043..acd15f8 100644 --- a/incorporealcms/mdx/__init__.py +++ b/incorporealcms/mdx/__init__.py @@ -1,5 +1,5 @@ """Markdown extensions. SPDX-FileCopyrightText: © 2021 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later """ diff --git a/incorporealcms/mdx/figures.py b/incorporealcms/mdx/figures.py index 1ad211e..d0450b1 100644 --- a/incorporealcms/mdx/figures.py +++ b/incorporealcms/mdx/figures.py @@ -1,7 +1,7 @@ """Create generic figures with captions. SPDX-FileCopyrightText: © 2022 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later """ import re from xml.etree.ElementTree import SubElement # nosec B405 diff --git a/incorporealcms/mdx/pydot.py b/incorporealcms/mdx/pydot.py index 1c8d4ac..77792af 100644 --- a/incorporealcms/mdx/pydot.py +++ b/incorporealcms/mdx/pydot.py @@ -1,7 +1,7 @@ """Serve dot diagrams inline. SPDX-FileCopyrightText: © 2021 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later """ import base64 import logging diff --git a/incorporealcms/ssg.py b/incorporealcms/ssg.py index 6254f24..47d30c7 100644 --- a/incorporealcms/ssg.py +++ b/incorporealcms/ssg.py @@ -1,7 +1,7 @@ """Build an instance as a static site suitable for serving via e.g. Nginx. SPDX-FileCopyrightText: © 2025 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later """ import argparse import logging diff --git a/incorporealcms/static/css/base.css b/incorporealcms/static/css/base.css index f1b5d86..1df38eb 100644 --- a/incorporealcms/static/css/base.css +++ b/incorporealcms/static/css/base.css @@ -1,6 +1,6 @@ /* * SPDX-FileCopyrightText: © 2020 Brian S. Stephan - * SPDX-License-Identifier: GPL-3.0-only + * SPDX-License-Identifier: GPL-3.0-or-later */ html { diff --git a/incorporealcms/static/css/dark.css b/incorporealcms/static/css/dark.css index 44b7cc0..cb57d2e 100644 --- a/incorporealcms/static/css/dark.css +++ b/incorporealcms/static/css/dark.css @@ -1,6 +1,6 @@ /* * SPDX-FileCopyrightText: © 2020 Brian S. Stephan - * SPDX-License-Identifier: GPL-3.0-only + * SPDX-License-Identifier: GPL-3.0-or-later */ /* common styling via the base.css, used in light and dark */ diff --git a/incorporealcms/static/css/light.css b/incorporealcms/static/css/light.css index 6284d1c..155f3a0 100644 --- a/incorporealcms/static/css/light.css +++ b/incorporealcms/static/css/light.css @@ -1,6 +1,6 @@ /* * SPDX-FileCopyrightText: © 2020 Brian S. Stephan - * SPDX-License-Identifier: GPL-3.0-only + * SPDX-License-Identifier: GPL-3.0-or-later */ /* common styling via the base.css, used in light and dark */ diff --git a/incorporealcms/static/css/plain.css b/incorporealcms/static/css/plain.css index 5b172b0..d021551 100644 --- a/incorporealcms/static/css/plain.css +++ b/incorporealcms/static/css/plain.css @@ -1,6 +1,6 @@ /* * SPDX-FileCopyrightText: © 2020 Brian S. Stephan - * SPDX-License-Identifier: GPL-3.0-only + * SPDX-License-Identifier: GPL-3.0-or-later */ /* specify almost no styling, just fix some image and nav rendering */ diff --git a/incorporealcms/static/js/style_switcher.js b/incorporealcms/static/js/style_switcher.js index 1e52d74..2e387b9 100644 --- a/incorporealcms/static/js/style_switcher.js +++ b/incorporealcms/static/js/style_switcher.js @@ -5,7 +5,7 @@ * of my CMS, so I want to keep it around even in the static site. * * SPDX-FileCopyrightText: © 2025 Brian S. Stephan - * SPDX-License-Identifier: GPL-3.0-only + * SPDX-License-Identifier: GPL-3.0-or-later */ /** diff --git a/incorporealcms/templates/400.html b/incorporealcms/templates/400.html index 5e53500..3ac2013 100644 --- a/incorporealcms/templates/400.html +++ b/incorporealcms/templates/400.html @@ -1,6 +1,6 @@ {# SPDX-FileCopyrightText: © 2020 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later #} {% extends "base.html" %} diff --git a/incorporealcms/templates/404.html b/incorporealcms/templates/404.html index 0cd2c3f..8f777a5 100644 --- a/incorporealcms/templates/404.html +++ b/incorporealcms/templates/404.html @@ -1,6 +1,6 @@ {# SPDX-FileCopyrightText: © 2020 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later #} {% extends "base.html" %} diff --git a/incorporealcms/templates/500.html b/incorporealcms/templates/500.html index 37fb5c8..cc82ea5 100644 --- a/incorporealcms/templates/500.html +++ b/incorporealcms/templates/500.html @@ -1,6 +1,6 @@ {# SPDX-FileCopyrightText: © 2020 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later #} {% extends "base.html" %} diff --git a/incorporealcms/templates/base-wide.html b/incorporealcms/templates/base-wide.html index 6539e88..bc05292 100644 --- a/incorporealcms/templates/base-wide.html +++ b/incorporealcms/templates/base-wide.html @@ -1,6 +1,6 @@ {# SPDX-FileCopyrightText: © 2020 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later #} {% extends "base.html" %} {% block site_class %}class="site-wrap site-wrap-double-width"{% endblock %} diff --git a/incorporealcms/templates/base.html b/incorporealcms/templates/base.html index 4ed5295..7e4706f 100644 --- a/incorporealcms/templates/base.html +++ b/incorporealcms/templates/base.html @@ -1,6 +1,6 @@ {# SPDX-FileCopyrightText: © 2020 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later #} {{ title }} diff --git a/pyproject.toml b/pyproject.toml index 94e77ce..8f50fba 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" name = "incorporeal-cms" description = "A lightweight static site generator for Markdown-based sites." readme = "README.md" -license = {text = "GPL-3.0-only"} +license = {text = "GPL-3.0-or-later"} authors = [ {name = "Brian S. Stephan", email = "bss@incorporeal.org"}, ] @@ -16,7 +16,7 @@ dynamic = ["version"] classifiers = [ "Framework :: Flask", "Programming Language :: Python :: 3", - "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", + "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: OS Independent", "Topic :: Text Processing :: Markup :: Markdown", ] diff --git a/tests/functional_markdown_tests.py b/tests/functional_markdown_tests.py index 12370cb..3ff53d3 100644 --- a/tests/functional_markdown_tests.py +++ b/tests/functional_markdown_tests.py @@ -1,7 +1,7 @@ """Test graphviz functionality. SPDX-FileCopyrightText: © 2021 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later """ import os import tempfile diff --git a/tests/test_commands.py b/tests/test_commands.py index cfd846d..ed84984 100644 --- a/tests/test_commands.py +++ b/tests/test_commands.py @@ -1,7 +1,7 @@ """Test command line invocations. SPDX-FileCopyrightText: © 2025 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later """ import os import tempfile diff --git a/tests/test_factory.py b/tests/test_factory.py index 30e0922..793494d 100644 --- a/tests/test_factory.py +++ b/tests/test_factory.py @@ -1,7 +1,7 @@ """Test basic configuration stuff. SPDX-FileCopyrightText: © 2020 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later """ import os diff --git a/tests/test_feed.py b/tests/test_feed.py index 143cbca..a7a9615 100644 --- a/tests/test_feed.py +++ b/tests/test_feed.py @@ -1,7 +1,7 @@ """Test the feed methods. SPDX-FileCopyrightText: © 2023 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later """ import os import tempfile diff --git a/tests/test_markdown.py b/tests/test_markdown.py index cf6111b..6a184eb 100644 --- a/tests/test_markdown.py +++ b/tests/test_markdown.py @@ -1,7 +1,7 @@ """Test the conversion of Markdown pages. SPDX-FileCopyrightText: © 2025 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later """ import os from unittest.mock import patch diff --git a/tests/test_ssg.py b/tests/test_ssg.py index 406fdea..4cc7cf0 100644 --- a/tests/test_ssg.py +++ b/tests/test_ssg.py @@ -1,7 +1,7 @@ """Test the high level SSG operations. SPDX-FileCopyrightText: © 2025 Brian S. Stephan -SPDX-License-Identifier: GPL-3.0-only +SPDX-License-Identifier: GPL-3.0-or-later """ import os import tempfile