first stab at forward porting deb build changes. There is probably more still to do...

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2007-12-13 23:05:55 +00:00
parent c53c7fad2e
commit 8bf4f38300
7 changed files with 241 additions and 148 deletions

84
debian/control.in vendored
View File

@@ -25,7 +25,7 @@ Description: wxBase library (runtime) - non-GUI support classes of wxWidgets too
Package: libwxbase=V=U-dev Package: libwxbase=V=U-dev
Architecture: any Architecture: any
Section: libdevel Section: libdevel
Depends: wx=V-headers (= ${Source-Version}), libwxbase=SOV=U (= ${Source-Version}), libc6-dev Depends: wx=V-headers (= ${Source-Version}), libwxbase=SOV=U (= ${Source-Version}), libc6-dev | libc-dev
Suggests: wx=V-doc, gettext Suggests: wx=V-doc, gettext
Description: wxBase library (development) - non-GUI support classes of wxWidgets toolkit Description: wxBase library (development) - non-GUI support classes of wxWidgets toolkit
wxBase is a collection of C++ classes providing basic data structures wxBase is a collection of C++ classes providing basic data structures
@@ -75,7 +75,7 @@ Description: wxWidgets Cross-platform C++ GUI toolkit (GTK+ runtime)
Package: libwxgtk=V=U-dev Package: libwxgtk=V=U-dev
Architecture: any Architecture: any
Section: libdevel Section: libdevel
Depends: wx=V-headers (= ${Source-Version}), libwxgtk=SOV=U (= ${Source-Version}), libwxbase=V=U-dev (= ${Source-Version}), libc6-dev Depends: wx=V-headers (= ${Source-Version}), libwxgtk=SOV=U (= ${Source-Version}), libwxbase=V=U-dev (= ${Source-Version})
Suggests: wx-common, wx=V-doc, libstdc++-dev, gettext, xlibmesa-gl-dev | libgl-dev, xlibmesa-glu-dev | libglu-dev Suggests: wx-common, wx=V-doc, libstdc++-dev, gettext, xlibmesa-gl-dev | libgl-dev, xlibmesa-glu-dev | libglu-dev
Description: wxWidgets Cross-platform C++ GUI toolkit (GTK+ development) Description: wxWidgets Cross-platform C++ GUI toolkit (GTK+ development)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing wxWidgets (formerly known as wxWindows) is a class library for C++ providing
@@ -90,7 +90,7 @@ Package: libwxgtk=V=U-dbg
Architecture: any Architecture: any
Section: libdevel Section: libdevel
Priority: extra Priority: extra
Depends: wx=V-headers (= ${Source-Version}), libwxbase=V=U-dbg (= ${Source-Version}), libc6-dev Depends: wx=V-headers (= ${Source-Version}), libwxbase=V=U-dbg (= ${Source-Version})
Description: wxWidgets Cross-platform C++ GUI toolkit (GTK+ development) Description: wxWidgets Cross-platform C++ GUI toolkit (GTK+ development)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing wxWidgets (formerly known as wxWindows) is a class library for C++ providing
GUI components and other facilities on several popular platforms (and some GUI components and other facilities on several popular platforms (and some
@@ -259,3 +259,81 @@ Depends: wx=V-headers (= ${Source-Version})
Description: Extra wxWidgets headers for mingw32msvc-cross Description: Extra wxWidgets headers for mingw32msvc-cross
Headers required by the wxWidgets mingw32msvc-cross libraries. Headers required by the wxWidgets mingw32msvc-cross libraries.
Package: python-wxgtk=V=U
Architecture: any
Section: python
Depends: python-wxversion, ${python:Depends}, ${shlibs:Depends}
Suggests: wx=V-doc, wx=V-examples, python-xml
Conflicts: libwxgtk2.6-0-python, wxpython2.6-0
Replaces: libwxgtk2.6-0-python, wxpython2.6-0
XB-Python-Version: ${python:Versions}
Provides: ${python:Provides}
Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython binding)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing
GUI components and other facilities on several popular platforms (and some
unpopular ones as well). For more information see http://wxwidgets.org
.
This package provides a Python binding to the wxGTK library and the
wxPython runtime support libraries. If you wish to use xrc you'll also
need the python-xml package installed.
Package: python-wxgtk=V=U-dbg
Priority: extra
Architecture: any
Section: python
Depends: python-wxgtk=V=U (= ${Source-Version}), python-dbg, ${shlibs:Depends}
Suggests: python-xml-dbg
XB-Python-Version: ${python:Versions}
Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython binding, debug version)
wxWidgets is a class library for C++ providing GUI (Graphical User
Interface) and other facilities on more than one platform. Version =V
currently supports subsets of GTK+, Motif, and MS Windows.
.
This package provides a Python binding to the wxGTK debug library.
This package contains the extensions built for the python debug interpreter.
Package: python-wxversion
Architecture: all
Section: python
Depends: ${python:Depends}
Conflicts: wxpython2.6-0
Replaces: wxpython2.6-0
XB-Python-Version: ${python:Versions}
Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython version selector)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing
GUI components and other facilities on several popular platforms (and some
unpopular ones as well). For more information see http://wxwidgets.org
.
This package provides the wxPython version selector.
Package: python-wxaddons
Architecture: all
Section: python
Conflicts: python-wxgtk2.6 (<< 2.6.4.0)
Depends: ${python:Depends}, python-wxgtk=V=U
XB-Python-Version: ${python:Versions}
Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython add-on packages base)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing
GUI components and other facilities on several popular platforms (and some
unpopular ones as well). For more information see http://wxwidgets.org
.
This package provides a base Python package for 3rd party add-ons.
Package: python-wxtools
Architecture: all
Section: python
Depends: python-wxgtk=V=U, ${python:Depends}
Conflicts: wxpython2.6-0
Replaces: wxpython2.6-0, libwxgtk2.4-python, wxpython2.4-1
XB-Python-Version: ${python:Versions}
Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython common files)
wxWidgets (formerly known as wxWindows) is a class library for C++ providing
GUI components and other facilities on several popular platforms (and some
unpopular ones as well). For more information see http://wxwidgets.org
.
This package provides support utilities and common files for wxPython=V=U.
If you wish to use xrced you'll also need the python-xml package installed.

