]> git.saurik.com Git - wxWidgets.git/commitdiff
first stab at forward porting deb build changes. There is probably more still to...
authorRobin Dunn <robin@alldunn.com>
Thu, 13 Dec 2007 23:05:55 +0000 (23:05 +0000)
committerRobin Dunn <robin@alldunn.com>
Thu, 13 Dec 2007 23:05:55 +0000 (23:05 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

debian/control.in
debian/copyright
debian/python-wxgtk-dbg.postinst
debian/python-wxgtk-dbg.prerm
debian/python-wxgtk.postinst
debian/python-wxgtk.prerm
debian/rules

index 99ce7a245a7c794449c569ea6da6906adaae6349..2a5d19dfe225a201b232b89bc0c6f7ba592ff397 100644 (file)
@@ -25,7 +25,7 @@ Description: wxBase library (runtime) - non-GUI support classes of wxWidgets too
 Package: libwxbase=V=U-dev
 Architecture: any
 Section: libdevel
 Package: libwxbase=V=U-dev
 Architecture: any
 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
 Description: wxBase library (development) - non-GUI support classes of wxWidgets toolkit
  wxBase is a collection of C++ classes providing basic data structures
 Suggests: wx=V-doc, gettext
 Description: wxBase library (development) - non-GUI support classes of wxWidgets toolkit
  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
 Architecture: any
 Section: libdevel
 Package: libwxgtk=V=U-dev
 Architecture: any
 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
 Description: wxWidgets Cross-platform C++ GUI toolkit (GTK+ development)
  wxWidgets (formerly known as wxWindows) is a class library for C++ providing
 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)
  wxWidgets (formerly known as wxWindows) is a class library for C++ providing
