[neon/qt6/pyside6/Neon/unstable] debian: rebase

Carlos De Maine null at kde.org
Wed May 1 01:13:55 BST 2024


Git commit 36ade2c0b8fe45bf2e0adc69940c112af574710f by Carlos De Maine.
Committed on 01/05/2024 at 00:13.
Pushed by carlosdem into branch 'Neon/unstable'.

rebase

M  +6    -0    debian/changelog
A  +6    -0    debian/clean
M  +12   -6    debian/control
M  +53   -34   debian/rules
A  +42   -0    debian/set-paths

https://invent.kde.org/neon/qt6/pyside6/-/commit/36ade2c0b8fe45bf2e0adc69940c112af574710f

diff --git a/debian/changelog b/debian/changelog
index 04ee3d5..526c827 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+pyside6 (6.7.0-0neon) jammy; urgency=medium
+
+  * New release
+
+ -- Carlos De Maine <carlosdemaine at gmail.com>  Wed, 01 May 2024 09:50:37 +1000
+
 pyside6 (6.6.2-0neon) jammy; urgency=medium
 
   * New release
diff --git a/debian/clean b/debian/clean
new file mode 100644
index 0000000..007fd64
--- /dev/null
+++ b/debian/clean
@@ -0,0 +1,6 @@
+build_history/2*/
+pyside3_build/
+pyside3_install/
+sources/pyside2/doc/pyside-config.qdocconf
+sources/pyside2/doc/pyside.qdocconf.in
+sources/pyside2/doc/qtmodules/pyside-*.qdocconf
diff --git a/debian/control b/debian/control
index 8662f4e..bd26e2d 100644
--- a/debian/control
+++ b/debian/control
@@ -3,13 +3,12 @@ Section: python
 Priority: optional
 Maintainer: Jonathan Esk-Riddell <jr at jriddell.org>
 Build-Depends: chrpath,
-               clang-14,
+               clang,
                cmake,
                debhelper-compat (= 13),
                dh-python,
-               g++-12,
-               gcc-12,
-               libclang-14-dev,
+               furo,
+               libclang-dev,
                libxml2-dev,
                libxslt1-dev,
                llvm-dev,
@@ -17,7 +16,14 @@ Build-Depends: chrpath,
                ninja-build,
                patchelf,
                python3-dev,
-               python3-pip,
+               python3-distro,
+               python3-numpy,
+               python3-opengl,
+               python3-packaging,
+               python3-setuptools,
+               python3-sphinx,
+               python3-sphinx-copybutton,
+               python3-wheel,
                qt6-3d-dev,
                qt6-5compat-dev,
                qt6-base-dev,
@@ -47,6 +53,7 @@ Build-Depends: chrpath,
                qt6-webengine-dev,
                qt6-websockets-dev,
                qt6-webview-dev,
+               sip-tools,
                xauth,
                xvfb,
 Rules-Requires-Root: no