8
debian/copyright vendored
View File

@@ -1,13 +1,13 @@
This package was debianized by Ron Lee <ron@debian.org> on This package was debianized by Ron Lee <ron@debian.org> on
Sun, 13 Feb 2000 18:40:00 +1030. Sun, 13 Feb 2000 18:40:00 +1030.
more information about wxWindows, as well as the source these debs More information about wxWidgets, as well as the source these debs
are produced from can be found at www.wxwindows.org are produced from can be found at www.wxwidgets.org
Note for Debian users: Note for Debian users:
====================== ======================
Most of the core wxWindows library is licenced under the wxWindows Library Most of the core wxWidgets library is licenced under the wxWindows Library
Licence (included below), however some additional features of the library Licence (included below), however some additional features of the library
may include source licenced under terms which do not include the exception may include source licenced under terms which do not include the exception
permitting you to licence binary object code versions of works based on the permitting you to licence binary object code versions of works based on the
@@ -20,7 +20,7 @@ you wish to release your code under a licence which does not grant all of
the same rights as the LGPL would assert but would be permitted under the the same rights as the LGPL would assert but would be permitted under the
terms of the exception, then you are strongly advised to either check the terms of the exception, then you are strongly advised to either check the
licencing terms of all components that these debs (and all future versions licencing terms of all components that these debs (and all future versions
that you use) are built with, or build your own binaries of wxWindows which that you use) are built with, or build your own binaries of wxWidgets which
include only such code as is definitely covered by the exception. include only such code as is definitely covered by the exception.
You should presume that these debs will fall under the provisions of the You should presume that these debs will fall under the provisions of the

View File

@@ -2,15 +2,20 @@
set -e set -e
WXPYTHONDIR="/=WXPYDIR" WXPYTHONDIR="=WXPYDIR"
PYVERS="=PYVERS"
if [ "$1" = "configure" ]; then if [ "$1" = "configure" ]; then
=PY /usr/lib/=PY/compileall.py -q ${WXPYTHONDIR} for PY in $PYVERS; do
=PY -O /usr/lib/=PY/compileall.py -q ${WXPYTHONDIR} $PY /usr/lib/$PY/compileall.py -q /usr/lib/$PY/site-pacakges/${WXPYTHONDIR}
$PY -O /usr/lib/$PY/compileall.py -q /usr/lib/$PY/site-pacakges/${WXPYTHONDIR}
done
fi fi
update-alternatives --install /usr/lib/=PY/site-packages/wx.pth wx.pth \ for PY in $PYVERS; do
/usr/lib/wx/python/wx=V-dbg.pth $(( =PRIO - 10 )) update-alternatives --install /usr/lib/$PY/site-packages/wx.pth wx.pth \
/usr/lib/wx/$PY/wx=V-dbg.pth $(( =PRIO - 10 ))
done
#DEBHELPER# #DEBHELPER#

View File