@@ -90,7 +90,7 @@ Package: libwxgtk=V=U-dbg
 Architecture: any
 Section: libdevel
 Priority: extra
 Architecture: any
 Section: libdevel
 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)
  wxWidgets (formerly known as wxWindows) is a class library for C++ providing
  GUI components and other facilities on several popular platforms (and some
 Description: wxWidgets Cross-platform C++ GUI toolkit (GTK+ development)
  wxWidgets (formerly known as wxWindows) is a class library for C++ providing
  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
  Headers required by the wxWidgets mingw32msvc-cross libraries.
 
 Description: Extra wxWidgets headers for mingw32msvc-cross
  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.
+
index d493a779ea0b0fa9495b4e3048de7ef8996f8cde..3dbba304257fd09f987f380ad38eb69c2948b87e 100644 (file)
@@ -1,13 +1,13 @@
 This package was debianized by Ron Lee <ron@debian.org> on
 Sun, 13 Feb 2000 18:40:00 +1030.
 
 This package was debianized by Ron Lee <ron@debian.org> on
 Sun, 13 Feb 2000 18:40:00 +1030.
 
-more information about wxWindows, as well as the source these debs
-are produced from can be found at www.wxwindows.org
+More information about wxWidgets, as well as the source these debs
+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
 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
 Licence (included below), however some additional features of the library
 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
@@ -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
 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
 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
 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.
 
 You should presume that these debs will fall under the provisions of the
 include only such code as is definitely covered by the exception.
 
 You should presume that these debs will fall under the provisions of the
index 173d5e893cfb1b8f5333fbe053635b3dd622d242..4a74affb89036b21764272b98e1ada9a421014dc 100644 (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}
-       =PY -O /usr/lib/=PY/compileall.py -q ${WXPYTHONDIR}
+    for PY in $PYVERS; do
+       $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        \
-                             /usr/lib/wx/python/wx=V-dbg.pth    $(( =PRIO - 10 ))
+for PY in $PYVERS; do
+    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#
 
index f9618753f2f601e9b2e6647dcc4bb684dc464dd8..4440c7bd370da778d3d660157000071d068b9514 100644 (file)
@@ -5,7 +5,9 @@ set -e
 PACKAGE="python-wxgtk=V-dbg"
 dpkg --listfiles $PACKAGE | awk '$0~/\.py$/ {print $0"c\n" $0"o"}' | xargs rm -f >&2
 
 PACKAGE="python-wxgtk=V-dbg"
 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#
 
index 1757ffa56ee78ed42a5cedd2749ac4d680ecfb02..80f9e849ec04fd890b4936830b7b750b87930c68 100644 (file)
@@ -2,15 +2,14 @@
 
 set -e
 
 
 set -e
 
-WXPYTHONDIR="/=WXPYDIR"
-
-if [ "$1" = "configure" ]; then
-       =PY /usr/lib/=PY/compileall.py -q ${WXPYTHONDIR}
-       =PY -O /usr/lib/=PY/compileall.py -q ${WXPYTHONDIR}
-fi
-
-update-alternatives --install /usr/lib/=PY/site-packages/wx.pth  wx.pth        \
-                             /usr/lib/wx/python/wx=V.pth        =PRIO
+WXPYTHONDIR="=WXPYDIR"
+PYVERS="=PYVERS"
+
+for PY in $PYVERS; do
+    update-alternatives --install /usr/lib/python$PY/site-packages/wx.pth  \
+       wx-python$PY.pth                                                   \
+       /usr/lib/wx/python$PY/wx=V.pth       =PRIO
+done
 
 #DEBHELPER#
 
 
 #DEBHELPER#
 
index 86a40e41ff9062b9610d49583ebdf7fd453d5ff6..a7248eaa5804f00b179a8724bcb53c9e9bff5b40 100644 (file)
@@ -2,10 +2,9 @@
 
 set -e
 
 
 set -e
 
-PACKAGE="python-wxgtk=V"
-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.pth
+for PY in =PYVERS; do
+    update-alternatives --remove wx-python$PY.pth /usr/lib/wx/python$PY/wx=V.pth
+done
 
 #DEBHELPER#
 
 
 #DEBHELPER#
 
index 8c89fd845b363b871dd1534893560f2449805f96..c2bf0f94937fe3f18851fc778907cc933f0ff670 100755 (executable)
@@ -5,24 +5,20 @@
 # variously stolen code :-)
 # It makes copious use of the debhelper utilities written by
 # Joey Hess and others.
 # variously stolen code :-)
 # It makes copious use of the debhelper utilities written by
 # Joey Hess and others.
+#
+# Significantly hacked up in July 2007 by Robin Dunn
+#
 
 #export DH_VERBOSE=1
 export DH_OPTIONS
 
 ifdef CONCURRENCY_LEVEL
 
 #export DH_VERBOSE=1
 export DH_OPTIONS
 
 ifdef CONCURRENCY_LEVEL
-
   # A user who knows what they want, that's like gold...
   # respect their precious opinion of how much blue smoke to use.
   JOB_COUNT := $(CONCURRENCY_LEVEL)
   # A user who knows what they want, that's like gold...
   # respect their precious opinion of how much blue smoke to use.
   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.
   JOB_COUNT := $(shell set $${DISTCC_HOSTS} > /dev/null 2>&1 ; echo $$\#)
  # Otherwise, if they have a cluster, try to put it to good use.
   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
 
 ifdef JOB_COUNT
 endif
 
 ifdef JOB_COUNT
@@ -31,8 +27,17 @@ else
   FAST_MAKE = $(MAKE)
 endif
 
   FAST_MAKE = $(MAKE)
 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
 # for a particular Debian release, then define this variable to indicate
 
 # If another source package is to supply the common binary packages
 # 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
 # target release.
 #
 # all if this is to be the default (or only) wx source package for the
 # target release.
 #
-# for etch:
-#DEBIAN_WX_DEFAULT_VERSION = 2.6
+#DEBIAN_WX_DEFAULT_VERSION = 2.8
 
 
 # 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.
 alt_prio  := $(subst .,,$(release))
 
 # Base value for alternative priorities.
 alt_prio  := $(subst .,,$(release))
 
-pytoolkit := gtk2
-pydir     := usr/lib/$(python_ver)/site-packages
-wxpydir   := $(pydir)/wx-$(compatible_release)-$(pytoolkit)
-
 cross_host  := i586-mingw32msvc
 cross_build := $(shell ./config.guess)
 
 cross_host  := i586-mingw32msvc
 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
 
 WX_UNICODE := 1
 PY_WX_CONFIG_OPTIONS = --version=$(release) --toolkit=$(pytoolkit) --static=no
 
 WX_UNICODE := 1
@@ -131,8 +132,8 @@ WX_OPENGL := 1
 ifeq ($(WX_UNICODE),1)
     COMMON_CONFIGURE_OPTIONS += --enable-unicode
     PY_WX_CONFIG_OPTIONS += --unicode
 ifeq ($(WX_UNICODE),1)
     COMMON_CONFIGURE_OPTIONS += --enable-unicode
     PY_WX_CONFIG_OPTIONS += --unicode
-    PY_UNICODE="UNICODE=1"
-    wxpydir := $(pydir)/wx-$(compatible_release)-$(pytoolkit)-unicode
+    PY_UNICODE = UNICODE=1
+    wxpydir := wx-$(compatible_release)-$(pytoolkit)-unicode
 
     # for compatibility with the existing 2.6 packages, we don't use "u" in
     # the Unicode (default) package names
 
     # for compatibility with the existing 2.6 packages, we don't use "u" in
     # the Unicode (default) package names
@@ -141,6 +142,8 @@ else
     # but we do need to use something for non-Unicode packages to distinguish
     # them
     unicode_suffix := -ansi
     # but we do need to use something for non-Unicode packages to distinguish
     # them
     unicode_suffix := -ansi
+    PY_UNICODE = UNICODE=0
+    wxpydir   := wx-$(compatible_release)-$(pytoolkit)
 endif
 
 ifeq ($(WX_OPENGL),1)
 endif
 
 ifeq ($(WX_OPENGL),1)
@@ -149,7 +152,9 @@ else
     GTK_CONFIGURE_OPTIONS += --without-opengl
 endif
 
     GTK_CONFIGURE_OPTIONS += --without-opengl
 endif
 
-# Packages to build:
+#---------------------------------------------------------------------------
+# Packages to build
+
 package_wxbase_lib      := libwxbase$(sorelease)$(unicode_suffix)
 package_wxbase_dev      := libwxbase$(release)$(unicode_suffix)-dev
 package_wxbase_dbg      := libwxbase$(release)$(unicode_suffix)-dbg
 package_wxbase_lib      := libwxbase$(sorelease)$(unicode_suffix)
 package_wxbase_dev      := libwxbase$(release)$(unicode_suffix)-dev
 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_dbg         := libwxgtk$(release)$(unicode_suffix)-dbg
 
 package_gtk_dev         := libwxgtk$(release)$(unicode_suffix)-dev
 package_gtk_dbg         := libwxgtk$(release)$(unicode_suffix)-dbg
 
-
-
+package_headers         := wx$(release)-headers
+package_i18n            := wx$(release)-i18n
+package_doc             := wx$(release)-doc
+package_examples        := wx$(release)-examples
+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_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
 
 
-package_headers         := wx$(release)-headers
-package_i18n            := wx$(release)-i18n
-package_doc             := wx$(release)-doc
-package_examples        := wx$(release)-examples
-package_common           = wx-common
 
 # 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.
 common_packages        := $(package_common) $(package_gtk_py_ver) $(package_gtk_py_tools) $(package_gtk_py_addons)
 
 
 
 # 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.
 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_dbg         := libwxmsw$(release)$(unicode_suffix)-dbg
 package_headers_msw     := wx$(release)-headers-msw
 
 # The packages listed here will not be built by default.
 package_msw_dev         := libwxmsw$(release)$(unicode_suffix)-dev
 package_msw_dbg         := libwxmsw$(release)$(unicode_suffix)-dbg
 package_headers_msw     := wx$(release)-headers-msw
 
 # The packages listed here will not be built by default.
-extra_packages := $(package_gtk_dbg_py)                                      \
-                 $(package_msw_dev) $(package_msw_dbg) $(package_headers_msw)
+extra_packages := $(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_debug        = objs_wxbase_d
 objdir_gtk_shared          = objs_gtk_sh
 objdir_wxbase_shared       = objs_wxbase_sh
 objdir_wxbase_debug        = objs_wxbase_d
 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_install)
 
           $(objdir_msw_shared) $(objdir_msw_static) $(objdir_msw_dbg)     \
           $(objdir_msw_install)
 
+#---------------------------------------------------------------------------
+# Build stamps:
+
 #      note that the i18n package is actually arch indep (once built)
 #      but must be built (and installed) during the arch any phase as
 #      it's pulled out of the wxGTK shared lib package.
 #      note that the i18n package is actually arch indep (once built)
 #      but must be built (and installed) during the arch any phase as
 #      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-gtk-shared-stamp build-gtk-shared-contrib-stamp \
                     build-gtk-debug-stamp build-gtk-debug-contrib-stamp   \
 build_arch_stamps = build-wxbase-shared-stamp build-wxbase-debug-stamp    \
                     build-gtk-shared-stamp build-gtk-shared-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-gtk-lib install-gtk-dev install-gtk-dbg        \
-                   install-headers install-i18n            \
-                   install-gtk-py
+install_all_arch = install-wxbase-lib install-wxbase-dev install-wxbase-dbg    \
+                   install-gtk-lib install-gtk-dev install-gtk-dbg             \
+                   install-headers install-i18n install-gtk-py install-gtk-dbg-py
 
 ifndef DEBIAN_WX_DEFAULT_VERSION
 
 ifndef DEBIAN_WX_DEFAULT_VERSION
-
   install_all_arch += install-common
   install_all_arch += install-common
-
 endif
 
 install_all_indep = install-examples install-doc
 endif
 
 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
-pyd_wxconfig := wx-config $(PY_WX_CONFIG_OPTIONS) --debug
-
-
-#contrib_libs := $(subst CVS,,$(notdir $(wildcard contrib/include/wx/*)))
 
 
+#---------------------------------------------------------------------------
+# Setup Rules:
 
 
-# The Rules:
-
-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: debian/control.in debian/rules
+       sed -e 's/=V/$(release)/g;                                          '\
+'               s/=SOV/$(sorelease)/g;                                      '\
+'               s/=U/$(unicode_suffix)/g;                                   '\
+'               s/=PY_BUILD_DEPS/$(PY_BUILD_DEPS)/g                         '\
                < debian/control.in > debian/control
 
 control-files-stamp: debian/control
                < debian/control.in > debian/control
 
 control-files-stamp: debian/control
@@ -315,21 +304,13 @@ control-files-stamp: debian/control
        done;
        @for f in docs postinst prerm; do                                    \
                echo "generating control file $(package_gtk_py_lib).$$f";    \
        done;
        @for f in docs postinst prerm; do                                    \
                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/=V/$(release)/g;                                  '\
 '                      s/=PRIO/$(alt_prio)/g'                               \
                        < debian/python-wxgtk.$$f                            \
                        > debian/$(package_gtk_py_lib).$$f;                  \
        done;
 '                      s|=WXPYDIR|$(wxpydir)|g;                            '\
 '                      s/=V/$(release)/g;                                  '\
 '                      s/=PRIO/$(alt_prio)/g'                               \
                        < debian/python-wxgtk.$$f                            \
                        > debian/$(package_gtk_py_lib).$$f;                  \
        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";
        @cp debian/python-wxgtk.docs debian/$(package_gtk_dbg_py).docs;
        @for f in docs doc-base; do                                          \
        @echo "generating control file $(package_gtk_dbg_py).docs";
        @cp debian/python-wxgtk.docs debian/$(package_gtk_dbg_py).docs;
        @for f in docs doc-base; do                                          \
@@ -367,6 +348,9 @@ control-files-stamp: debian/control
                        > debian/lintian-override;                           \
        touch $@
 
                        > debian/lintian-override;                           \
        touch $@
 
+#---------------------------------------------------------------------------
+# wx Build rules
+
 build_arch: control-files-stamp $(build_arch_stamps)
 build_all: control-files-stamp $(build_stamps_native)
 
 build_arch: control-files-stamp $(build_arch_stamps)
 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
 # 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
 # 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
 # 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:
        dh_testdir
 
 configure-wxbase-shared-stamp:
        dh_testdir
@@ -488,7 +475,8 @@ build-doc-stamp: build-gtk-shared-stamp
                rm -rf $(objdir_doc_cruft); \
                rm -f $(objdir_doc)/wx$(release)-manual.{con,hh*,htx,ref}; \
        else \
                rm -rf $(objdir_doc_cruft); \
                rm -f $(objdir_doc)/wx$(release)-manual.{con,hh*,htx,ref}; \
        else \
-               mkdir $(objdir_doc); \
+               echo Copying docs...; \
+               mkdir -p $(objdir_doc); \
                cp docs/html/wx/* $(objdir_doc); \
                mv $(objdir_doc)/index.html $(objdir_doc)/wx-$(release)-manual_contents.html; \
        fi
                cp docs/html/wx/* $(objdir_doc); \
                mv $(objdir_doc)/index.html $(objdir_doc)/wx-$(release)-manual_contents.html; \
        fi
@@ -599,16 +587,12 @@ build-msw-dbg-stamp: configure-msw-dbg-stamp
        cd $(objdir_msw_dbg) && $(FAST_MAKE)
        touch $@
 
        cd $(objdir_msw_dbg) && $(FAST_MAKE)
        touch $@
 
+#---------------------------------------------------------------------------
+# Cleaning rules
 
 clean-py:
 
 clean-py:
-       cd wxPython && rm -rf licence build* docs/xml-raw wx/*.py
-
-       # What to do about src/__version__.py ???
-
+       cd wxPython && rm -rf licence build* docs/xml-raw wx/*.py 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
        dh_testdir
 
 clean: debian/control clean-py
        dh_testdir
@@ -635,6 +619,12 @@ clean: debian/control clean-py
        rm -f debian/$(package_msw_dbg).*
        rm -f debian/lintian-override
        rm -f debian/unpack_examples.sh
        rm -f debian/$(package_msw_dbg).*
        rm -f debian/lintian-override
        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_install $(objdir_gtk_install)/include        usr
 
 #      dh_movefiles --sourcedir=$(objdir_univ_install)
        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: build-i18n-stamp install-gtk-shared-stamp
        dh_testdir
 install-i18n: DH_OPTIONS=-p$(package_i18n)
 install-i18n: build-i18n-stamp install-gtk-shared-stamp
        dh_testdir
@@ -844,17 +840,20 @@ install-i18n: build-i18n-stamp install-gtk-shared-stamp
        dh_clean -k
        dh_install $(objdir_gtk_install)/share/locale   usr/share
 
        dh_clean -k
        dh_install $(objdir_gtk_install)/share/locale   usr/share
 
+
 install-doc: DH_OPTIONS=-p$(package_doc)
 install-doc: build-doc-stamp
        dh_testdir
        dh_testroot
        dh_clean -k
 install-doc: DH_OPTIONS=-p$(package_doc)
 install-doc: build-doc-stamp
        dh_testdir
        dh_testroot
        dh_clean -k
+       dh_install $(objdir_doc) usr/share/doc/$(package_doc)
 
        @# Link this monstrosity with an overly obfuscated name
        @# 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 \
                usr/share/doc/$(package_doc)/wx-manual.html/index.html
 
 
        @# Link this monstrosity with an overly obfuscated name
        @# 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 \
                usr/share/doc/$(package_doc)/wx-manual.html/index.html
 
+
 install-examples: DH_OPTIONS=-p$(package_examples)
 install-examples: build-examples-stamp
        dh_testdir
 install-examples: DH_OPTIONS=-p$(package_examples)
 install-examples: build-examples-stamp
        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
-       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)
+#---------------------------------------------------------------------------
+# Tying it all together
 
 
-       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_OPTIONS="-i $(addprefix -N,$(extra_packages))" \
-               binary-common
+       dh_testdir -i
+       dh_testroot -i
+       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_OPTIONS="-a $(addprefix -N,$(extra_packages))" \
-               binary-common
+       dh_testdir -a
+       dh_testroot -a
+       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