From da393e5975d9a39b9e2afb9f6d6bf935001379b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Palancher?= Date: Thu, 26 Jun 2025 17:29:53 +0200 Subject: [PATCH 1/2] fix: adopt PEP 639 with SPDX license Fix license deprecation raised by external build package by adopting PEP 639 with SPDX license names. fix #52 --- CHANGELOG.md | 4 ++++ pyproject.toml | 1 + src/authentication/pyproject.toml | 3 +-- src/build/pyproject.toml | 3 +-- src/core/pyproject.toml | 3 +-- src/log/pyproject.toml | 3 +-- src/permissions/pyproject.toml | 3 +-- src/settings/pyproject.toml | 3 +-- src/web/pyproject.toml | 3 +-- 9 files changed, 12 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b025bdd..32b5459 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,10 @@ and this project adheres to user authentication to retrieve user information and groups (#57). Contribution from @Cornelicorn. +### Fixed +- pkg: Adopt PEP 639 to declare license in package metadata with SPDX notation + and fix deprecation notice raised by external build package (#52). + ## [1.4.0] - 2025-04-11 ### Added diff --git a/pyproject.toml b/pyproject.toml index 6205939..4f35e5d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,6 +6,7 @@ build-backend = "setuptools.build_meta" name = "RFL" version = "1.4.0" description = "Rackslab Foundation Library" +license = "GPL-3.0-or-later" requires-python = ">=3.6" [tool.ruff.lint] diff --git a/src/authentication/pyproject.toml b/src/authentication/pyproject.toml index eb8fcf9..b61dcef 100644 --- a/src/authentication/pyproject.toml +++ b/src/authentication/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" name = "RFL.authentication" version = "1.4.0" description = "Rackslab Foundation Library: authentication package" -license = {text = "GPLv3+"} +license = "GPL-3.0-or-later" requires-python = ">=3.6" keywords = ["utility", "basic"] authors = [ @@ -21,7 +21,6 @@ classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: System Administrators", - "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3", "Topic :: System :: Systems Administration", ] diff --git a/src/build/pyproject.toml b/src/build/pyproject.toml index ac132d7..3355572 100644 --- a/src/build/pyproject.toml +++ b/src/build/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" name = "RFL.build" version = "1.4.0" description = "Rackslab Foundation Library: build package" -license = {text = "GPLv3+"} +license = "GPL-3.0-or-later" requires-python = ">=3.6" keywords = ["utility", "basic"] authors = [ @@ -20,7 +20,6 @@ classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: System Administrators", - "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3", "Topic :: System :: Systems Administration", ] diff --git a/src/core/pyproject.toml b/src/core/pyproject.toml index e541876..975b740 100644 --- a/src/core/pyproject.toml +++ b/src/core/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" name = "RFL.core" version = "1.4.0" description = "Rackslab Foundation Library: core package" -license = {text = "GPLv3+"} +license = "GPL-3.0-or-later" requires-python = ">=3.6" keywords = ["utility", "basic"] authors = [ @@ -17,7 +17,6 @@ classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: System Administrators", - "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3", "Topic :: System :: Systems Administration", ] diff --git a/src/log/pyproject.toml b/src/log/pyproject.toml index ef4bcd5..fce94f1 100644 --- a/src/log/pyproject.toml +++ b/src/log/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" name = "RFL.log" version = "1.4.0" description = "Rackslab Foundation Library: log package" -license = {text = "GPLv3+"} +license = "GPL-3.0-or-later" requires-python = ">=3.6" keywords = ["utility", "basic"] authors = [ @@ -17,7 +17,6 @@ classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: System Administrators", - "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3", "Topic :: System :: Systems Administration", ] diff --git a/src/permissions/pyproject.toml b/src/permissions/pyproject.toml index 6bba58e..f232880 100644 --- a/src/permissions/pyproject.toml +++ b/src/permissions/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" name = "RFL.permissions" version = "1.4.0" description = "Rackslab Foundation Library: permissions package" -license = {text = "GPLv3+"} +license = "GPL-3.0-or-later" requires-python = ">=3.6" keywords = ["utility", "basic"] authors = [ @@ -21,7 +21,6 @@ classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: System Administrators", - "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3", "Topic :: System :: Systems Administration", ] diff --git a/src/settings/pyproject.toml b/src/settings/pyproject.toml index 5c0b84f..1d5b853 100644 --- a/src/settings/pyproject.toml +++ b/src/settings/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" name = "RFL.settings" version = "1.4.0" description = "Rackslab Foundation Library: settings package" -license = {text = "GPLv3+"} +license = "GPL-3.0-or-later" requires-python = ">=3.6" keywords = ["utility", "basic"] authors = [ @@ -20,7 +20,6 @@ classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: System Administrators", - "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3", "Topic :: System :: Systems Administration", ] diff --git a/src/web/pyproject.toml b/src/web/pyproject.toml index 9c94fd0..f617f5a 100644 --- a/src/web/pyproject.toml +++ b/src/web/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" name = "RFL.web" version = "1.4.0" description = "Rackslab Foundation Library: web package" -license = {text = "GPLv3+"} +license = "GPL-3.0-or-later" requires-python = ">=3.6" keywords = ["utility", "basic"] authors = [ @@ -21,7 +21,6 @@ classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: System Administrators", - "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3", "Topic :: System :: Systems Administration", ] From 5ec2aee1ed7a11427d4b056d827ca26d6eb00b58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Palancher?= Date: Fri, 27 Jun 2025 08:45:45 +0200 Subject: [PATCH 2/2] ci: patch license metadata for python 3.8 The version of setuptools in python 3.8 environment does not support PEP 639 license metadata format. Patch pyproject.toml for this version to restore old deprecated format. --- .github/workflows/ci.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index b97d4a1..a28a5bf 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -29,6 +29,14 @@ jobs: python -m pip install --upgrade pip pip install pytest + # The version of setuptools in python 3.8 environment does not support PEP 639 + # license metadata format. Patch pyproject.toml for this version to restore old + # deprecated format. + - name: Patch license metadata (Python 3.8) + if: ${{ matrix.python-version == '3.8' }} + run: | + sed -i 's/^license = \(".*"\)/license = {text = \1}/' pyproject.toml src/*/pyproject.toml + - name: Install application run: | pip install src/core src/authentication src/build src/log src/permissions src/settings src/web