@@ -5,7 +5,9 @@ set -e
PACKAGE="python-wxgtk=V-dbg" PACKAGE="python-wxgtk=V-dbg"
dpkg --listfiles $PACKAGE | awk '$0~/\.py$/ {print $0"c\n" $0"o"}' | xargs rm -f >&2 dpkg --listfiles $PACKAGE | awk '$0~/\.py$/ {print $0"c\n" $0"o"}' | xargs rm -f >&2
update-alternatives --remove wx.pth /usr/lib/wx/python/wx=V-dbg.pth for PY in =PYVERS; do
update-alternatives --remove wx.pth /usr/lib/wx/$PY/wx=V-dbg.pth
done
#DEBHELPER# #DEBHELPER#

View File

@@ -2,15 +2,14 @@
set -e set -e
WXPYTHONDIR="/=WXPYDIR" WXPYTHONDIR="=WXPYDIR"
PYVERS="=PYVERS"
if [ "$1" = "configure" ]; then for PY in $PYVERS; do
=PY /usr/lib/=PY/compileall.py -q ${WXPYTHONDIR} update-alternatives --install /usr/lib/python$PY/site-packages/wx.pth \
=PY -O /usr/lib/=PY/compileall.py -q ${WXPYTHONDIR} wx-python$PY.pth \
fi /usr/lib/wx/python$PY/wx=V.pth =PRIO
done
update-alternatives --install /usr/lib/=PY/site-packages/wx.pth wx.pth \
/usr/lib/wx/python/wx=V.pth =PRIO
#DEBHELPER# #DEBHELPER#

View File

@@ -2,10 +2,9 @@
set -e set -e
PACKAGE="python-wxgtk=V" for PY in =PYVERS; do
dpkg --listfiles $PACKAGE | awk '$0~/\.py$/ {print $0"c\n" $0"o"}' | xargs rm -f >&2 update-alternatives --remove wx-python$PY.pth /usr/lib/wx/python$PY/wx=V.pth
done
update-alternatives --remove wx.pth /usr/lib/wx/python/wx=V.pth
#DEBHELPER# #DEBHELPER#

256
debian/rules vendored
View File

