From 242e6630af09252f602d64b18b0e0e770f5bca39 Mon Sep 17 00:00:00 2001 From: Davlet Panech Date: Mon, 11 Apr 2022 15:01:28 -0400 Subject: [PATCH] debian: python-nss: add build scripts + patches Python NSS module is not buildable by pip on Debian/bullseye and requires patches. The debian package for this module contains the required fixes, but contains 2 other problems: - it builds only the PY3-version of itself - it (incorrectly) doesn't install pip metadata, making it "invisible" by pip Solution: import python-nss from debian/bullseye + add patches that fix the above problems. TESTS ================ Build package in debian environment Story: 2009897 Task: 44691 Signed-off-by: Davlet Panech Change-Id: I65ab9b967e38340939bd99c389b72820ee17571b --- debian_pkg_dirs | 1 + ...elete-module-metadata-in-deb-package.patch | 25 ++++++++ .../0002-Build-the-python2-variant.patch | 57 +++++++++++++++++++ python/python-nss/debian/deb_patches/series | 2 + python/python-nss/debian/meta_data.yaml | 10 ++++ 5 files changed, 95 insertions(+) create mode 100644 python/python-nss/debian/deb_patches/0001-Don-t-delete-module-metadata-in-deb-package.patch create mode 100644 python/python-nss/debian/deb_patches/0002-Build-the-python2-variant.patch create mode 100644 python/python-nss/debian/deb_patches/series create mode 100644 python/python-nss/debian/meta_data.yaml diff --git a/debian_pkg_dirs b/debian_pkg_dirs index aa4b606cb..c7b96ade7 100644 --- a/debian_pkg_dirs +++ b/debian_pkg_dirs @@ -62,6 +62,7 @@ ostree/mttyexec ostree/ostree ostree/ostree-upgrade-mgr python/dh-python +python/python-nss python/python3-setuptools security/keyrings.alt security/python-keyring diff --git a/python/python-nss/debian/deb_patches/0001-Don-t-delete-module-metadata-in-deb-package.patch b/python/python-nss/debian/deb_patches/0001-Don-t-delete-module-metadata-in-deb-package.patch new file mode 100644 index 000000000..d4c6e49c0 --- /dev/null +++ b/python/python-nss/debian/deb_patches/0001-Don-t-delete-module-metadata-in-deb-package.patch @@ -0,0 +1,25 @@ +From 364a0606c58f100bbec4447fb34e03fcba2821e3 Mon Sep 17 00:00:00 2001 +From: Davlet Panech +Date: Tue, 29 Mar 2022 15:26:11 -0400 +Subject: [PATCH 1/2] Don't delete module metadata in deb package + +Pip requires module metadata to be present for installed modules, +otherwise it can't "see" it. + +Signed-off-by: Davlet Panech +--- + debian/rules | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/debian/rules b/debian/rules +index 7955ffd..ef6314b 100755 +--- a/debian/rules ++++ b/debian/rules +@@ -13,4 +13,3 @@ override_dh_auto_clean: + + override_dh_auto_install: + dh_auto_install +- rm -rf debian/python*-nss/usr/lib/python*/dist-packages/python_nss-*.egg-info +-- +2.30.2 + diff --git a/python/python-nss/debian/deb_patches/0002-Build-the-python2-variant.patch b/python/python-nss/debian/deb_patches/0002-Build-the-python2-variant.patch new file mode 100644 index 000000000..a176e5739 --- /dev/null +++ b/python/python-nss/debian/deb_patches/0002-Build-the-python2-variant.patch @@ -0,0 +1,57 @@ +From 58830c2a305e6d1b931b46700e9af04647c85198 Mon Sep 17 00:00:00 2001 +From: Davlet Panech +Date: Wed, 6 Apr 2022 01:01:17 +0000 +Subject: [PATCH 2/2] Build the python2 variant + +Signed-off-by: Davlet Panech +--- + debian/control | 15 +++++++++++++++ + debian/rules | 2 +- + 2 files changed, 16 insertions(+), 1 deletion(-) + +diff --git a/debian/control b/debian/control +index c42e324..fb407b1 100644 +--- a/debian/control ++++ b/debian/control +@@ -5,6 +5,7 @@ Maintainer: Debian FreeIPA Team + Uploaders: Timo Aaltonen + Build-Depends: debhelper-compat (= 12), + dh-python, ++ python-all-dev, + python3-all-dev, + libnss3-dev, + Standards-Version: 4.5.1 +@@ -25,3 +26,17 @@ Description: Python3 bindings for Network Security Services (NSS) + and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 + certificates, and other security standards. Specific NSS + implementations have been FIPS-140 certified. ++ ++Package: python-nss ++Architecture: any ++Provides: ${python:Provides}, ${python-nss:Provides} ++Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends} ++Description: Python2 bindings for Network Security Services (NSS) ++ This package provides Python2 bindings for Network Security Services (NSS) ++ and the Netscape Portable Runtime (NSPR). ++ . ++ NSS is a set of libraries supporting security-enabled client and ++ server applications. Applications built with NSS can support SSL v2 ++ and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 ++ certificates, and other security standards. Specific NSS ++ implementations have been FIPS-140 certified. +diff --git a/debian/rules b/debian/rules +index ef6314b..fa4eb42 100755 +--- a/debian/rules ++++ b/debian/rules +@@ -7,7 +7,7 @@ + export PYBUILD_NAME=nss + + %: +- dh $@ --with python3 --buildsystem=pybuild ++ dh $@ --with python2,python3 --buildsystem=pybuild + + override_dh_auto_clean: + +-- +2.30.2 + diff --git a/python/python-nss/debian/deb_patches/series b/python/python-nss/debian/deb_patches/series new file mode 100644 index 000000000..1e7b45e2a --- /dev/null +++ b/python/python-nss/debian/deb_patches/series @@ -0,0 +1,2 @@ +0001-Don-t-delete-module-metadata-in-deb-package.patch +0002-Build-the-python2-variant.patch diff --git a/python/python-nss/debian/meta_data.yaml b/python/python-nss/debian/meta_data.yaml new file mode 100644 index 000000000..3537c1186 --- /dev/null +++ b/python/python-nss/debian/meta_data.yaml @@ -0,0 +1,10 @@ +debver: 1.0.1-1 +debname: python-nss +dl_path: + name: python-nss-debian-1.0.1-1.tar.gz + url: https://salsa.debian.org/freeipa-team/python-nss/-/archive/debian/1.0.1-1/python-nss-debian-1.0.1-1.tar.gz + md5sum: 2f61d8b9b23ab0649e61e066518c91dd + sha256sum: b95d3f57f51e51412ff8abd3cd0bb7c8fa70bdafe6ff4c61eaad26b065d3c5ae +revision: + dist: $STX_DIST + PKG_GITREVCOUNT: