DEB pytdeextensions: drop python 2 support.

Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
pull/182/head
Michele Calgaro 2 years ago
parent 328096e4ed
commit de3dc7f83e
Signed by: MicheleC
GPG Key ID: 2A75B7CA8ADED5CF

@ -3,9 +3,9 @@ Section: tde
Priority: optional
Maintainer: TDE Debian Team <team-debian@trinitydesktop.org>
Uploaders: Fathi Boudra <fboudra@free.fr>, Mark Purcell <msp@debian.org>
Build-Depends: cdbs, debhelper (>= 9~), chrpath, quilt, tdelibs14-trinity, libtool-bin | libtool (<< 2.4.2-1.11), libtool,
libxml2-utils, libxrandr-dev, libxxf86vm-dev, pytqt-tools, python-pytde,
python-tqt-dev, python-sip-tqt-dev, python-support (>= 0.6) | dh-python, python-all, python-all-dev
Build-Depends: cdbs, debhelper (>= 9~), chrpath, quilt, tdelibs14-trinity, libtool-bin, libtool,
libxml2-utils, libxrandr-dev, libxxf86vm-dev, pytqt-tools, python3-pytde,
pytqt-dev, python3-sip-tqt-dev, dh-python, python3-all, python3-all-dev
Standards-Version: 3.8.4
Package: pytdeextensions-trinity
@ -26,7 +26,7 @@ Architecture: any
Section: libdevel
Replaces: libpythonize0-trinity-dev (<< 4:14.0.0~)
Breaks: libpythonize0-trinity-dev (<< 4:14.0.0~)
Depends: libpythonize0-trinity (= ${binary:Version}), python-all-dev
Depends: libpythonize0-trinity (= ${binary:Version}), python3-all-dev
Description: Python packages to support TDE applications (development) [Trinity]
PyTDE Extensions is a collection of software and Python packages
to support the creation and installation of TDE applications.