@@ -5,24 +5,20 @@
# variously stolen code :-) # variously stolen code :-)
# It makes copious use of the debhelper utilities written by # It makes copious use of the debhelper utilities written by
# Joey Hess and others. # Joey Hess and others.
#
# Significantly hacked up in July 2007 by Robin Dunn
#
#export DH_VERBOSE=1 #export DH_VERBOSE=1
export DH_OPTIONS export DH_OPTIONS
ifdef CONCURRENCY_LEVEL ifdef CONCURRENCY_LEVEL
# A user who knows what they want, that's like gold... # A user who knows what they want, that's like gold...
# respect their precious opinion of how much blue smoke to use. # respect their precious opinion of how much blue smoke to use.
JOB_COUNT := $(CONCURRENCY_LEVEL) JOB_COUNT := $(CONCURRENCY_LEVEL)
else ifdef DISTCC_HOSTS else ifdef DISTCC_HOSTS
# Otherwise, if they have a cluster, try to put it to good use. # Otherwise, if they have a cluster, try to put it to good use.
JOB_COUNT := $(shell set $${DISTCC_HOSTS} > /dev/null 2>&1 ; echo $$\#) JOB_COUNT := $(shell set $${DISTCC_HOSTS} > /dev/null 2>&1 ; echo $$\#)
# Not much faster, but it might keep you warm in winter...
#JOB_COUNT := $(shell set $${DISTCC_HOSTS} > /dev/null 2>&1 ; echo $$(($$\# + $$\#)))
endif endif
ifdef JOB_COUNT ifdef JOB_COUNT
@@ -31,8 +27,17 @@ else
FAST_MAKE = $(MAKE) FAST_MAKE = $(MAKE)
endif endif
-include debian/python-version
# Find the python version(s) to build for
PYVERS := $(shell pyversions -vr || pyversions -vs)
ifeq ($(strip $(PYVERS)),)
PYVERS := $(shell python -c 'import sys; print sys.version[:3]')
NO_PYCENTRAL = 1
PY_BUILD_DEPS = python$(PYVERS), python$(PYVERS)-dbg, python$(PYVERS)-dev
else
DEB_PYTHON_SYSTEM=pycentral
PY_BUILD_DEPS = python-all, python-all-dbg, python-all-dev, python-central
endif
# If another source package is to supply the common binary packages # If another source package is to supply the common binary packages
# for a particular Debian release, then define this variable to indicate # for a particular Debian release, then define this variable to indicate
@@ -40,8 +45,7 @@ endif
# all if this is to be the default (or only) wx source package for the # all if this is to be the default (or only) wx source package for the
# target release. # target release.
# #
# for etch: #DEBIAN_WX_DEFAULT_VERSION = 2.8
#DEBIAN_WX_DEFAULT_VERSION = 2.6
# This will extract a flavour out of the name of the source directory # This will extract a flavour out of the name of the source directory
@@ -88,10 +92,6 @@ endif
# Base value for alternative priorities. # Base value for alternative priorities.
alt_prio := $(subst .,,$(release)) alt_prio := $(subst .,,$(release))
pytoolkit := gtk2
pydir := usr/lib/$(python_ver)/site-packages
wxpydir := $(pydir)/wx-$(compatible_release)-$(pytoolkit)
cross_host := i586-mingw32msvc cross_host := i586-mingw32msvc
cross_build := $(shell ./config.guess) cross_build := $(shell ./config.guess)
@@ -123,6 +123,7 @@ GTK_CONFIGURE_OPTIONS = $(COMMON_CONFIGURE_OPTIONS) \
--with-libtiff=sys \ --with-libtiff=sys \
pytoolkit := gtk2
PY_WX_CONFIG_OPTIONS = --version=$(release) --toolkit=$(pytoolkit) --static=no PY_WX_CONFIG_OPTIONS = --version=$(release) --toolkit=$(pytoolkit) --static=no
WX_UNICODE := 1 WX_UNICODE := 1
@@ -131,8 +132,8 @@ WX_OPENGL := 1
ifeq ($(WX_UNICODE),1) ifeq ($(WX_UNICODE),1)
COMMON_CONFIGURE_OPTIONS += --enable-unicode COMMON_CONFIGURE_OPTIONS += --enable-unicode
PY_WX_CONFIG_OPTIONS += --unicode PY_WX_CONFIG_OPTIONS += --unicode
PY_UNICODE="UNICODE=1" PY_UNICODE = UNICODE=1
wxpydir := $(pydir)/wx-$(compatible_release)-$(pytoolkit)-unicode wxpydir := wx-$(compatible_release)-$(pytoolkit)-unicode
# for compatibility with the existing 2.6 packages, we don't use "u" in # for compatibility with the existing 2.6 packages, we don't use "u" in
# the Unicode (default) package names # the Unicode (default) package names
@@ -141,6 +142,8 @@ else
# but we do need to use something for non-Unicode packages to distinguish # but we do need to use something for non-Unicode packages to distinguish
# them # them
unicode_suffix := -ansi unicode_suffix := -ansi
PY_UNICODE = UNICODE=0
wxpydir := wx-$(compatible_release)-$(pytoolkit)
endif endif
ifeq ($(WX_OPENGL),1) ifeq ($(WX_OPENGL),1)
@@ -149,7 +152,9 @@ else
GTK_CONFIGURE_OPTIONS += --without-opengl GTK_CONFIGURE_OPTIONS += --without-opengl
endif endif
# Packages to build: #---------------------------------------------------------------------------
# Packages to build
package_wxbase_lib := libwxbase$(sorelease)$(unicode_suffix) package_wxbase_lib := libwxbase$(sorelease)$(unicode_suffix)
package_wxbase_dev := libwxbase$(release)$(unicode_suffix)-dev package_wxbase_dev := libwxbase$(release)$(unicode_suffix)-dev
package_wxbase_dbg := libwxbase$(release)$(unicode_suffix)-dbg package_wxbase_dbg := libwxbase$(release)$(unicode_suffix)-dbg
@@ -158,45 +163,39 @@ package_gtk_lib := libwxgtk$(sorelease)$(unicode_suffix)
package_gtk_dev := libwxgtk$(release)$(unicode_suffix)-dev package_gtk_dev := libwxgtk$(release)$(unicode_suffix)-dev
package_gtk_dbg := libwxgtk$(release)$(unicode_suffix)-dbg package_gtk_dbg := libwxgtk$(release)$(unicode_suffix)-dbg
package_gtk_py_lib := python-wxgtk$(release)$(unicode_suffix)
package_gtk_py_ver = python-wxversion
package_gtk_py_tools = python-wxtools
package_gtk_py_addons = python-wxaddons
package_headers := wx$(release)-headers package_headers := wx$(release)-headers
package_i18n := wx$(release)-i18n package_i18n := wx$(release)-i18n
package_doc := wx$(release)-doc package_doc := wx$(release)-doc
package_examples := wx$(release)-examples package_examples := wx$(release)-examples
package_common = wx-common package_common = wx-common
package_gtk_py_lib := python-wxgtk$(release)$(unicode_suffix)
package_gtk_py_ver = python-wxversion
package_gtk_py_tools = python-wxtools
package_gtk_py_addons = python-wxaddons
package_gtk_dbg_py := python-wxgtk$(release)$(unicode_suffix)-dbg
# The packages listed here are common to all wx versions, and may be provided # The packages listed here are common to all wx versions, and may be provided
# by another source package if more than one is in the release simultaneously. # by another source package if more than one is in the release simultaneously.
common_packages := $(package_common) $(package_gtk_py_ver) $(package_gtk_py_tools) $(package_gtk_py_addons) common_packages := $(package_common) $(package_gtk_py_ver) $(package_gtk_py_tools) $(package_gtk_py_addons)
package_gtk_dbg_py := python-wxgtk$(release)$(unicode_suffix)-dbg
package_msw_dev := libwxmsw$(release)$(unicode_suffix)-dev package_msw_dev := libwxmsw$(release)$(unicode_suffix)-dev
package_msw_dbg := libwxmsw$(release)$(unicode_suffix)-dbg package_msw_dbg := libwxmsw$(release)$(unicode_suffix)-dbg
package_headers_msw := wx$(release)-headers-msw package_headers_msw := wx$(release)-headers-msw
# The packages listed here will not be built by default. # The packages listed here will not be built by default.
extra_packages := $(package_gtk_dbg_py) \ extra_packages := $(package_msw_dev) $(package_msw_dbg) $(package_headers_msw)
$(package_msw_dev) $(package_msw_dbg) $(package_headers_msw)
ifdef DEBIAN_WX_DEFAULT_VERSION ifdef DEBIAN_WX_DEFAULT_VERSION
extra_packages += $(common_packages) extra_packages += $(common_packages)
endif endif
# Build directories: #---------------------------------------------------------------------------
# Build directories
objdir_wxbase_shared = objs_wxbase_sh objdir_wxbase_shared = objs_wxbase_sh
objdir_wxbase_debug = objs_wxbase_d objdir_wxbase_debug = objs_wxbase_d
objdir_gtk_shared = objs_gtk_sh objdir_gtk_shared = objs_gtk_sh
@@ -218,6 +217,9 @@ objdirs := $(objdir_wxbase_shared) $(objdir_wxbase_debug) \
$(objdir_msw_shared) $(objdir_msw_static) $(objdir_msw_dbg) \ $(objdir_msw_shared) $(objdir_msw_static) $(objdir_msw_dbg) \
$(objdir_msw_install) $(objdir_msw_install)
#---------------------------------------------------------------------------
# Build stamps:
# note that the i18n package is actually arch indep (once built) # note that the i18n package is actually arch indep (once built)
# but must be built (and installed) during the arch any phase as # but must be built (and installed) during the arch any phase as
# it's pulled out of the wxGTK shared lib package. # it's pulled out of the wxGTK shared lib package.
@@ -226,11 +228,10 @@ objdirs := $(objdir_wxbase_shared) $(objdir_wxbase_debug) \
# all files for it are installed during the arch any phase. # all files for it are installed during the arch any phase.
# Build stamps:
build_arch_stamps = build-wxbase-shared-stamp build-wxbase-debug-stamp \ build_arch_stamps = build-wxbase-shared-stamp build-wxbase-debug-stamp \
build-gtk-shared-stamp build-gtk-shared-contrib-stamp \ build-gtk-shared-stamp build-gtk-shared-contrib-stamp \
build-gtk-debug-stamp build-gtk-debug-contrib-stamp \ build-gtk-debug-stamp build-gtk-debug-contrib-stamp \
build-i18n-stamp build-gtk-py-stamp build-i18n-stamp build-gtk-py-stamp build-gtk-dbg-py-stamp
build_indep_stamps = build-examples-stamp build-doc-stamp build_indep_stamps = build-examples-stamp build-doc-stamp
@@ -241,16 +242,14 @@ build_stamps_native := $(build_arch_stamps) $(build_indep_stamps)
build_stamps := $(build_stamps_native) $(build_cross_stamps) build_stamps := $(build_stamps_native) $(build_cross_stamps)
#---------------------------------------------------------------------------
# Install targets: # Install targets:
install_all_arch = install-wxbase-lib install-wxbase-dev install-wxbase-dbg \ install_all_arch = install-wxbase-lib install-wxbase-dev install-wxbase-dbg \
install-gtk-lib install-gtk-dev install-gtk-dbg \ install-gtk-lib install-gtk-dev install-gtk-dbg \
install-headers install-i18n \ install-headers install-i18n install-gtk-py install-gtk-dbg-py
install-gtk-py
ifndef DEBIAN_WX_DEFAULT_VERSION ifndef DEBIAN_WX_DEFAULT_VERSION
install_all_arch += install-common install_all_arch += install-common
endif endif
install_all_indep = install-examples install-doc install_all_indep = install-examples install-doc
@@ -262,25 +261,15 @@ install_all_native := $(install_all_arch) $(install_all_indep)
install_all := $(install_all_native) $(install_all_cross) install_all := $(install_all_native) $(install_all_cross)
# wxPython uses this to build in-tree
wxconfig := $(shell pwd)/$(objdir_gtk_shared)/wx-config --no_rpath
wxconfig-dbg := $(shell pwd)/$(objdir_gtk_debug)/wx-config --no_rpath
# and this after it is installed. #---------------------------------------------------------------------------
py_wxconfig := wx-config $(PY_WX_CONFIG_OPTIONS) --debug=no # Setup Rules:
pyd_wxconfig := wx-config $(PY_WX_CONFIG_OPTIONS) --debug
debian/control: debian/control.in debian/rules
#contrib_libs := $(subst CVS,,$(notdir $(wildcard contrib/include/wx/*))) sed -e 's/=V/$(release)/g; '\
' s/=SOV/$(sorelease)/g; '\
' s/=U/$(unicode_suffix)/g; '\
# The Rules: ' s/=PY_BUILD_DEPS/$(PY_BUILD_DEPS)/g '\
debian/python-version:
echo python_ver := python$(shell python -c "import sys;print sys.version[:3]") > $@
debian/control: $(addprefix debian/,control.in python-version)
sed -e 's/=V/$(release)/g;s/=SOV/$(sorelease)/g;s/=PY/$(python_ver)/g;s/=U/$(unicode_suffix)/g'\
< debian/control.in > debian/control < debian/control.in > debian/control
control-files-stamp: debian/control control-files-stamp: debian/control
@@ -315,21 +304,13 @@ control-files-stamp: debian/control
done; done;
@for f in docs postinst prerm; do \ @for f in docs postinst prerm; do \
echo "generating control file $(package_gtk_py_lib).$$f"; \ echo "generating control file $(package_gtk_py_lib).$$f"; \
sed -e 's/=PY/$(python_ver)/g; '\ sed -e 's/=PYVERS/$(PYVERS)/g; '\
' s|=WXPYDIR|$(wxpydir)|g; '\ ' s|=WXPYDIR|$(wxpydir)|g; '\
' s/=V/$(release)/g; '\ ' s/=V/$(release)/g; '\
' s/=PRIO/$(alt_prio)/g' \ ' s/=PRIO/$(alt_prio)/g' \
< debian/python-wxgtk.$$f \ < debian/python-wxgtk.$$f \
> debian/$(package_gtk_py_lib).$$f; \ > debian/$(package_gtk_py_lib).$$f; \
done; done;
@for f in postinst prerm; do \
echo "generating control file $(package_gtk_dbg_py).$$f"; \
sed -e 's/=PY/$(python_ver)/g; '\
' s/=V/$(release)/g; '\
' s/=PRIO/$(alt_prio)/g' \
< debian/python-wxgtk-dbg.$$f \
> debian/$(package_gtk_dbg_py).$$f; \
done;
@echo "generating control file $(package_gtk_dbg_py).docs"; @echo "generating control file $(package_gtk_dbg_py).docs";
@cp debian/python-wxgtk.docs debian/$(package_gtk_dbg_py).docs; @cp debian/python-wxgtk.docs debian/$(package_gtk_dbg_py).docs;
@for f in docs doc-base; do \ @for f in docs doc-base; do \
@@ -367,6 +348,9 @@ control-files-stamp: debian/control
> debian/lintian-override; \ > debian/lintian-override; \
touch $@ touch $@
#---------------------------------------------------------------------------
# wx Build rules
build_arch: control-files-stamp $(build_arch_stamps) build_arch: control-files-stamp $(build_arch_stamps)
build_all: control-files-stamp $(build_stamps_native) build_all: control-files-stamp $(build_stamps_native)
@@ -383,7 +367,10 @@ build: build_arch
# libwxbase. We need to configure it here in order to get the correct # libwxbase. We need to configure it here in order to get the correct
# config files to use it alone, but there is no point building it as the # config files to use it alone, but there is no point building it as the
# wxgtk build is going to do that again anyway. We'll move the relevant # wxgtk build is going to do that again anyway. We'll move the relevant
# files out when that is done. # files out when that is done.
#
# TODO: Is this still necessary? Can we just take the wxbase files
# from the wxgui build now without special treatment?
configure-wxbase-shared-stamp: configure-wxbase-shared-stamp:
dh_testdir dh_testdir
@@ -488,7 +475,8 @@ build-doc-stamp: build-gtk-shared-stamp
rm -rf $(objdir_doc_cruft); \ rm -rf $(objdir_doc_cruft); \
rm -f $(objdir_doc)/wx$(release)-manual.{con,hh*,htx,ref}; \ rm -f $(objdir_doc)/wx$(release)-manual.{con,hh*,htx,ref}; \
else \ else \
mkdir $(objdir_doc); \ echo Copying docs...; \
mkdir -p $(objdir_doc); \
cp docs/html/wx/* $(objdir_doc); \ cp docs/html/wx/* $(objdir_doc); \
mv $(objdir_doc)/index.html $(objdir_doc)/wx-$(release)-manual_contents.html; \ mv $(objdir_doc)/index.html $(objdir_doc)/wx-$(release)-manual_contents.html; \
fi fi
@@ -599,16 +587,12 @@ build-msw-dbg-stamp: configure-msw-dbg-stamp
cd $(objdir_msw_dbg) && $(FAST_MAKE) cd $(objdir_msw_dbg) && $(FAST_MAKE)
touch $@ touch $@
#---------------------------------------------------------------------------
# Cleaning rules
clean-py: clean-py:
cd wxPython && rm -rf licence build* docs/xml-raw wx/*.py cd wxPython && rm -rf licence build* docs/xml-raw wx/*.py src/__version__.py
# What to do about src/__version__.py ???
# We do the equivalent of this above by removing build, unfortunately
# its not enough by itself to get the tree properly clean again.
# && ./setup.py clean
clean: debian/control clean-py clean: debian/control clean-py
dh_testdir dh_testdir
@@ -635,6 +619,12 @@ clean: debian/control clean-py
rm -f debian/$(package_msw_dbg).* rm -f debian/$(package_msw_dbg).*
rm -f debian/lintian-override rm -f debian/lintian-override
rm -f debian/unpack_examples.sh rm -f debian/unpack_examples.sh
find -name '*.py[co]' | xargs -r rm -f
rm -rf include/wx-$(release)
#---------------------------------------------------------------------------
# wx Install Rules
install_arch: build_arch $(install_all_arch) install_arch: build_arch $(install_all_arch)
@@ -836,7 +826,13 @@ install-headers: install-gtk-shared-stamp
# dh_movefiles --sourcedir=$(objdir_univ_install) # dh_movefiles --sourcedir=$(objdir_univ_install)
dh_install $(objdir_gtk_install)/include usr dh_install $(objdir_gtk_install)/include usr
# TODO: Should probably use setup.py's install of the wxPython headers...
mkdir -p debian/$(package_headers)/usr/include/wx-$(release)/wx/wxPython
cp -p wxPython/include/wx/wxPython/*.h \
debian/$(package_headers)/usr/include/wx-$(release)/wx/wxPython/
install-i18n: DH_OPTIONS=-p$(package_i18n) install-i18n: DH_OPTIONS=-p$(package_i18n)
install-i18n: build-i18n-stamp install-gtk-shared-stamp install-i18n: build-i18n-stamp install-gtk-shared-stamp
dh_testdir dh_testdir
@@ -844,17 +840,20 @@ install-i18n: build-i18n-stamp install-gtk-shared-stamp
dh_clean -k dh_clean -k
dh_install $(objdir_gtk_install)/share/locale usr/share dh_install $(objdir_gtk_install)/share/locale usr/share
install-doc: DH_OPTIONS=-p$(package_doc) install-doc: DH_OPTIONS=-p$(package_doc)
install-doc: build-doc-stamp install-doc: build-doc-stamp
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_clean -k dh_clean -k
dh_install $(objdir_doc) usr/share/doc/$(package_doc)
@# Link this monstrosity with an overly obfuscated name @# Link this monstrosity with an overly obfuscated name
@# to something that both people and browsers can expect to find. @# to something that both people and browsers can expect to find.
dh_link usr/share/doc/$(package_doc)/wx-manual.html/wx-$(release)-manual_contents.html \ dh_link usr/share/doc/$(package_doc)/wx-manual.html/wx-$(release)-manual_contents.html \
usr/share/doc/$(package_doc)/wx-manual.html/index.html usr/share/doc/$(package_doc)/wx-manual.html/index.html
install-examples: DH_OPTIONS=-p$(package_examples) install-examples: DH_OPTIONS=-p$(package_examples)
install-examples: build-examples-stamp install-examples: build-examples-stamp
dh_testdir dh_testdir
@@ -951,52 +950,69 @@ install-headers-msw:
dh_install $(objdir_msw_install)/include/wx-$(release)/wx/msw usr/$(cross_host)/include/wx-$(release)/wx dh_install $(objdir_msw_install)/include/wx-$(release)/wx/msw usr/$(cross_host)/include/wx-$(release)/wx
binary-common: #---------------------------------------------------------------------------
dh_testdir # Tying it all together
dh_testroot
dh_installdocs
dh_installchangelogs
dh_installexamples
dh_installmenu
dh_link
@# Don't strip debug libs at all, and strip cross libs elsewhere
@# with the cross host tools until dh_strip gets smarter.
dh_strip -N$(package_gtk_dbg) -N$(package_wxbase_dbg) \
-N$(package_msw_dev) -N$(package_msw_dbg)
dh_compress
dh_fixperms
@# Don't do this for the dbg-py special build because dh_makeshlibs
@# will crap out if it is called with no packages to act on.
@if [ "x$(DH_OPTIONS)" != "-p$(package_gtk_dbg_py)" ]; then \
echo "dh_makeshlibs -N$(package_gtk_py_lib) -V"; \
dh_makeshlibs -N$(package_gtk_py_lib) -V; \
fi
dh_installdeb
dh_shlibdeps -ldebian/$(package_wxbase_lib)/usr/lib:debian/$(package_wxbase_dbg)/usr/lib:debian/$(package_gtk_lib)/usr/lib:debian/$(package_gtk_dbg)/usr/lib
dh_gencontrol
dh_md5sums
dh_builddeb
# Build architecture-independent files here.
# Note that you currently can't build the indep packages without first
# building the arch specific package files needed to create them.
binary-indep: build_all install binary-indep: build_all install
$(MAKE) -f debian/rules \ dh_testdir -i
DH_OPTIONS="-i $(addprefix -N,$(extra_packages))" \ dh_testroot -i
binary-common dh_installdocs -i
dh_installchangelogs -i
dh_installexamples -i
dh_installmenu -i
ifdef NO_PYCENTRAL
dh_python -i
else
dh_pycentral -i
endif
dh_link -i
dh_compress -i
dh_fixperms -i
dh_installdeb -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
# Build just the architecture-dependent files here.
binary-arch: build_arch install_arch binary-arch: build_arch install_arch
$(MAKE) -f debian/rules \ dh_testdir -a
DH_OPTIONS="-a $(addprefix -N,$(extra_packages))" \ dh_testroot -a
binary-common dh_installdocs -a
dh_installchangelogs -a
dh_installexamples -a
dh_installmenu -a
rm -rf debian/$(package_gtk_dbg_py)/usr/share/doc/$(package_gtk_dbg_py)
ln -s $(package_gtk_py_lib) debian/$(package_gtk_dbg_py)/usr/share/doc/$(package_gtk_dbg_py)
ifdef NO_PYCENTRAL
dh_python -a
else
dh_pycentral -a
endif
# Don't strip debug libs at all, and strip cross libs elsewhere
# with the cross host tools until dh_strip gets smarter.
dh_strip -p$(package_gtk_py_lib) --dbg-package=$(package_gtk_dbg_py)
dh_strip -N$(package_gtk_dbg) -N$(package_wxbase_dbg) \
-N$(package_msw_dev) -N$(package_msw_dbg) \
-N$(package_gtk_py_lib) -N$(package_gtk_dbg_py)
dh_link -a
dh_compress -a
dh_fixperms -a
dh_makeshlibs -N$(package_gtk_py_lib) -N$(package_gtk_dbg_py) -V
dh_installdeb -a
dh_shlibdeps -ldebian/$(package_wxbase_lib)/usr/lib:debian/$(package_wxbase_dbg)/usr/lib:debian/$(package_gtk_lib)/usr/lib:debian/$(package_gtk_dbg)/usr/lib
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
# Build all packages target. # Build all packages target.
binary: binary-arch binary-indep binary: binary-indep binary-arch
# This is a special target for building the wxMSW-cross packages. # This is a special target for building the wxMSW-cross packages.
@@ -1010,12 +1026,6 @@ binary-cross: control-files-stamp $(install_all_cross)
binary-common binary-common
# Build wxPython against libwxgtk-dbg. This package will conflict
# with the release build one, but may be useful to some people.
binary-dbg-py: control-files-stamp install-gtk-dbg-py
$(MAKE) -f debian/rules DH_OPTIONS="-p$(package_gtk_dbg_py)" binary-common
############################################################################ ############################################################################
# #
# Some rules to build a subset of the complete list of packages that can be # Some rules to build a subset of the complete list of packages that can be