From e2e6bdfa15429f7a315b76a030712569105e5f9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20M=C3=A4rdian?= Date: Mon, 25 Mar 2024 13:57:35 +0100 Subject: [PATCH 1/3] meson: Build using Python 3.10 limited API (LP: #2050881) This requires meson >= 1.3.0 --- meson.build | 2 +- python-cffi/netplan/meson.build | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 0da0d7ff5..8d040d035 100644 --- a/meson.build +++ b/meson.build @@ -6,7 +6,7 @@ project('netplan', 'c', 'warning_level=2', 'werror=true', ], - meson_version: '>= 0.61.0', + meson_version: '>= 1.3.0', ) glib = dependency('glib-2.0') diff --git a/python-cffi/netplan/meson.build b/python-cffi/netplan/meson.build index 2f820d132..17b661405 100644 --- a/python-cffi/netplan/meson.build +++ b/python-cffi/netplan/meson.build @@ -24,6 +24,7 @@ cffi_pyext = python.extension_module( link_with: [libnetplan], subdir: 'netplan', install: true, + limited_api: '3.10', ) bindings_sources = [ From d43f3e1e69d9078e9c989a99f57e543bf69494a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20M=C3=A4rdian?= Date: Thu, 28 Mar 2024 17:33:42 +0100 Subject: [PATCH 2/3] CI: fix codeql build --- .github/workflows/codeql-analysis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index cac50f194..3168ccff9 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -58,6 +58,7 @@ jobs: # Installs the build dependencies - name: Install build depends run: | + echo "APT::Get::Always-Include-Phased-Updates \"true\";" | sudo tee /etc/apt/apt.conf.d/90phased-updates sudo sed -i 's/Types: deb/Types: deb deb-src/g' /etc/apt/sources.list.d/ubuntu.sources sudo apt update sudo apt install meson python3-coverage python3-pytest python3-pytest-cov libcmocka-dev python3-cffi libpython3-dev From b37579f25c30a1ed973e61a9c196d077c17c5d7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20M=C3=A4rdian?= Date: Thu, 28 Mar 2024 17:38:52 +0100 Subject: [PATCH 3/3] RPM: avoid meson upgrade for EL9 --- .github/workflows/rpmbuild.yml | 2 +- rpm/meson-python-no-limited-api.diff | 40 ++++++++++++++++++++++++++++ rpm/netplan.spec | 3 ++- 3 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 rpm/meson-python-no-limited-api.diff diff --git a/.github/workflows/rpmbuild.yml b/.github/workflows/rpmbuild.yml index b8d80df6e..55c73fa92 100644 --- a/.github/workflows/rpmbuild.yml +++ b/.github/workflows/rpmbuild.yml @@ -19,7 +19,7 @@ jobs: container: - fedora:latest # - fedora:rawhide - - rockylinux:9 + # - rockylinux:9 # lacking meson >= 1.3.0 container: image: ${{ matrix.container }} steps: diff --git a/rpm/meson-python-no-limited-api.diff b/rpm/meson-python-no-limited-api.diff new file mode 100644 index 000000000..71e0e6484 --- /dev/null +++ b/rpm/meson-python-no-limited-api.diff @@ -0,0 +1,40 @@ +From d3ac742b25df0b495968003bf695a1e202455e19 Mon Sep 17 00:00:00 2001 +From: Lukas Märdian +Date: Thu, 28 Mar 2024 17:37:44 +0100 +Subject: [PATCH] Revert "meson: Build using Python 3.10 limited API (LP: + #2050881)" + +This reverts commit 5377b8c856f3f7a5b19ee7c486759adfac582d91. +--- + meson.build | 2 +- + python-cffi/netplan/meson.build | 1 - + 2 files changed, 1 insertion(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 8755ebe4..9556836a 100644 +--- a/meson.build ++++ b/meson.build +@@ -6,7 +6,7 @@ project('netplan', 'c', + 'warning_level=2', + 'werror=true', + ], +- meson_version: '>= 1.3.0', ++ meson_version: '>= 0.61.0', + ) + + glib = dependency('glib-2.0') +diff --git a/python-cffi/netplan/meson.build b/python-cffi/netplan/meson.build +index 17b66140..2f820d13 100644 +--- a/python-cffi/netplan/meson.build ++++ b/python-cffi/netplan/meson.build +@@ -24,7 +24,6 @@ cffi_pyext = python.extension_module( + link_with: [libnetplan], + subdir: 'netplan', + install: true, +- limited_api: '3.10', + ) + + bindings_sources = [ +-- +2.40.1 + diff --git a/rpm/netplan.spec b/rpm/netplan.spec index fcc6e101a..8cc72b470 100644 --- a/rpm/netplan.spec +++ b/rpm/netplan.spec @@ -15,13 +15,14 @@ %endif Name: netplan -Version: 0.106 +Version: 1.0 Release: 0%{?dist} Summary: Network configuration tool using YAML Group: System Environment/Base License: GPL-3.0-only URL: http://netplan.io/ Source0: https://github.com/canonical/%{name}/archive/%{version}/%{name}-%{version}.tar.gz +#Patch0: meson-python-no-limited-api.diff BuildRequires: gcc BuildRequires: meson >= 0.61