Re: [oe] [PATCH 05/23] libpwquality: backport a python 3.12 compatibility patch

2024-01-10 Thread Alexander Kanavin
I guess this change needs to be rebased and restored on top of the
backported patch:

--  CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@
setup.py build --build-base py$(PYTHONREV) install
--prefix=${DESTDIR}${prefix}
-+  CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@
setup.py build --build-base py$(PYTHONREV) install
--prefix=${DESTDIR}${prefix} --install-lib=${DESTDIR}/${PYTHONSITEDIR}

Can you try that please?

Alex

On Wed, 10 Jan 2024 at 12:43, Martin Jansa  wrote:
>
> It doesn't respect libdir now, causing installed-vs-shipped e.g. in multilib 
> builds with libdir set to /usr/lib32:
>
> ERROR: QA Issue: lib32-libpwquality: Files/directories were installed but not 
> shipped in any package:
>   /usr/lib/python3.11/site-packages/pwquality.cpython-311-arm-linux-gnueabi.so
>   /usr/lib/python3.11/site-packages/pwquality-1.4.5-py3.11.egg-info
>   
> /usr/lib/python3.11/site-packages/pwquality-1.4.5-py3.11.egg-info/SOURCES.txt
>   /usr/lib/python3.11/site-packages/pwquality-1.4.5-py3.11.egg-info/PKG-INFO
>   
> /usr/lib/python3.11/site-packages/pwquality-1.4.5-py3.11.egg-info/dependency_links.txt
>   
> /usr/lib/python3.11/site-packages/pwquality-1.4.5-py3.11.egg-info/top_level.txt
> Please set FILES such that these items are packaged. Alternatively if they 
> are unneeded, avoid installing them or delete them within do_install.
> lib32-libpwquality: 6 installed and not shipped files. [installed-vs-shipped]
>
> On Sun, Dec 31, 2023 at 1:23 PM Alexander Kanavin  
> wrote:
>>
>> This also allows dropping a previous patch.
>>
>> Signed-off-by: Alexander Kanavin 
>> ---
>>  ...-Use-setuptools-instead-of-distutils.patch | 78 +++
>>  ...missing-python-include-dir-for-cross.patch | 43 --
>>  .../libpwquality/libpwquality_1.4.5.bb|  6 +-
>>  3 files changed, 81 insertions(+), 46 deletions(-)
>>  create mode 100644 
>> meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch
>>  delete mode 100644 
>> meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch
>>
>> diff --git 
>> a/meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch
>>  
>> b/meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch
>> new file mode 100644
>> index 0..7eaca66b5
>> --- /dev/null
>> +++ 
>> b/meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch
>> @@ -0,0 +1,78 @@
>> +From ad95b7684365dea8335c34527d4c1463c1668af0 Mon Sep 17 00:00:00 2001
>> +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= 
>> +Date: Fri, 31 Mar 2023 14:52:19 +0200
>> +Subject: [PATCH] Use setuptools instead of distutils
>> +
>> +distutils is removed from Python 3.12+:
>> +https://peps.python.org/pep-0632/
>> +
>> +Upstream-Status: Backport 
>> [https://github.com/libpwquality/libpwquality/commit/7b5e0f0097faebdcc6a8b783237bbba7a983147a]
>> +Signed-off-by: Alexander Kanavin 
>> +---
>> + libpwquality.spec.in | 11 ++-
>> + python/Makefile.am   |  2 +-
>> + python/setup.py.in   |  6 +++---
>> + 3 files changed, 6 insertions(+), 13 deletions(-)
>> +
>> +diff --git a/libpwquality.spec.in b/libpwquality.spec.in
>> +index 70a6f53..0809126 100644
>> +--- a/libpwquality.spec.in
>>  b/libpwquality.spec.in
>> +@@ -33,9 +33,11 @@ BuildRequires: gettext
>> + BuildRequires: pam-devel
>> + %if %{with python2}
>> + BuildRequires: python2-devel
>> ++BuildRequires: python2-setuptools
>> + %endif
>> + %if %{with python3}
>> + BuildRequires: python3-devel
>> ++BuildRequires: python3-setuptools
>> + %endif
>> +
>> + URL: https://github.com/libpwquality/libpwquality/
>> +@@ -103,15 +105,6 @@ cp -a . %{py3dir}
>> + pushd %{py3dir}
>> + %endif
>> + %if %{with python3}
>> +-# setuptools >= 60 changes the environment to use its bundled copy of 
>> distutils
>> +-# by default, not the Python-bundled one. To run the Python's standard 
>> library
>> +-# distutils, the environment variable must be set.
>> +-# Although technically setuptools is not needed for this package, if it's
>> +-# pulled by another package, it changes the environment and consequently,
>> +-# the build fails. This was reported in:
>> +-# https://github.com/pypa/setuptools/issues/3143
>> +-export SETUPTOOLS_USE_DISTUTILS=stdlib
>> +-
>> + %configure \
>> +   --with-securedir=%{_moduledir} \
>> +   --with-pythonsitedir=%{python3_sitearch} \
>> +diff --git a/python/Makefile.am b/python/Makefile.am
>> +index 1d00c0c..6e51744 100644
>> +--- a/python/Makefile.am
>>  b/python/Makefile.am
>> +@@ -14,7 +14,7 @@ all-local:
>> +   CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py 
>> build --build-base py$(PYTHONREV)
>> +
>> + install-exec-local:
>> +-  CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py 
>> build --build-base py$(PYTHONREV) install --prefix=${DESTDIR}${prefix}
>> ++  CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py 

Re: [oe] [PATCH 05/23] libpwquality: backport a python 3.12 compatibility patch

2024-01-10 Thread Martin Jansa
It doesn't respect libdir now, causing installed-vs-shipped e.g. in
multilib builds with libdir set to /usr/lib32:

ERROR: QA Issue: lib32-libpwquality: Files/directories were installed but
not shipped in any package:
  /usr/lib/python3.11/site-packages/
pwquality.cpython-311-arm-linux-gnueabi.so
  /usr/lib/python3.11/site-packages/pwquality-1.4.5-py3.11.egg-info

/usr/lib/python3.11/site-packages/pwquality-1.4.5-py3.11.egg-info/SOURCES.txt
  /usr/lib/python3.11/site-packages/pwquality-1.4.5-py3.11.egg-info/PKG-INFO

/usr/lib/python3.11/site-packages/pwquality-1.4.5-py3.11.egg-info/dependency_links.txt

/usr/lib/python3.11/site-packages/pwquality-1.4.5-py3.11.egg-info/top_level.txt
Please set FILES such that these items are packaged. Alternatively if they
are unneeded, avoid installing them or delete them within do_install.
lib32-libpwquality: 6 installed and not shipped files.
[installed-vs-shipped]

On Sun, Dec 31, 2023 at 1:23 PM Alexander Kanavin 
wrote:

> This also allows dropping a previous patch.
>
> Signed-off-by: Alexander Kanavin 
> ---
>  ...-Use-setuptools-instead-of-distutils.patch | 78 +++
>  ...missing-python-include-dir-for-cross.patch | 43 --
>  .../libpwquality/libpwquality_1.4.5.bb|  6 +-
>  3 files changed, 81 insertions(+), 46 deletions(-)
>  create mode 100644
> meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch
>  delete mode 100644
> meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch
>
> diff --git
> a/meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch
> b/meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch
> new file mode 100644
> index 0..7eaca66b5
> --- /dev/null
> +++
> b/meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch
> @@ -0,0 +1,78 @@
> +From ad95b7684365dea8335c34527d4c1463c1668af0 Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= 
> +Date: Fri, 31 Mar 2023 14:52:19 +0200
> +Subject: [PATCH] Use setuptools instead of distutils
> +
> +distutils is removed from Python 3.12+:
> +https://peps.python.org/pep-0632/
> +
> +Upstream-Status: Backport [
> https://github.com/libpwquality/libpwquality/commit/7b5e0f0097faebdcc6a8b783237bbba7a983147a
> ]
> +Signed-off-by: Alexander Kanavin 
> +---
> + libpwquality.spec.in | 11 ++-
> + python/Makefile.am   |  2 +-
> + python/setup.py.in   |  6 +++---
> + 3 files changed, 6 insertions(+), 13 deletions(-)
> +
> +diff --git a/libpwquality.spec.in b/libpwquality.spec.in
> +index 70a6f53..0809126 100644
> +--- a/libpwquality.spec.in
>  b/libpwquality.spec.in
> +@@ -33,9 +33,11 @@ BuildRequires: gettext
> + BuildRequires: pam-devel
> + %if %{with python2}
> + BuildRequires: python2-devel
> ++BuildRequires: python2-setuptools
> + %endif
> + %if %{with python3}
> + BuildRequires: python3-devel
> ++BuildRequires: python3-setuptools
> + %endif
> +
> + URL: https://github.com/libpwquality/libpwquality/
> +@@ -103,15 +105,6 @@ cp -a . %{py3dir}
> + pushd %{py3dir}
> + %endif
> + %if %{with python3}
> +-# setuptools >= 60 changes the environment to use its bundled copy of
> distutils
> +-# by default, not the Python-bundled one. To run the Python's standard
> library
> +-# distutils, the environment variable must be set.
> +-# Although technically setuptools is not needed for this package, if it's
> +-# pulled by another package, it changes the environment and consequently,
> +-# the build fails. This was reported in:
> +-# https://github.com/pypa/setuptools/issues/3143
> +-export SETUPTOOLS_USE_DISTUTILS=stdlib
> +-
> + %configure \
> +   --with-securedir=%{_moduledir} \
> +   --with-pythonsitedir=%{python3_sitearch} \
> +diff --git a/python/Makefile.am b/python/Makefile.am
> +index 1d00c0c..6e51744 100644
> +--- a/python/Makefile.am
>  b/python/Makefile.am
> +@@ -14,7 +14,7 @@ all-local:
> +   CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py
> build --build-base py$(PYTHONREV)
> +
> + install-exec-local:
> +-  CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py
> build --build-base py$(PYTHONREV) install --prefix=${DESTDIR}${prefix}
> ++  CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py
> build --build-base py$(PYTHONREV) install --root ${DESTDIR}
> --prefix=${prefix}
> +
> + clean-local:
> +   rm -rf py$(PYTHONREV)
> +diff --git a/python/setup.py.in b/python/setup.py.in
> +index a741b91..f934c50 100755
> +--- a/python/setup.py.in
>  b/python/setup.py.in
> +@@ -6,9 +6,9 @@
> +
> + import os
> +
> +-from distutils.core import setup, Extension
> +-from distutils.command.build_ext import build_ext as _build_ext
> +-from distutils.command.sdist import sdist as _sdist
> ++from setuptools import setup, Extension
> ++from setuptools.command.build_ext import build_ext as _build_ext
> ++from setuptools.command.sdist 

[oe] [PATCH 05/23] libpwquality: backport a python 3.12 compatibility patch

2023-12-31 Thread Alexander Kanavin
This also allows dropping a previous patch.

Signed-off-by: Alexander Kanavin 
---
 ...-Use-setuptools-instead-of-distutils.patch | 78 +++
 ...missing-python-include-dir-for-cross.patch | 43 --
 .../libpwquality/libpwquality_1.4.5.bb|  6 +-
 3 files changed, 81 insertions(+), 46 deletions(-)
 create mode 100644 
meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch
 delete mode 100644 
meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch

diff --git 
a/meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch
 
b/meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch
new file mode 100644
index 0..7eaca66b5
--- /dev/null
+++ 
b/meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch
@@ -0,0 +1,78 @@
+From ad95b7684365dea8335c34527d4c1463c1668af0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= 
+Date: Fri, 31 Mar 2023 14:52:19 +0200
+Subject: [PATCH] Use setuptools instead of distutils
+
+distutils is removed from Python 3.12+:
+https://peps.python.org/pep-0632/
+
+Upstream-Status: Backport 
[https://github.com/libpwquality/libpwquality/commit/7b5e0f0097faebdcc6a8b783237bbba7a983147a]
+Signed-off-by: Alexander Kanavin 
+---
+ libpwquality.spec.in | 11 ++-
+ python/Makefile.am   |  2 +-
+ python/setup.py.in   |  6 +++---
+ 3 files changed, 6 insertions(+), 13 deletions(-)
+
+diff --git a/libpwquality.spec.in b/libpwquality.spec.in
+index 70a6f53..0809126 100644
+--- a/libpwquality.spec.in
 b/libpwquality.spec.in
+@@ -33,9 +33,11 @@ BuildRequires: gettext
+ BuildRequires: pam-devel
+ %if %{with python2}
+ BuildRequires: python2-devel
++BuildRequires: python2-setuptools
+ %endif
+ %if %{with python3}
+ BuildRequires: python3-devel
++BuildRequires: python3-setuptools
+ %endif
+ 
+ URL: https://github.com/libpwquality/libpwquality/
+@@ -103,15 +105,6 @@ cp -a . %{py3dir}
+ pushd %{py3dir}
+ %endif
+ %if %{with python3}
+-# setuptools >= 60 changes the environment to use its bundled copy of 
distutils
+-# by default, not the Python-bundled one. To run the Python's standard library
+-# distutils, the environment variable must be set.
+-# Although technically setuptools is not needed for this package, if it's
+-# pulled by another package, it changes the environment and consequently,
+-# the build fails. This was reported in:
+-# https://github.com/pypa/setuptools/issues/3143
+-export SETUPTOOLS_USE_DISTUTILS=stdlib
+-
+ %configure \
+   --with-securedir=%{_moduledir} \
+   --with-pythonsitedir=%{python3_sitearch} \
+diff --git a/python/Makefile.am b/python/Makefile.am
+index 1d00c0c..6e51744 100644
+--- a/python/Makefile.am
 b/python/Makefile.am
+@@ -14,7 +14,7 @@ all-local:
+   CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build 
--build-base py$(PYTHONREV)
+ 
+ install-exec-local:
+-  CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build 
--build-base py$(PYTHONREV) install --prefix=${DESTDIR}${prefix}
++  CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build 
--build-base py$(PYTHONREV) install --root ${DESTDIR} --prefix=${prefix}
+ 
+ clean-local:
+   rm -rf py$(PYTHONREV)
+diff --git a/python/setup.py.in b/python/setup.py.in
+index a741b91..f934c50 100755
+--- a/python/setup.py.in
 b/python/setup.py.in
+@@ -6,9 +6,9 @@
+ 
+ import os
+ 
+-from distutils.core import setup, Extension
+-from distutils.command.build_ext import build_ext as _build_ext
+-from distutils.command.sdist import sdist as _sdist
++from setuptools import setup, Extension
++from setuptools.command.build_ext import build_ext as _build_ext
++from setuptools.command.sdist import sdist as _sdist
+ 
+ def genconstants(headerfile, outputfile):
+ hf = open(headerfile, 'r')
diff --git 
a/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch
 
b/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch
deleted file mode 100644
index 636b29407..0
--- 
a/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 1ea09e09ab2387c326bb7170835361ece6e25477 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia 
-Date: Mon, 3 Aug 2015 13:43:14 +0800
-Subject: [PATCH] setup.py.in: add missing python include dir for cross
- compiling
-
-Upstream-Status: Inappropriate [oe-core specific]
-
-Signed-off-by: Hongxu Jia 

- python/Makefile.am | 2 +-
- python/setup.py.in | 3 ++-
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/python/Makefile.am b/python/Makefile.am
-index 1d00c0c..52816b2 100644
 a/python/Makefile.am
-+++ b/python/Makefile.am
-@@ -14,7 +14,7 @@ all-local:
-   CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build 
--build-base py$(PYTHONREV)
-