@@ -129,4 +136,3 @@ Description: CPython bindings generator for C++ libraries (Python3 shared librar
  Shiboken6 is the binding generator used to create the PySide6 bindings.
  .
  This package contains the generator tool and shiboken6 python module.
-
diff --git a/debian/rules b/debian/rules
index 94af843..600df81 100755
--- a/debian/rules
+++ b/debian/rules
@@ -9,54 +9,73 @@ export CXX=g++-12
 
 include /usr/share/dpkg/default.mk
 
+# FIXME parallel building seems to fail
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+	OPTION_JOBS = --parallel=$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+endif
+
 export PYBUILD_NAME=pyside6
-export PYBUILD_SYSTEM=distutils
-#export PYBUILD_BUILD_ARGS=
-export PYBUILD_INSTALL_ARGS=--relwithdebinfo --verbose --build-tests --doc-build-online --ignore-git --qtpaths=/usr/lib/qt6/bin/qtpaths6 $(OPTION_JOBS) --root=build/pyside6_install
+export PYBUILD_INSTALL_ARGS=--relwithdebinfo --verbose --build-tests --doc-build-online --ignore-git --qtpaths=/usr/lib/qt6/bin/qtpaths6 $(OPTION_JOBS) --root=build/pyside6_installS
+export PYBUILD_SYSTEM = cmake
+export PYBUILD_BUILD_ARGS = -j1
 
 export MAIN_VERSION_UPSTREAM := $(shell echo $(DEB_VERSION_UPSTREAM))
-# As per https://wiki.debian.org/HardeningWalkthrough as arm64 has strncpy warnings  
-# To enable all, uncomment following lines
-# export DEB_BUILD_MAINT_OPTIONS = hardening=+all
-# export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
-#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+export MAIN_VERSION_UPSTREAM := $(shell echo $(DEB_VERSION_UPSTREAM))
 # Add CPPFLAGS to CXXFLAGS as CMake ignores CPPFLAGS by default
 CXXFLAGS+=$(CPPFLAGS)
 
 # Work around buildd bug (https://bugs.debian.org/842565)
 undefine XDG_RUNTIME_DIR
 
-override_dh_auto_clean:
-	rm -r /usr/lib/python3/dist-packages/setuptools/
-	python3 -m pip install -U --upgrade-strategy eager -r requirements.txt
-	python3 -m pip install -U --upgrade-strategy eager -r requirements-doc.txt
-	dh_auto_clean -O--buildsystem=pybuild --
+%:
+	dh $@ --with python3,sphinxdoc --buildsystem=pybuild --no-parallel
 
+# FIXME ignore build failure and attempt to continue
 override_dh_auto_build:
-	# Skip build step as install step will force build again
-	true
+# 	dh_auto_build --buildsystem=cmake --builddirectory=$(_BUILDDIR) || true
 
-override_dh_auto_install:
-	# DO NOT USE pybuild INSTALL to packaging dir as it skips some files that is required in the package
-	# Instead install to some other dir and update the .install files as required
-	dh_auto_install -O--buildsystem=pybuild --
-
-	# List the files to be able to update *.install files
-	echo "PySide/Shiboken files to package"
-	echo "--------------------------------"
-	-find build/qfp-*-relwithdebinfo/package
-	echo "--------------------------------"
-	-find build/qfp-*-relwithdebinfo/install
-	echo "--------------------------------"
-	-find build/pyside6_install
-	echo "--------------------------------"
+#override_dh_auto_clean:
+#	rm -r /usr/lib/python3/dist-packages/setuptools/
+#	python3 -m pip install -U --upgrade-strategy eager -r requirements.txt
+#	python3 -m pip install -U --upgrade-strategy eager -r requirements-doc.txt
+#	dh_auto_clean -O--buildsystem=pybuild --
+
+#override_dh_auto_install:
+#	# DO NOT USE pybuild INSTALL to packaging dir as it skips some files that is required in the package
+#	# Instead install to some other dir and update the .install files as required
+#	dh_auto_install -O--buildsystem=pybuild --
+#	# List the files to be able to update *.install files
+#	echo "PySide/Shiboken files to package"
+#	echo "--------------------------------"
+#	-find build/qfp-*-relwithdebinfo/package
+#	echo "--------------------------------"
+#	-find build/qfp-*-relwithdebinfo/install
+#	echo "--------------------------------"
+#	-find build/pyside6_install
+#	echo "--------------------------------"
+
+execute_after_dh_auto_install:
+	# Obtain a list of files built to make it easier to update *.install files.
+	echo ">>> In .pybuild"
+	-find $(_BUILDDIR)
+	echo ">>> In debian/tmp"
+	-find debian/tmp
 
 override_dh_dwz:
 	true
 
-#override_dh_shlibdeps:
-#	ln -s python3/dist-packages/shiboken6/libshiboken6.abi3.so.6.5 debian/python3-pyside6/usr/lib/libshiboken6.abi3.so.6.5
-#	dh_shlibdeps -a -O--buildsystem=pybuild -l$(CURDIR)/debian/python3-pyside6/usr/lib/python3/dist-packages/shiboken6/
+	override_dh_makeshlibs:
+	dh_makeshlibs -VUpstream-Version
 
-%:
-	dh $@ --with python3,sphinxdoc --buildsystem=pybuild
+override_dh_install-indep:
+	dh_install -X.doctrees
+
+execute_after_dh_install-arch:
+	# remove RUNPATH setup in shiboken6
+	chrpath -d debian/shiboken6/usr/bin/shiboken6
+	# change the library path in pkg-info/*.pc and in *.cmake files:
+	# during the build the path is setup to the build dir
+	# /build/pyside6* (required to find lib during the build) but it's
+	# not what we need
+	debian/set-paths
diff --git a/debian/set-paths b/debian/set-paths
new file mode 100644
index 0000000..231332d
--- /dev/null
+++ b/debian/set-paths
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Replace build directory value by install directory value
+package="libshiboken6-dev"
+for directory in "cmake/Shiboken6" "pkgconfig"; do
+        sed -i "s|build.*relwithdebinfo/lib|usr/lib/$DEB_HOST_MULTIARCH|" \
+	    debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
+        sed -i "s|build.*relwithdebinfo|usr|" \
+	    debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
+        sed -i "s|\${PACKAGE_PREFIX_DIR}|/usr|" \
+	    debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
+        sed -i "s|\${_IMPORT_PREFIX}/lib|\${_IMPORT_PREFIX}/$DEB_HOST_MULTIARCH|" \
+	    debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
+        sed -i "s|\${_IMPORT_PREFIX}/include|\${_IMPORT_PREFIX}/../include|" \
+	    debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
+#         sed -i "s|libshiboken6.*\.so|libshiboken6\${PYTHON_CONFIG_SUFFIX}.so|" \
+# 	    debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/Shiboken6Targets-*.cmake;
+done
+
+package="libpyside6-dev"
+for directory in "pkgconfig" "cmake/PySide6"; do
+        sed -i "s|build.*relwithdebinfo/lib|usr/lib/$DEB_HOST_MULTIARCH|" \
+	    debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
+        sed -i "s|build.*relwithdebinfo|usr|" \
+	    debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
+        sed -i "s|\${PACKAGE_PREFIX_DIR}|/usr|" \
+	    debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
+        sed -i "s|\${_IMPORT_PREFIX}/lib|\${_IMPORT_PREFIX}/$DEB_HOST_MULTIARCH|" \
+	    debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
+        sed -i "s|\${_IMPORT_PREFIX}/include|\${_IMPORT_PREFIX}/../include|" \
+	    debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/*;
+#         sed -i "s|libpyside6.*\.so|libpyside6\${PYTHON_CONFIG_SUFFIX}.so|" \
+# 	    debian/$package/usr/lib/$DEB_HOST_MULTIARCH/$directory/PySide6Targets-*.cmake;
+done
+
+# Set correctly the python path for pyside6 (Python3)
+sed -i "s|^set_and_check(PYSIDE_PYTHONPATH.*|set_and_check(PYSIDE_PYTHONPATH \"/usr/lib/python3/dist-packages/PySide6\")|" \
+    debian/libpyside6-dev/usr/lib/$DEB_HOST_MULTIARCH/cmake/PySide6/PySide6Config.*.cmake
+
+# Set correctly the python path for shiboken6 (Python3)
+sed -i "s|^set_and_check(SHIBOKEN_PYTHON_MODULE_DIR.*|set_and_check(SHIBOKEN_PYTHON_MODULE_DIR \"/usr/lib/python3/dist-packages/shiboken6\")|" \
+    debian/libshiboken6-dev/usr/lib/$DEB_HOST_MULTIARCH/cmake/Shiboken6/Shiboken6Config.cmake


More information about the Neon-commits mailing list