@ -1,297 +0,0 @@
# -*- mode: makefile; coding: utf-8 -*-
# Copyright © 2003 Colin Walters <walters@debian.org>
# Copyright © 2006 Marc Dequènes (Duck) <Duck@DuckCorp.org>
#
# Description: manage Python public modules build
# This class is designed to work with Python packages using the
# 'distutils' build system and comply to the new policy established
# during summer 2006. Use of the debhelper class to make use of the
# new dh_python is strongly advised. (This is still left as optional
# in line with CDBS' flexible behavior.)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2, or (at
# your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
# 02111-1307 USA.
#
# This class provides rules for old and new Python policy. Leaving
# DEB_PYTHON_SYSTEM unset selects the old behavior. The pysupport and
# pycentral methods are available to comply with new policy. Don't forget
# to update your 'debian/control'. (Build-Depends are correctly generated
# if you are using the auto control generation feature.)
# Once all old-style packages are removed before etch, some of the old
# can be refactored or removed.
_cdbs_scripts_path ?= /usr/lib/cdbs
_cdbs_rules_path ?= /usr/share/cdbs/1/rules
_cdbs_class_path ?= /usr/share/cdbs/1/class
ifndef _cdbs_class_python_distutils
_cdbs_class_python_distutils = 1
include $(_cdbs_rules_path)/buildcore.mk$(_cdbs_makefile_suffix)
include $(_cdbs_class_path)/langcore.mk$(_cdbs_makefile_suffix)
# check python system
cdbs_use_xs_field := $(shell grep -q "^XS-Python-Version:" debian/control && echo yes)
cdbs_selected_pycompat := $(shell if [ -e debian/pycompat ]; then cat debian/pycompat; fi)
cdbs_pycompat = $(cdbs_selected_pycompat)
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
cdbs_python_support_path = usr/share/python-support/$(DEB_PYTHON_MODULE_PACKAGE)
ifeq (, $(cdbs_selected_pycompat))
cdbs_pycompat = 2
endif # use pycompat
# warning pysupport compatibility mode
ifneq (, $(cdbs_use_xs_field))
$(warning WARNING: Use of XS-Python-Version and XB-Python-Version fields in debian/control is deprecated with pysupport method; use debian/pyversions if you need to specify specific versions.)
endif # use XS field (compat)
else
ifeq (pycentral, $(DEB_PYTHON_SYSTEM))
ifeq (, $(cdbs_selected_pycompat))
cdbs_pycompat = 2
endif # use pycompat
else
ifneq (, $(DEB_PYTHON_SYSTEM))
$(error unsupported Python system: $(DEB_PYTHON_SYSTEM) (select either pysupport or pycentral))
else
ifneq (, $(cdbs_use_xs_field))
$(error package uses the new Python policy; DEB_PYTHON_SYSTEM must be set to "pysupport" or "pycentral")
endif
ifneq (, $(cdbs_selected_pycompat))
ifeq (yes, $(shell expr $(cdbs_selected_pycompat) \> 1 >/dev/null && echo yes))
$(error package uses the new Python policy; DEB_PYTHON_SYSTEM must be set to "pysupport" or "pycentral")
endif
endif # use pycompat
endif # unknown method
endif # pycentral
endif # pysupport
ifndef DEB_PYTHON_SYSTEM
DEB_PYTHON_COMPILE_VERSION =
DEB_PYTHON_VERSIONS = 2.1 2.2 2.3 2.4 2.5 2.6 2.7
else
# default package is the first one declared in 'debian/control'
# (override if necessary)
DEB_PYTHON_MODULE_PACKAGE = $(firstword $(filter-out %-doc %-dev %-common, $(DEB_PACKAGES)))
DEB_PYTHON_PRIVATE_MODULES_DIRS =
endif
# common variables
DEB_PYTHON_SETUP_CMD = setup.py
DEB_PYTHON_CLEAN_ARGS = -a
DEB_PYTHON_BUILD_ARGS = --build-base="$(CURDIR)/$(DEB_BUILDDIR)/build"
DEB_PYTHON_INSTALL_ARGS_ALL = --no-compile -O0 --prefix=/usr
ifndef DEB_PYTHON_SYSTEM
########################### old policy method ###########################
$(warning =======================================================)
$(warning Your package does not conform to the new Python policy.)
$(warning Please consider updating. Here is some documentation:)
$(warning http://wiki.debian.org/DebianPython/NewPolicy)
$(warning http://wiki.debian.org/DebianPythonFAQ)
$(warning =======================================================)
# make: *** No rule to make target `voodoo'. Stop.
DEB_PYTHON_REAL_LIB_PACKAGES = $(strip $(filter $(patsubst %,python%%,$(DEB_PYTHON_VERSIONS)),$(filter-out $(DEB_PYTHON_PACKAGES_EXCLUDE),$(DEB_ALL_PACKAGES))))
# If no versioned python library packages found, grab all simpler ones
ifeq (,$(DEB_PYTHON_REAL_LIB_PACKAGES))
DEB_PYTHON_SIMPLE_PACKAGES = $(strip $(filter python-%,$(filter-out $(DEB_PYTHON_PACKAGES_EXCLUDE),$(DEB_ALL_PACKAGES))))
endif
cdbs_python_ver = $(filter-out -%,$(subst -, -,$(patsubst python%,%,$(cdbs_curpkg))))
common-build-arch common-build-indep:: common-build-impl
common-build-impl::
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) python$(DEB_PYTHON_COMPILE_VERSION) $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS)
# See if this package doesn't appear to need to be compiled by multiple
# Python versions.
ifeq (,$(DEB_PYTHON_REAL_LIB_PACKAGES))
common-install-arch common-install-indep:: common-install-impl
common-install-impl::
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) python$(DEB_PYTHON_COMPILE_VERSION) $(DEB_PYTHON_SETUP_CMD) install --root=$(DEB_DESTDIR) $(DEB_PYTHON_INSTALL_ARGS_ALL) $(DEB_PYTHON_INSTALL_ARGS_$(cdbs_curpkg))
for ddir in $(DEB_DESTDIR)/usr/lib/python?.?/dist-packages; do \
sdir=$$(dirname $$ddir)/site-packages; \
mkdir -p $$sdir; \
tar -c -f - -C $$ddir . | tar -x -f - -C $$sdir; \
rm -rf $$ddir; \
done
else
$(patsubst %,install/%,$(DEB_PYTHON_REAL_LIB_PACKAGES)) :: install/% :
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) python$(cdbs_python_ver) $(DEB_PYTHON_SETUP_CMD) install --root=$(CURDIR)/debian/$(cdbs_curpkg) $(DEB_PYTHON_INSTALL_ARGS_ALL) $(DEB_PYTHON_INSTALL_ARGS_$(cdbs_curpkg))
for ddir in $(CURDIR)/debian/$(cdbs_curpkg)/usr/lib/python?.?/dist-packages; do \
sdir=$$(dirname $$ddir)/site-packages; \
mkdir -p $$sdir; \
tar -c -f - -C $$ddir . | tar -x -f - -C $$sdir; \
rm -rf $$ddir; \
done
endif
$(patsubst %,install/%,$(DEB_PYTHON_SIMPLE_PACKAGES)) :: install/% :
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) python $(DEB_PYTHON_SETUP_CMD) install --root=$(CURDIR)/debian/$(cdbs_curpkg) $(DEB_PYTHON_INSTALL_ARGS_ALL) $(DEB_PYTHON_INSTALL_ARGS_$(cdbs_curpkg))
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
for ddir in $(CURDIR)/debian/$(cdbs_curpkg)/usr/lib/python?.?/dist-packages; do \
sdir=$$(dirname $$ddir)/site-packages; \
mkdir -p $$sdir; \
tar -c -f - -C $$ddir . | tar -x -f - -C $$sdir; \
rm -rf $$ddir; \
done
endif
# This class can optionally utilize debhelper's "dh_python" command. Just
# be sure you include debhelper.mk before including this file.
ifdef _cdbs_rules_debhelper
DEB_DH_PYTHON_ARGS = $(addprefix -V ,$(DEB_PYTHON_COMPILE_VERSION)) $(DEB_DH_PYTHON_ARGS_ALL) $(DEB_DH_PYTHON_ARGS_$(cdbs_curpkg))
DH_PYTHON2 = $(if $(wildcard /usr/bin/dh_python2),dh_python2,dh_python)
$(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/%:
${DH_PYTHON2} -p$(cdbs_curpkg) $(DEB_DH_PYTHON_ARGS)
endif
# Ignore errors from this rule. In a tarball build, the file may not
# exist.
ifeq (,$(DEB_PYTHON_REAL_LIB_PACKAGES))
clean::
-python$(DEB_PYTHON_COMPILE_VERSION) $(DEB_PYTHON_SETUP_CMD) clean $(DEB_PYTHON_CLEAN_ARGS)
else
clean:: $(patsubst %,python-cleanbuilddir/%,$(DEB_PYTHON_REAL_LIB_PACKAGES))
$(patsubst %,python-cleanbuilddir/%,$(DEB_PYTHON_REAL_LIB_PACKAGES)) :: python-cleanbuilddir/% :
-python$(cdbs_python_ver) $(DEB_PYTHON_SETUP_CMD) clean $(DEB_PYTHON_CLEAN_ARGS)
endif
else
########################## new policy methods ###########################
# Calculate cdbs_python_build_versions
cdbs_python_module_arch := $(strip $(shell perl -e '$$/=""; $$_=(grep {/^Package: $(DEB_PYTHON_MODULE_PACKAGE)$$/m;} (<>))[0]; /^Architecture: (.*)$$/m && print $$1' debian/control))
cdbs_python_current_version := $(shell pyversions -vd)
ifeq (all, $(cdbs_python_module_arch))
# check if current is in build versions
ifneq ($(cdbs_python_current_version), $(filter $(cdbs_python_current_version), $(shell pyversions -vr)))
cdbs_python_compile_version := $(firstword $(strip $(sort $(shell pyversions -vr))))
cdbs_python_build_versions := $(cdbs_python_compile_version)
else
cdbs_python_build_versions := $(cdbs_python_current_version)
endif
else
cdbs_python_build_versions := $(shell pyversions -vr)
endif # archall
# check if build is possible
ifeq (, $(cdbs_python_build_versions))
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
$(error invalid setting in debian/pyversions)
else
$(error invalid setting for XS-Python-Version)
endif # system selected
endif # build versions empty
# Declare Build-Deps for packages using this file
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), debhelper (>= 5.0.37.2), cdbs (>= 0.4.43)
ifeq (all, $(cdbs_python_module_arch))
ifneq (, $(cdbs_python_compile_version))
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python$(cdbs_python_compile_version)-dev, python (>= 2.3.5-11)
else
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-dev (>= 2.3.5-11)
endif
else
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-all-dev (>= 2.3.5-11)
endif
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-support (>= 0.3.2)
else
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-central (>= 0.6)
endif
cdbs_python_current_binary := $(shell pyversions -d)
cdbs_python_binary = $(if $(call cdbs_streq,$(cdbs_python_current_binary),$(1)),python,$(1))
# build stage
common-build-arch common-build-indep:: $(addprefix python-build-stamp-, $(cdbs_python_build_versions))
python-build-stamp-%:
ifeq (all, $(cdbs_python_module_arch))
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) $(call cdbs_python_binary,python$(cdbs_python_compile_version)) $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS)
else
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) $(call cdbs_python_binary,python$*) $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS)
endif # archall detection
touch $@
# install stage
ifeq (all, $(cdbs_python_module_arch))
common-install-arch common-install-indep:: python-install-py
python-install-py:
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) $(call cdbs_python_binary,python$(cdbs_python_compile_version)) $(DEB_PYTHON_SETUP_CMD) install --root=$(DEB_DESTDIR) $(DEB_PYTHON_INSTALL_ARGS_ALL)
else
common-install-arch common-install-indep:: $(addprefix python-install-, $(cdbs_python_build_versions))
python-install-%:
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) $(call cdbs_python_binary,python$*) $(DEB_PYTHON_SETUP_CMD) install --root=$(DEB_DESTDIR) $(DEB_PYTHON_INSTALL_ARGS_ALL)
endif # archall detection
# This class can optionally use debhelper's commands. Just
# be sure you include debhelper.mk before including this file.
ifdef _cdbs_rules_debhelper
DEB_DH_PYTHON_ARGS = $(DEB_DH_PYTHON_ARGS_ALL) $(DEB_DH_PYTHON_ARGS_$(cdbs_curpkg)) $(DEB_PYTHON_PRIVATE_MODULES_DIRS)
DH_PYTHON2 = $(if $(wildcard /usr/bin/dh_python2),dh_python2,dh_python)
$(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/%:
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
dh_pysupport -p$(cdbs_curpkg) $(DEB_PYTHON_PRIVATE_MODULES_DIRS)
else
dh_pycentral -p$(cdbs_curpkg)
endif
${DH_PYTHON2} -p$(cdbs_curpkg) $(DEB_DH_PYTHON_ARGS)
endif
# clean stage
clean:: $(addprefix python-clean-, $(cdbs_python_build_versions))
python-clean-%:
ifeq (all, $(cdbs_python_module_arch))
-cd $(DEB_SRCDIR) && $(call cdbs_python_binary,python$(cdbs_python_compile_version)) $(DEB_PYTHON_SETUP_CMD) clean $(DEB_PYTHON_CLEAN_ARGS)
else
-cd $(DEB_SRCDIR) && $(call cdbs_python_binary,python$*) $(DEB_PYTHON_SETUP_CMD) clean $(DEB_PYTHON_CLEAN_ARGS)
endif # archall detection
clean::
ifeq (, $(cdbs_selected_pycompat))
echo "$(cdbs_pycompat)" >debian/pycompat
endif # use pycompat
rm -f python-build-stamp-*
endif
########################## all policy methods ###########################
# Calling setup.py clean may create .pyc files, so we need a final cleanup
# pass here.
clean::
find . -name '*.pyc' -exec rm '{}' ';'
endif

@ -1,15 +1,11 @@
#!/usr/bin/make -f
DEB_PYTHON_SYSTEM = $(if $(wildcard /usr/bin/dh_python2),,pysupport)
DEB_PYTHON2_MODULE_PACKAGES=pytdeextensions-trinity libpythonize0-trinity
DEB_PYTHON_SYSTEM = /usr/bin/dh_python3
DEB_PYTHON3_MODULE_PACKAGES=pytdeextensions-trinity libpythonize0-trinity
include /usr/share/cdbs/1/rules/debhelper.mk
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
include debian/python-distutils-jaunty.mk
else
include /usr/share/cdbs/1/class/python-distutils.mk
endif
#include /usr/share/cdbs/1/rules/patchsys-quilt.mk
include /usr/share/cdbs/1/class/python-distutils.mk
include /usr/share/cdbs/1/rules/utils.mk
DEB_CONFIGURE_INCLUDEDIR := /opt/trinity/include
@ -23,6 +19,9 @@ DEB_PYTHON_INSTALL_ARGS_ALL += \
cdbs_configure_flags := --with-qt-dir=/usr/share/qt3 --disable-rpath --with-xinerama $(cdbs_kde_enable_final) $(cdbs_kde_enable_debug)
# Make sure to build only for the default python version
cdbs_curpythonflavors := python$(shell py3versions -vd)
DEB_DH_INSTALL_ARGS = --sourcedir=debian/tmp
DEB_CONFIGURE_EXTRA_FLAGS := --prefix=/opt/trinity --with-extra-libs=/opt/trinity/lib --with-extra-includes=/opt/trinity/include
@ -36,12 +35,6 @@ DEB_DH_BUILDDEB_ARGS += -- -Z$(shell dpkg-deb --help | grep -q ":.* xz[,.]" \
&& echo xz || echo bzip2)
endif
post-patches::
# make sure that python binary exists
# since the existing code is still dependent on python2
# and cdbs uses python as the default binary name
test -x /usr/bin/python || ln -s python2 /usr/bin/python
install/pytdeextensions-trinity::
# We have no idea if the built product is site-packages or dist-packages
cd debian/tmp/usr/lib/python*/ && mv site-packages/ dist-packages/ || echo "site-packages --> dist-packages"

@ -3,9 +3,9 @@ Section: tde
Priority: optional
Maintainer: TDE Debian Team <team-debian@trinitydesktop.org>
Uploaders: Fathi Boudra <fboudra@free.fr>, Mark Purcell <msp@debian.org>
Build-Depends: cdbs, debhelper (>= 9~), chrpath [!solaris-any], quilt, tdelibs14-trinity, libtool-bin | libtool (<< 2.4.2-1.11), libtool,
libxml2-utils, libxrandr-dev, libxxf86vm-dev, pytqt-tools, python-pytde,
python-tqt-dev, python-sip-tqt-dev, python-support (>= 0.6) | dh-python, python-all, python-all-dev
Build-Depends: cdbs, debhelper (>= 9~), chrpath [!solaris-any], quilt, tdelibs14-trinity, libtool-bin, libtool,
libxml2-utils, libxrandr-dev, libxxf86vm-dev, pytqt-tools, python3-pytde,
pytqt-dev, python3-sip-tqt-dev, dh-python, python3-all, python3-all-dev
Standards-Version: 3.8.4
Package: pytdeextensions-trinity
@ -26,7 +26,7 @@ Architecture: any
Section: libdevel
Replaces: libpythonize0-trinity-dev (<< 4:14.0.0~)
Breaks: libpythonize0-trinity-dev (<< 4:14.0.0~)
Depends: libpythonize0-trinity (= ${binary:Version}), python-all-dev
Depends: libpythonize0-trinity (= ${binary:Version}), python3-all-dev
Description: Python packages to support TDE applications (development) [Trinity]
PyTDE Extensions is a collection of software and Python packages
to support the creation and installation of TDE applications.

@ -1,297 +0,0 @@
# -*- mode: makefile; coding: utf-8 -*-
# Copyright © 2003 Colin Walters <walters@debian.org>
# Copyright © 2006 Marc Dequènes (Duck) <Duck@DuckCorp.org>
#
# Description: manage Python public modules build
# This class is designed to work with Python packages using the
# 'distutils' build system and comply to the new policy established
# during summer 2006. Use of the debhelper class to make use of the
# new dh_python is strongly advised. (This is still left as optional
# in line with CDBS' flexible behavior.)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2, or (at
# your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
# 02111-1307 USA.
#
# This class provides rules for old and new Python policy. Leaving
# DEB_PYTHON_SYSTEM unset selects the old behavior. The pysupport and
# pycentral methods are available to comply with new policy. Don't forget
# to update your 'debian/control'. (Build-Depends are correctly generated
# if you are using the auto control generation feature.)
# Once all old-style packages are removed before etch, some of the old
# can be refactored or removed.
_cdbs_scripts_path ?= /usr/lib/cdbs
_cdbs_rules_path ?= /usr/share/cdbs/1/rules
_cdbs_class_path ?= /usr/share/cdbs/1/class
ifndef _cdbs_class_python_distutils
_cdbs_class_python_distutils = 1
include $(_cdbs_rules_path)/buildcore.mk$(_cdbs_makefile_suffix)
include $(_cdbs_class_path)/langcore.mk$(_cdbs_makefile_suffix)
# check python system
cdbs_use_xs_field := $(shell grep -q "^XS-Python-Version:" debian/control && echo yes)
cdbs_selected_pycompat := $(shell if [ -e debian/pycompat ]; then cat debian/pycompat; fi)
cdbs_pycompat = $(cdbs_selected_pycompat)
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
cdbs_python_support_path = usr/share/python-support/$(DEB_PYTHON_MODULE_PACKAGE)
ifeq (, $(cdbs_selected_pycompat))
cdbs_pycompat = 2
endif # use pycompat
# warning pysupport compatibility mode
ifneq (, $(cdbs_use_xs_field))
$(warning WARNING: Use of XS-Python-Version and XB-Python-Version fields in debian/control is deprecated with pysupport method; use debian/pyversions if you need to specify specific versions.)
endif # use XS field (compat)
else
ifeq (pycentral, $(DEB_PYTHON_SYSTEM))
ifeq (, $(cdbs_selected_pycompat))
cdbs_pycompat = 2
endif # use pycompat
else
ifneq (, $(DEB_PYTHON_SYSTEM))
$(error unsupported Python system: $(DEB_PYTHON_SYSTEM) (select either pysupport or pycentral))
else
ifneq (, $(cdbs_use_xs_field))
$(error package uses the new Python policy; DEB_PYTHON_SYSTEM must be set to "pysupport" or "pycentral")
endif
ifneq (, $(cdbs_selected_pycompat))
ifeq (yes, $(shell expr $(cdbs_selected_pycompat) \> 1 >/dev/null && echo yes))
$(error package uses the new Python policy; DEB_PYTHON_SYSTEM must be set to "pysupport" or "pycentral")
endif
endif # use pycompat
endif # unknown method
endif # pycentral
endif # pysupport
ifndef DEB_PYTHON_SYSTEM
DEB_PYTHON_COMPILE_VERSION =
DEB_PYTHON_VERSIONS = 2.1 2.2 2.3 2.4 2.5 2.6 2.7
else
# default package is the first one declared in 'debian/control'
# (override if necessary)
DEB_PYTHON_MODULE_PACKAGE = $(firstword $(filter-out %-doc %-dev %-common, $(DEB_PACKAGES)))
DEB_PYTHON_PRIVATE_MODULES_DIRS =
endif
# common variables
DEB_PYTHON_SETUP_CMD = setup.py
DEB_PYTHON_CLEAN_ARGS = -a
DEB_PYTHON_BUILD_ARGS = --build-base="$(CURDIR)/$(DEB_BUILDDIR)/build"
DEB_PYTHON_INSTALL_ARGS_ALL = --no-compile -O0 --prefix=/usr
ifndef DEB_PYTHON_SYSTEM
########################### old policy method ###########################
$(warning =======================================================)
$(warning Your package does not conform to the new Python policy.)
$(warning Please consider updating. Here is some documentation:)
$(warning http://wiki.debian.org/DebianPython/NewPolicy)
$(warning http://wiki.debian.org/DebianPythonFAQ)
$(warning =======================================================)
# make: *** No rule to make target `voodoo'. Stop.
DEB_PYTHON_REAL_LIB_PACKAGES = $(strip $(filter $(patsubst %,python%%,$(DEB_PYTHON_VERSIONS)),$(filter-out $(DEB_PYTHON_PACKAGES_EXCLUDE),$(DEB_ALL_PACKAGES))))
# If no versioned python library packages found, grab all simpler ones
ifeq (,$(DEB_PYTHON_REAL_LIB_PACKAGES))
DEB_PYTHON_SIMPLE_PACKAGES = $(strip $(filter python-%,$(filter-out $(DEB_PYTHON_PACKAGES_EXCLUDE),$(DEB_ALL_PACKAGES))))
endif
cdbs_python_ver = $(filter-out -%,$(subst -, -,$(patsubst python%,%,$(cdbs_curpkg))))
common-build-arch common-build-indep:: common-build-impl
common-build-impl::
cd $(DEB_SRCDIR) && PATH=/usr/bin:$(PATH) python$(DEB_PYTHON_COMPILE_VERSION) $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS)
# See if this package doesn't appear to need to be compiled by multiple
# Python versions.
ifeq (,$(DEB_PYTHON_REAL_LIB_PACKAGES))
common-install-arch common-install-indep:: common-install-impl
common-install-impl::
cd $(DEB_SRCDIR) && PATH=/usr/bin:$(PATH) python$(DEB_PYTHON_COMPILE_VERSION) $(DEB_PYTHON_SETUP_CMD) install --root=$(DEB_DESTDIR) $(DEB_PYTHON_INSTALL_ARGS_ALL) $(DEB_PYTHON_INSTALL_ARGS_$(cdbs_curpkg))
for ddir in $(DEB_DESTDIR)/usr/lib/python?.?/dist-packages; do \
sdir=$$(dirname $$ddir)/site-packages; \
mkdir -p $$sdir; \
tar -c -f - -C $$ddir . | tar -x -f - -C $$sdir; \
rm -rf $$ddir; \
done
else
$(patsubst %,install/%,$(DEB_PYTHON_REAL_LIB_PACKAGES)) :: install/% :
cd $(DEB_SRCDIR) && PATH=/usr/bin:$(PATH) python$(cdbs_python_ver) $(DEB_PYTHON_SETUP_CMD) install --root=$(CURDIR)/debian/$(cdbs_curpkg) $(DEB_PYTHON_INSTALL_ARGS_ALL) $(DEB_PYTHON_INSTALL_ARGS_$(cdbs_curpkg))
for ddir in $(CURDIR)/debian/$(cdbs_curpkg)/usr/lib/python?.?/dist-packages; do \
sdir=$$(dirname $$ddir)/site-packages; \
mkdir -p $$sdir; \
tar -c -f - -C $$ddir . | tar -x -f - -C $$sdir; \
rm -rf $$ddir; \
done
endif
$(patsubst %,install/%,$(DEB_PYTHON_SIMPLE_PACKAGES)) :: install/% :
cd $(DEB_SRCDIR) && PATH=/usr/bin:$(PATH) python $(DEB_PYTHON_SETUP_CMD) install --root=$(CURDIR)/debian/$(cdbs_curpkg) $(DEB_PYTHON_INSTALL_ARGS_ALL) $(DEB_PYTHON_INSTALL_ARGS_$(cdbs_curpkg))
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
for ddir in $(CURDIR)/debian/$(cdbs_curpkg)/usr/lib/python?.?/dist-packages; do \
sdir=$$(dirname $$ddir)/site-packages; \
mkdir -p $$sdir; \
tar -c -f - -C $$ddir . | tar -x -f - -C $$sdir; \
rm -rf $$ddir; \
done
endif
# This class can optionally utilize debhelper's "dh_python" command. Just
# be sure you include debhelper.mk before including this file.
ifdef _cdbs_rules_debhelper
DEB_DH_PYTHON_ARGS = $(addprefix -V ,$(DEB_PYTHON_COMPILE_VERSION)) $(DEB_DH_PYTHON_ARGS_ALL) $(DEB_DH_PYTHON_ARGS_$(cdbs_curpkg))
DH_PYTHON2 = $(if $(wildcard /usr/bin/dh_python2),dh_python2,dh_python)
$(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/%:
${DH_PYTHON2} -p$(cdbs_curpkg) $(DEB_DH_PYTHON_ARGS)
endif
# Ignore errors from this rule. In a tarball build, the file may not
# exist.
ifeq (,$(DEB_PYTHON_REAL_LIB_PACKAGES))
clean::
-python$(DEB_PYTHON_COMPILE_VERSION) $(DEB_PYTHON_SETUP_CMD) clean $(DEB_PYTHON_CLEAN_ARGS)
else
clean:: $(patsubst %,python-cleanbuilddir/%,$(DEB_PYTHON_REAL_LIB_PACKAGES))
$(patsubst %,python-cleanbuilddir/%,$(DEB_PYTHON_REAL_LIB_PACKAGES)) :: python-cleanbuilddir/% :
-python$(cdbs_python_ver) $(DEB_PYTHON_SETUP_CMD) clean $(DEB_PYTHON_CLEAN_ARGS)
endif
else
########################## new policy methods ###########################
# Calculate cdbs_python_build_versions
cdbs_python_module_arch := $(strip $(shell perl -e '$$/=""; $$_=(grep {/^Package: $(DEB_PYTHON_MODULE_PACKAGE)$$/m;} (<>))[0]; /^Architecture: (.*)$$/m && print $$1' debian/control))
cdbs_python_current_version := $(shell pyversions -vd)
ifeq (all, $(cdbs_python_module_arch))
# check if current is in build versions
ifneq ($(cdbs_python_current_version), $(filter $(cdbs_python_current_version), $(shell pyversions -vr)))
cdbs_python_compile_version := $(firstword $(strip $(sort $(shell pyversions -vr))))
cdbs_python_build_versions := $(cdbs_python_compile_version)
else
cdbs_python_build_versions := $(cdbs_python_current_version)
endif
else
cdbs_python_build_versions := $(shell pyversions -vr)
endif # archall
# check if build is possible
ifeq (, $(cdbs_python_build_versions))
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
$(error invalid setting in debian/pyversions)
else
$(error invalid setting for XS-Python-Version)
endif # system selected
endif # build versions empty
# Declare Build-Deps for packages using this file
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), debhelper (>= 5.0.37.2), cdbs (>= 0.4.43)
ifeq (all, $(cdbs_python_module_arch))
ifneq (, $(cdbs_python_compile_version))
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python$(cdbs_python_compile_version)-dev, python (>= 2.3.5-11)
else
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-dev (>= 2.3.5-11)
endif
else
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-all-dev (>= 2.3.5-11)
endif
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-support (>= 0.3.2)
else
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-central (>= 0.6)
endif
cdbs_python_current_binary := $(shell pyversions -d)
cdbs_python_binary = $(if $(call cdbs_streq,$(cdbs_python_current_binary),$(1)),python,$(1))
# build stage
common-build-arch common-build-indep:: $(addprefix python-build-stamp-, $(cdbs_python_build_versions))
python-build-stamp-%:
ifeq (all, $(cdbs_python_module_arch))
cd $(DEB_SRCDIR) && PATH=/usr/bin:$(PATH) $(call cdbs_python_binary,python$(cdbs_python_compile_version)) $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS)
else
cd $(DEB_SRCDIR) && PATH=/usr/bin:$(PATH) $(call cdbs_python_binary,python$*) $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS)
endif # archall detection
touch $@
# install stage
ifeq (all, $(cdbs_python_module_arch))
common-install-arch common-install-indep:: python-install-py
python-install-py:
cd $(DEB_SRCDIR) && PATH=/usr/bin:$(PATH) $(call cdbs_python_binary,python$(cdbs_python_compile_version)) $(DEB_PYTHON_SETUP_CMD) install --root=$(DEB_DESTDIR) $(DEB_PYTHON_INSTALL_ARGS_ALL)
else
common-install-arch common-install-indep:: $(addprefix python-install-, $(cdbs_python_build_versions))
python-install-%:
cd $(DEB_SRCDIR) && PATH=/usr/bin:$(PATH) $(call cdbs_python_binary,python$*) $(DEB_PYTHON_SETUP_CMD) install --root=$(DEB_DESTDIR) $(DEB_PYTHON_INSTALL_ARGS_ALL)
endif # archall detection
# This class can optionally use debhelper's commands. Just
# be sure you include debhelper.mk before including this file.
ifdef _cdbs_rules_debhelper
DEB_DH_PYTHON_ARGS = $(DEB_DH_PYTHON_ARGS_ALL) $(DEB_DH_PYTHON_ARGS_$(cdbs_curpkg)) $(DEB_PYTHON_PRIVATE_MODULES_DIRS)
DH_PYTHON2 = $(if $(wildcard /usr/bin/dh_python2),dh_python2,dh_python)
$(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/%:
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
dh_pysupport -p$(cdbs_curpkg) $(DEB_PYTHON_PRIVATE_MODULES_DIRS)
else
dh_pycentral -p$(cdbs_curpkg)
endif
${DH_PYTHON2} -p$(cdbs_curpkg) $(DEB_DH_PYTHON_ARGS)
endif
# clean stage
clean:: $(addprefix python-clean-, $(cdbs_python_build_versions))
python-clean-%:
ifeq (all, $(cdbs_python_module_arch))
-cd $(DEB_SRCDIR) && $(call cdbs_python_binary,python$(cdbs_python_compile_version)) $(DEB_PYTHON_SETUP_CMD) clean $(DEB_PYTHON_CLEAN_ARGS)
else
-cd $(DEB_SRCDIR) && $(call cdbs_python_binary,python$*) $(DEB_PYTHON_SETUP_CMD) clean $(DEB_PYTHON_CLEAN_ARGS)
endif # archall detection
clean::
ifeq (, $(cdbs_selected_pycompat))
echo "$(cdbs_pycompat)" >debian/pycompat
endif # use pycompat
rm -f python-build-stamp-*
endif
########################## all policy methods ###########################
# Calling setup.py clean may create .pyc files, so we need a final cleanup
# pass here.
clean::
find . -name '*.pyc' -exec rm '{}' ';'
endif

@ -1,17 +1,13 @@
#!/usr/bin/make -f
DEB_PYTHON_SYSTEM = $(if $(wildcard /usr/bin/dh_python2),,pysupport)
DEB_PYTHON2_MODULE_PACKAGES=pytdeextensions-trinity libpythonize0-trinity
DEB_PYTHON_SYSTEM = /usr/bin/dh_python3
DEB_PYTHON3_MODULE_PACKAGES=pytdeextensions-trinity libpythonize0-trinity
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
include /usr/share/cdbs/1/rules/debhelper.mk
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
include debian/python-distutils-jaunty.mk
else
include /usr/share/cdbs/1/class/python-distutils.mk
endif
#include /usr/share/cdbs/1/rules/patchsys-quilt.mk
include /usr/share/cdbs/1/class/python-distutils.mk
include /usr/share/cdbs/1/rules/utils.mk
DEB_CONFIGURE_INCLUDEDIR := /usr/include
@ -27,6 +23,9 @@ DEB_PYTHON_INSTALL_ARGS_ALL += \
cdbs_configure_flags := --with-qt-dir=/usr/share/qt3 --disable-rpath --with-xinerama $(cdbs_kde_enable_final) $(cdbs_kde_enable_debug)
# Make sure to build only for the default python version
cdbs_curpythonflavors := python$(shell py3versions -vd)
DEB_DH_INSTALL_ARGS = --sourcedir=debian/tmp
DEB_CONFIGURE_EXTRA_FLAGS := --prefix=/usr --with-extra-libs=/usr/lib/$(DEB_HOST_MULTIARCH) --with-extra-includes=/usr/include
@ -40,12 +39,6 @@ DEB_DH_BUILDDEB_ARGS += -- -Z$(shell dpkg-deb --help | grep -q ":.* xz[,.]" \
&& echo xz || echo bzip2)
endif
post-patches::
# make sure that python binary exists
# since the existing code is still dependent on python2
# and cdbs uses python as the default binary name
test -x /usr/bin/python || ln -s python2 /usr/bin/python
install/pytdeextensions-trinity::
# We have no idea if the built product is site-packages or dist-packages
cd debian/tmp/usr/lib/python*/ && mv site-packages/ dist-packages/ || echo "site-packages --> dist-packages"

@ -3,16 +3,16 @@ Section: tde
Priority: optional
Maintainer: TDE Debian Team <team-debian@trinitydesktop.org>
Uploaders: Fathi Boudra <fboudra@free.fr>, Mark Purcell <msp@debian.org>
Build-Depends: cdbs, debhelper (>= 9~), chrpath, quilt, tdelibs14-trinity, libtool-bin | libtool (<< 2.4.2-1.11), libtool,
libxml2-utils, libxrandr-dev, libxxf86vm-dev, pytqt-tools, python-pytde,
python-tqt-dev, python-sip-tqt-dev, python-support (>= 0.6) | dh-python, python-all, python-all-dev
Build-Depends: cdbs, debhelper (>= 9~), chrpath, quilt, tdelibs14-trinity, libtool-bin, libtool,
libxml2-utils, libxrandr-dev, libxxf86vm-dev, pytqt-tools, python3-pytde,
pytqt-dev, python3-sip-tqt-dev, dh-python, python3-all, python3-all-dev
Standards-Version: 3.8.4
Package: pytdeextensions-trinity
Architecture: all
Depends: ${python:Depends}
Replaces: pykdeextensions-kde3 (<< 4:14.0.0~), pykdeextensions-trinity (<< 4:14.0.0~)
Breaks: pykdeextensions-kde3 (<< 4:14.0.0~), pykdeextensions-trinity (<< 4:14.0.0~)
Replaces: pykdeextensions-trinity (<< 4:14.0.0~)
Breaks: pykdeextensions-trinity (<< 4:14.0.0~)
Conflicts: pykdeextensions
Provides: ${python:Provides}
Description: Python packages to support TDE applications (scripts) [Trinity]
@ -24,9 +24,9 @@ Description: Python packages to support TDE applications (scripts) [Trinity]
Package: libpythonize0-trinity-dev
Architecture: any
Section: libdevel
Replaces: libpythonize0-kde3-dev (<< 4:14.0.0~), libpythonize0-trinity-dev (<< 4:14.0.0~)
Breaks: libpythonize0-kde3-dev (<< 4:14.0.0~), libpythonize0-trinity-dev (<< 4:14.0.0~)
Depends: libpythonize0-trinity (= ${binary:Version}), python-all-dev
Replaces: libpythonize0-trinity-dev (<< 4:14.0.0~)
Breaks: libpythonize0-trinity-dev (<< 4:14.0.0~)
Depends: libpythonize0-trinity (= ${binary:Version}), python3-all-dev
Description: Python packages to support TDE applications (development) [Trinity]
PyTDE Extensions is a collection of software and Python packages
to support the creation and installation of TDE applications.
@ -38,8 +38,8 @@ Description: Python packages to support TDE applications (development) [Trinity]
Package: libpythonize0-trinity
Architecture: any
Section: libs
Replaces: libpythonize0-kde3 (<< 4:14.0.0~), libpythonize0-trinity (<< 4:14.0.0~)
Breaks: libpythonize0-kde3 (<< 4:14.0.0~), libpythonize0-trinity (<< 4:14.0.0~)
Replaces: libpythonize0-trinity (<< 4:14.0.0~)
Breaks: libpythonize0-trinity (<< 4:14.0.0~)
Depends: ${shlibs:Depends}, ${misc:Depends}
Conflicts: libpythonize0
Description: Python packages to support TDE applications (library) [Trinity]

@ -1,297 +0,0 @@
# -*- mode: makefile; coding: utf-8 -*-
# Copyright © 2003 Colin Walters <walters@debian.org>
# Copyright © 2006 Marc Dequènes (Duck) <Duck@DuckCorp.org>
#
# Description: manage Python public modules build
# This class is designed to work with Python packages using the
# 'distutils' build system and comply to the new policy established
# during summer 2006. Use of the debhelper class to make use of the
# new dh_python is strongly advised. (This is still left as optional
# in line with CDBS' flexible behavior.)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2, or (at
# your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
# 02111-1307 USA.
#
# This class provides rules for old and new Python policy. Leaving
# DEB_PYTHON_SYSTEM unset selects the old behavior. The pysupport and
# pycentral methods are available to comply with new policy. Don't forget
# to update your 'debian/control'. (Build-Depends are correctly generated
# if you are using the auto control generation feature.)
# Once all old-style packages are removed before etch, some of the old
# can be refactored or removed.
_cdbs_scripts_path ?= /usr/lib/cdbs
_cdbs_rules_path ?= /usr/share/cdbs/1/rules
_cdbs_class_path ?= /usr/share/cdbs/1/class
ifndef _cdbs_class_python_distutils
_cdbs_class_python_distutils = 1
include $(_cdbs_rules_path)/buildcore.mk$(_cdbs_makefile_suffix)
include $(_cdbs_class_path)/langcore.mk$(_cdbs_makefile_suffix)
# check python system
cdbs_use_xs_field := $(shell grep -q "^XS-Python-Version:" debian/control && echo yes)
cdbs_selected_pycompat := $(shell if [ -e debian/pycompat ]; then cat debian/pycompat; fi)
cdbs_pycompat = $(cdbs_selected_pycompat)
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
cdbs_python_support_path = usr/share/python-support/$(DEB_PYTHON_MODULE_PACKAGE)
ifeq (, $(cdbs_selected_pycompat))
cdbs_pycompat = 2
endif # use pycompat
# warning pysupport compatibility mode
ifneq (, $(cdbs_use_xs_field))
$(warning WARNING: Use of XS-Python-Version and XB-Python-Version fields in debian/control is deprecated with pysupport method; use debian/pyversions if you need to specify specific versions.)
endif # use XS field (compat)
else
ifeq (pycentral, $(DEB_PYTHON_SYSTEM))
ifeq (, $(cdbs_selected_pycompat))
cdbs_pycompat = 2
endif # use pycompat
else
ifneq (, $(DEB_PYTHON_SYSTEM))
$(error unsupported Python system: $(DEB_PYTHON_SYSTEM) (select either pysupport or pycentral))
else
ifneq (, $(cdbs_use_xs_field))
$(error package uses the new Python policy; DEB_PYTHON_SYSTEM must be set to "pysupport" or "pycentral")
endif
ifneq (, $(cdbs_selected_pycompat))
ifeq (yes, $(shell expr $(cdbs_selected_pycompat) \> 1 >/dev/null && echo yes))
$(error package uses the new Python policy; DEB_PYTHON_SYSTEM must be set to "pysupport" or "pycentral")
endif
endif # use pycompat
endif # unknown method
endif # pycentral
endif # pysupport
ifndef DEB_PYTHON_SYSTEM
DEB_PYTHON_COMPILE_VERSION =
DEB_PYTHON_VERSIONS = 2.1 2.2 2.3 2.4 2.5 2.6 2.7
else
# default package is the first one declared in 'debian/control'
# (override if necessary)
DEB_PYTHON_MODULE_PACKAGE = $(firstword $(filter-out %-doc %-dev %-common, $(DEB_PACKAGES)))
DEB_PYTHON_PRIVATE_MODULES_DIRS =
endif
# common variables
DEB_PYTHON_SETUP_CMD = setup.py
DEB_PYTHON_CLEAN_ARGS = -a
DEB_PYTHON_BUILD_ARGS = --build-base="$(CURDIR)/$(DEB_BUILDDIR)/build"
DEB_PYTHON_INSTALL_ARGS_ALL = --no-compile -O0 --prefix=/usr
ifndef DEB_PYTHON_SYSTEM
########################### old policy method ###########################
$(warning =======================================================)
$(warning Your package does not conform to the new Python policy.)
$(warning Please consider updating. Here is some documentation:)
$(warning http://wiki.debian.org/DebianPython/NewPolicy)
$(warning http://wiki.debian.org/DebianPythonFAQ)
$(warning =======================================================)
# make: *** No rule to make target `voodoo'. Stop.
DEB_PYTHON_REAL_LIB_PACKAGES = $(strip $(filter $(patsubst %,python%%,$(DEB_PYTHON_VERSIONS)),$(filter-out $(DEB_PYTHON_PACKAGES_EXCLUDE),$(DEB_ALL_PACKAGES))))
# If no versioned python library packages found, grab all simpler ones
ifeq (,$(DEB_PYTHON_REAL_LIB_PACKAGES))
DEB_PYTHON_SIMPLE_PACKAGES = $(strip $(filter python-%,$(filter-out $(DEB_PYTHON_PACKAGES_EXCLUDE),$(DEB_ALL_PACKAGES))))
endif
cdbs_python_ver = $(filter-out -%,$(subst -, -,$(patsubst python%,%,$(cdbs_curpkg))))
common-build-arch common-build-indep:: common-build-impl
common-build-impl::
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) python$(DEB_PYTHON_COMPILE_VERSION) $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS)
# See if this package doesn't appear to need to be compiled by multiple
# Python versions.
ifeq (,$(DEB_PYTHON_REAL_LIB_PACKAGES))
common-install-arch common-install-indep:: common-install-impl
common-install-impl::
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) python$(DEB_PYTHON_COMPILE_VERSION) $(DEB_PYTHON_SETUP_CMD) install --root=$(DEB_DESTDIR) $(DEB_PYTHON_INSTALL_ARGS_ALL) $(DEB_PYTHON_INSTALL_ARGS_$(cdbs_curpkg))
for ddir in $(DEB_DESTDIR)/usr/lib/python?.?/dist-packages; do \
sdir=$$(dirname $$ddir)/site-packages; \
mkdir -p $$sdir; \
tar -c -f - -C $$ddir . | tar -x -f - -C $$sdir; \
rm -rf $$ddir; \
done
else
$(patsubst %,install/%,$(DEB_PYTHON_REAL_LIB_PACKAGES)) :: install/% :
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) python$(cdbs_python_ver) $(DEB_PYTHON_SETUP_CMD) install --root=$(CURDIR)/debian/$(cdbs_curpkg) $(DEB_PYTHON_INSTALL_ARGS_ALL) $(DEB_PYTHON_INSTALL_ARGS_$(cdbs_curpkg))
for ddir in $(CURDIR)/debian/$(cdbs_curpkg)/usr/lib/python?.?/dist-packages; do \
sdir=$$(dirname $$ddir)/site-packages; \
mkdir -p $$sdir; \
tar -c -f - -C $$ddir . | tar -x -f - -C $$sdir; \
rm -rf $$ddir; \
done
endif
$(patsubst %,install/%,$(DEB_PYTHON_SIMPLE_PACKAGES)) :: install/% :
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) python $(DEB_PYTHON_SETUP_CMD) install --root=$(CURDIR)/debian/$(cdbs_curpkg) $(DEB_PYTHON_INSTALL_ARGS_ALL) $(DEB_PYTHON_INSTALL_ARGS_$(cdbs_curpkg))
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
for ddir in $(CURDIR)/debian/$(cdbs_curpkg)/usr/lib/python?.?/dist-packages; do \
sdir=$$(dirname $$ddir)/site-packages; \
mkdir -p $$sdir; \
tar -c -f - -C $$ddir . | tar -x -f - -C $$sdir; \
rm -rf $$ddir; \
done
endif
# This class can optionally utilize debhelper's "dh_python" command. Just
# be sure you include debhelper.mk before including this file.
ifdef _cdbs_rules_debhelper
DEB_DH_PYTHON_ARGS = $(addprefix -V ,$(DEB_PYTHON_COMPILE_VERSION)) $(DEB_DH_PYTHON_ARGS_ALL) $(DEB_DH_PYTHON_ARGS_$(cdbs_curpkg))
DH_PYTHON2 = $(if $(wildcard /usr/bin/dh_python2),dh_python2,dh_python)
$(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/%:
${DH_PYTHON2} -p$(cdbs_curpkg) $(DEB_DH_PYTHON_ARGS)
endif
# Ignore errors from this rule. In a tarball build, the file may not
# exist.
ifeq (,$(DEB_PYTHON_REAL_LIB_PACKAGES))
clean::
-python$(DEB_PYTHON_COMPILE_VERSION) $(DEB_PYTHON_SETUP_CMD) clean $(DEB_PYTHON_CLEAN_ARGS)
else
clean:: $(patsubst %,python-cleanbuilddir/%,$(DEB_PYTHON_REAL_LIB_PACKAGES))
$(patsubst %,python-cleanbuilddir/%,$(DEB_PYTHON_REAL_LIB_PACKAGES)) :: python-cleanbuilddir/% :
-python$(cdbs_python_ver) $(DEB_PYTHON_SETUP_CMD) clean $(DEB_PYTHON_CLEAN_ARGS)
endif
else
########################## new policy methods ###########################
# Calculate cdbs_python_build_versions
cdbs_python_module_arch := $(strip $(shell perl -e '$$/=""; $$_=(grep {/^Package: $(DEB_PYTHON_MODULE_PACKAGE)$$/m;} (<>))[0]; /^Architecture: (.*)$$/m && print $$1' debian/control))
cdbs_python_current_version := $(shell pyversions -vd)
ifeq (all, $(cdbs_python_module_arch))
# check if current is in build versions
ifneq ($(cdbs_python_current_version), $(filter $(cdbs_python_current_version), $(shell pyversions -vr)))
cdbs_python_compile_version := $(firstword $(strip $(sort $(shell pyversions -vr))))
cdbs_python_build_versions := $(cdbs_python_compile_version)
else
cdbs_python_build_versions := $(cdbs_python_current_version)
endif
else
cdbs_python_build_versions := $(shell pyversions -vr)
endif # archall
# check if build is possible
ifeq (, $(cdbs_python_build_versions))
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
$(error invalid setting in debian/pyversions)
else
$(error invalid setting for XS-Python-Version)
endif # system selected
endif # build versions empty
# Declare Build-Deps for packages using this file
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), debhelper (>= 5.0.37.2), cdbs (>= 0.4.43)
ifeq (all, $(cdbs_python_module_arch))
ifneq (, $(cdbs_python_compile_version))
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python$(cdbs_python_compile_version)-dev, python (>= 2.3.5-11)
else
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-dev (>= 2.3.5-11)
endif
else
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-all-dev (>= 2.3.5-11)
endif
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-support (>= 0.3.2)
else
CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-central (>= 0.6)
endif
cdbs_python_current_binary := $(shell pyversions -d)
cdbs_python_binary = $(if $(call cdbs_streq,$(cdbs_python_current_binary),$(1)),python,$(1))
# build stage
common-build-arch common-build-indep:: $(addprefix python-build-stamp-, $(cdbs_python_build_versions))
python-build-stamp-%:
ifeq (all, $(cdbs_python_module_arch))
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) $(call cdbs_python_binary,python$(cdbs_python_compile_version)) $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS)
else
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) $(call cdbs_python_binary,python$*) $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS)
endif # archall detection
touch $@
# install stage
ifeq (all, $(cdbs_python_module_arch))
common-install-arch common-install-indep:: python-install-py
python-install-py:
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) $(call cdbs_python_binary,python$(cdbs_python_compile_version)) $(DEB_PYTHON_SETUP_CMD) install --root=$(DEB_DESTDIR) $(DEB_PYTHON_INSTALL_ARGS_ALL)
else
common-install-arch common-install-indep:: $(addprefix python-install-, $(cdbs_python_build_versions))
python-install-%:
cd $(DEB_SRCDIR) && PATH=/opt/trinity/bin:$(PATH) $(call cdbs_python_binary,python$*) $(DEB_PYTHON_SETUP_CMD) install --root=$(DEB_DESTDIR) $(DEB_PYTHON_INSTALL_ARGS_ALL)
endif # archall detection
# This class can optionally use debhelper's commands. Just
# be sure you include debhelper.mk before including this file.
ifdef _cdbs_rules_debhelper
DEB_DH_PYTHON_ARGS = $(DEB_DH_PYTHON_ARGS_ALL) $(DEB_DH_PYTHON_ARGS_$(cdbs_curpkg)) $(DEB_PYTHON_PRIVATE_MODULES_DIRS)
DH_PYTHON2 = $(if $(wildcard /usr/bin/dh_python2),dh_python2,dh_python)
$(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/%:
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
dh_pysupport -p$(cdbs_curpkg) $(DEB_PYTHON_PRIVATE_MODULES_DIRS)
else
dh_pycentral -p$(cdbs_curpkg)
endif
${DH_PYTHON2} -p$(cdbs_curpkg) $(DEB_DH_PYTHON_ARGS)
endif
# clean stage
clean:: $(addprefix python-clean-, $(cdbs_python_build_versions))
python-clean-%:
ifeq (all, $(cdbs_python_module_arch))
-cd $(DEB_SRCDIR) && $(call cdbs_python_binary,python$(cdbs_python_compile_version)) $(DEB_PYTHON_SETUP_CMD) clean $(DEB_PYTHON_CLEAN_ARGS)
else
-cd $(DEB_SRCDIR) && $(call cdbs_python_binary,python$*) $(DEB_PYTHON_SETUP_CMD) clean $(DEB_PYTHON_CLEAN_ARGS)
endif # archall detection
clean::
ifeq (, $(cdbs_selected_pycompat))
echo "$(cdbs_pycompat)" >debian/pycompat
endif # use pycompat
rm -f python-build-stamp-*
endif
########################## all policy methods ###########################
# Calling setup.py clean may create .pyc files, so we need a final cleanup
# pass here.
clean::
find . -name '*.pyc' -exec rm '{}' ';'
endif

@ -1,15 +1,11 @@
#!/usr/bin/make -f
DEB_PYTHON_SYSTEM = $(if $(wildcard /usr/bin/dh_python2),,pysupport)
DEB_PYTHON2_MODULE_PACKAGES=pytdeextensions-trinity libpythonize0-trinity
DEB_PYTHON_SYSTEM = /usr/bin/dh_python3
DEB_PYTHON3_MODULE_PACKAGES=pytdeextensions-trinity libpythonize0-trinity
include /usr/share/cdbs/1/rules/debhelper.mk
ifeq (pysupport, $(DEB_PYTHON_SYSTEM))
include debian/python-distutils-jaunty.mk
else
include /usr/share/cdbs/1/class/python-distutils.mk
endif
#include /usr/share/cdbs/1/rules/patchsys-quilt.mk
include /usr/share/cdbs/1/class/python-distutils.mk
include /usr/share/cdbs/1/rules/utils.mk
DEB_CONFIGURE_INCLUDEDIR := /opt/trinity/include
@ -23,6 +19,9 @@ DEB_PYTHON_INSTALL_ARGS_ALL += \
cdbs_configure_flags := --with-qt-dir=/usr/share/qt3 --disable-rpath --with-xinerama $(cdbs_kde_enable_final) $(cdbs_kde_enable_debug)
# Make sure to build only for the default python version
cdbs_curpythonflavors := python$(shell py3versions -vd)
DEB_DH_INSTALL_ARGS = --sourcedir=debian/tmp
DEB_CONFIGURE_EXTRA_FLAGS := --prefix=/opt/trinity --with-extra-libs=/opt/trinity/lib --with-extra-includes=/opt/trinity/include
@ -36,12 +35,6 @@ DEB_DH_BUILDDEB_ARGS += -- -Z$(shell dpkg-deb --help | grep -q ":.* xz[,.]" \
&& echo xz || echo bzip2)
endif
post-patches::
# make sure that python binary exists
# since the existing code is still dependent on python2
# and cdbs uses python as the default binary name
test -x /usr/bin/python || ln -s python2 /usr/bin/python
install/pytdeextensions-trinity::
# We have no idea if the built product is site-packages or dist-packages
cd debian/tmp/usr/lib/python*/ && mv site-packages/ dist-packages/ || echo "site-packages --> dist-packages"

Loading…
Cancel
Save