From 6de5430bc60de602bbd99ebc124251395aa798b4 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Thu, 1 Jun 2006 22:22:02 +0000 Subject: [PATCH] Updated debian-dist and debian package scripts from 2.6 branch git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- Makefile.in | 5 + debian/README.Debian | 38 +-- debian/README.examples | 2 + debian/changelog | 90 +++++++ debian/control.in | 114 +++++++-- debian/copyright | 4 +- debian/libwxbase-dbg.postinst | 9 + debian/libwxbase-dbg.prerm | 7 + debian/libwxbase-dev.postinst | 9 + debian/libwxbase-dev.prerm | 7 + debian/libwxgtk-dbg.postinst | 4 +- debian/libwxgtk-dev.postinst | 4 +- debian/libwxmsw-dbg.postinst | 4 +- debian/libwxmsw-dev.postinst | 4 +- debian/lintian-override.in | 6 + debian/pycrust.desktop | 9 + debian/pyshell.desktop | 9 + debian/python-wxtools.menu | 7 +- debian/rules | 426 ++++++++++++++++++++++++++-------- debian/unpack_examples.sh.in | 62 +++++ debian/wx-examples.examples | 1 + debian/wxrc-tools.1 | 6 +- debian/xrced.desktop | 9 + 23 files changed, 689 insertions(+), 147 deletions(-) create mode 100644 debian/libwxbase-dbg.postinst create mode 100644 debian/libwxbase-dbg.prerm create mode 100644 debian/libwxbase-dev.postinst create mode 100644 debian/libwxbase-dev.prerm create mode 100644 debian/pycrust.desktop create mode 100644 debian/pyshell.desktop create mode 100644 debian/unpack_examples.sh.in create mode 100644 debian/xrced.desktop diff --git a/Makefile.in b/Makefile.in index 97bc2be7fc..fa7cd42429 100644 --- a/Makefile.in +++ b/Makefile.in @@ -28388,6 +28388,11 @@ debian-dist: debian-native-dist debian-msw-dirs MSW_DIST rm -rf $(DISTDIR)/wxPython/contrib/iewin find $(DISTDIR)/wxPython \( -name "mac" -o -name "msw" \) -print0 | xargs -0 rm -rf + # copy back some *.bkl files we removed above + mkdir -p $(DISTDIR)/build/bakefiles/wxpresets/presets + cp $(WXDIR)/build/bakefiles/wxpresets/presets/*.bkl \ + $(DISTDIR)/build/bakefiles/wxpresets/presets + rm -rf $(DEBIAN_SOURCE_DIR) mv $(DISTDIR) $(DEBIAN_SOURCE_DIR) diff --git a/debian/README.Debian b/debian/README.Debian index f36922339b..c651640840 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -3,15 +3,22 @@ wxwidgets for Debian The following packages are built from the wxWidgets CVS source. +libwxbase wxBase runtime shared libraries +libwxbase-dev extra files and static libs for building wxBase apps +libwxbase-dbg wxBase libraries built with -g and __WXDEBUG__ + libwxgtk wxGTK runtime shared libraries, including selected contrib libs. libwxgtk-dev extra files required for building wxGTK apps libwxgtk-dbg wxGTK libraries built with -g and __WXDEBUG__ -libwxgtk-python Python binding to wxGTK (from 2.2.3 onward, this +python-wxgtk Python binding to wxGTK (from 2.2.3 onward, this obsoletes the libwxgtk-python-contrib package as all python modules are built into a single monolith) +python-wxversion The wxversion.py version selector, new to wxPython2.6 +python-wxtools The ancillary tools from the wxPython distribution. +wx-common common helper files and support applications. wx-headers common header files for building wxWidgets apps wx-doc HTML version of the wxWidgets manual wx-examples wxWidgets and wxPython demos and samples (source) @@ -24,18 +31,12 @@ wx-i18n message catalogs for native language support among others before reporting this as a bug. The following binaries can be built from the source package - with the mingw32 cross compiler, but are not currently - distributed by Debian. If you feel that should change, - please file a bug against the wxwidgets2.6 package, or - append your views to a report already there if you're not - the first to do so. - - [ you can check the current state of affairs at: - http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=wxwidgets2.6 ] + with the mingw32 cross compiler, but are not distributed + as a part of the main Debian distribution. - Oh and, please do *not* file bug reports for these packages - to the Debian bts. But do feel free to email me personally - if you find problems and/or have patches to fix them. + Please do *not* file bug reports for these packages to the + Debian bts. But do feel free to email me personally if you + find problems and/or have patches to fix them. libwxmsw-dev mingw32-cross wxMSW libs. libwxmsw-dbg mingw32-cross wxMSW (debug) libs. @@ -45,7 +46,7 @@ wx-headers-msw extra headers needed for wxMSW. in debian/rules. - It is also possible to build a libwxgtk-dbg-python package. + It is also possible to build a python-wxgtk-dbg package. There are some limitations (like this package cannot be installed concurrently with the release version), but some developers may find such a thing useful in any case. It will transparently @@ -62,9 +63,14 @@ wx-headers-msw extra headers needed for wxMSW. builds will automatically parallelise to suit the number of hosts you have listed in DISTCC_HOSTS. This will work for both native and cross builds of the c++ libraries, if you have the relevant - compilers on all your build hosts. wxPython builds cannot be - parallelised at this stage and will run serially regardless of - your configuration. + compilers on all your build hosts. + You may override that heuristic by setting the CONCURRENCY_LEVEL + environment variable to the number of jobs you wish make to fork. + That variable is also supported by the kernel-package scripts and + is respected for consistency here. + + wxPython builds cannot be parallelised at this stage and will run + serially regardless of your configuration. -- Ron Lee , Sun, 13 Feb 2000 18:40:00 +1030 diff --git a/debian/README.examples b/debian/README.examples index 80c6278664..542d82dd8b 100644 --- a/debian/README.examples +++ b/debian/README.examples @@ -9,6 +9,8 @@ Some of the files have been compressed in accordance with Debian policy regarding documentation, you will need to uncompress such files before building or executing them. +The unpack_examples.sh script is provided to assist with that. + The examples provided here typically show a minimal implementation of the feature(s) they are demonstrating. There are examples of more complete (mini) applications, available in the /wxPython/samples and diff --git a/debian/changelog b/debian/changelog index 11d6e52740..7b222af8f5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,93 @@ +wxwidgets2.7 (2.7.0.0-0rpd) unstable; urgency=low + + * First test build with wx 2.7 tree. + + -- Robin Dunn Thu, 1 Jun 2006 14:23:16 -0700 + +wxwidgets2.6 (2.6.3.2-3rpd) unstable; urgency=low + + * Added icons and *.desktop files for the wpython-wxtools + + -- Robin Dunn Thu, 4 May 2006 15:35:08 -0700 + +wxwidgets2.6 (2.6.3.2) unstable; urgency=low + + * Next try for an upload candidate. + * Fixes FTBFS on GNU/kFreeBSD. Closes: #327638 + * Update fr.po, thanks to Thomas Huriaux and debian-l10n-french. + Closes: #328966 + * Split wxbase back into its own package, after all these years + and just after I drop it, someone finally has a use for it. + Such is life. Closes: #333944 + * Fixes FTBFS with new make. If this ugly quoting is the tradeoff, + I'm itching to learn of the fabulous benefits... + Ack NMU for this from Kurt Roeckx to keep the amd64 transition + rolling while my x86 build machine was painfully dying. Thanks! + Closes: #350695, #361443 + * New FSF address in copyright file. + * Add an index.html link to the doc contents page. Closes: #328896 + * Fixes declarations for friends, as required by C++, and now gcc4.1. + Closes: #358219 + * Add an unpack_examples script, loosely based on one submitted + by Richard Esplin. Closes: #342761 + * Disable the reserved vtable entries (again, but this time its + optional) to retain compatibility with the existing release + in the distro. + * Update build-deps for xorg7. + + -- Ron Lee Fri, 14 Apr 2006 16:50:24 +0930 + +wxwidgets2.6 (2.6.1.2-0.1) unstable; urgency=low + + * Non-maintainer upload. + * Make it build using the new make. Patch from + Daniel Schepler (Closes: #350695) + + -- Kurt Roeckx Sun, 9 Apr 2006 14:04:34 +0200 + +wxwidgets2.6 (2.6.1.2) unstable; urgency=low + + * Fix the build_options.py created by the in tree build. + Closes: #324960 Thanks. + * Move the wx.pth alternative to its own directory where + it can't mess with anything else. + * Pull in changes to dcclient.cpp and window.cpp from HEAD + mostly for gtk2.8 compatibility, but fixes a couple of + other issues too. + + -- Ron Lee Thu, 25 Aug 2005 18:38:31 +0930 + +wxwidgets2.6 (2.6.1.1.1) unstable; urgency=low + + * Reshuffle the wxPython packages again, to comply better with + the python naming policy and improve support for concurrent + installations. The runtime files are now in python-wxgtk2.6-0, + the version selector in python-wxversion and the ancillary + tools in the python-wxtools package. + + Many thanks to Matthias Klose for patches + and patient prodding to get wxpython into better shape for + version transitions. + + * Collapse the wx-common package into an 'unversioned' one also. + + * On its way back into unstable by popular demand. + + -- Ron Lee Sun, 14 Aug 2005 21:25:34 +0930 + +wxwidgets2.6 (2.6.1.1) experimental; urgency=low + + * 2.6.2 prerelease test -- Pain for the Impatient. + + Be warned, wx2.6 has still not branched off the main + development tree, and the API is still in flux. + + This one is to see what else is wrong. + + * Upload to experimental now the -c2 transition is real. + + -- Ron Lee Thu, 23 Jun 2005 14:08:33 +0930 + wxwidgets2.6 (2.6.0) unstable; urgency=low * 8 ... 9 ... 10. Here it comes, ready or not... diff --git a/debian/control.in b/debian/control.in index 90ad810249..de90ea31db 100644 --- a/debian/control.in +++ b/debian/control.in @@ -1,10 +1,63 @@ Source: wxwidgets=V Section: libs Priority: optional -Build-Depends: debhelper (>=4.0), flex, bison, gettext, libgtk2.0-dev, =PY, =PY-dev, zlib1g-dev, libjpeg62-dev, libpng12-dev, libtiff4-dev, xlibmesa-gl-dev | libgl-dev, xlibmesa-glu-dev | libglu-dev, libesd0-dev, libgnomeprintui2.2-dev +Build-Depends: debhelper (>=4.0), flex, bison, gettext, libgtk2.0-dev, =PY, =PY-dev, zlib1g-dev, libjpeg62-dev, libpng12-dev, libtiff4-dev, libgl1-mesa-dev | libgl-dev, libglu1-mesa-dev | libglu-dev, libesd0-dev, libgnomeprintui2.2-dev Maintainer: Ron Lee Standards-Version: 3.6.2.1 +Package: libwxbase=SOV +Architecture: any +Section: libs +Depends: ${shlibs:Depends} +Description: wxBase library (runtime) - non-GUI support classes of wxWidgets toolkit + wxBase is a collection of C++ classes providing basic data structures + (strings, lists, arrays), powerful wxDateTime class for date manipulations, + portable wrappers around many OS-specific functions allowing to build the + same program under all supported folders, wxThread class for writing + multithreaded programs using either Win32 or POSIX threads and much more. + wxBase currently supports the following platforms: Generic Unix (Linux, + FreeBSD, Solaris, HP-UX, ...), win32, and BeOS. + . + This package is only useful for non-GUI apps. It offers a subset of the + classes in libwx_gtk=V for use in console apps and daemons. You do not need + this package to build or use wxWidgets GUI apps. + +Package: libwxbase=V-dev +Architecture: any +Section: libdevel +Depends: wx=V-headers (= ${Source-Version}), libwxbase=SOV (= ${Source-Version}), libc6-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 + (strings, lists, arrays), powerful wxDateTime class for date manipulations, + portable wrappers around many OS-specific functions allowing to build the + same program under all supported folders, wxThread class for writing + multithreaded programs using either Win32 or POSIX threads and much more. + wxBase currently supports the following platforms: Generic Unix (Linux, + FreeBSD, Solaris, HP-UX, ...), win32, and BeOS. + . + This package provides the files needed to compile apps using the wxBase + library. + +Package: libwxbase=V-dbg +Architecture: any +Section: libdevel +Priority: extra +Depends: wx=V-headers (= ${Source-Version}), libc6-dev +Description: wxBase library (debug) - non-GUI support classes of wxWidgets toolkit + wxBase is a collection of C++ classes providing basic data structures + (strings, lists, arrays), powerful wxDateTime class for date manipulations, + portable wrappers around many OS-specific functions allowing to build the + same program under all supported folders, wxThread class for writing + multithreaded programs using either Win32 or POSIX threads and much more. + wxBase currently supports the following platforms: Generic Unix (Linux, + FreeBSD, Solaris, HP-UX, ...) win32, and BeOS. + . + This package provides a debug version of the wxBase library. It is compiled + both with -g for normal debugger tracing and with the __WXDEBUG__ flag which + provides many internal checks by wxWidgets itself that are not performed on + apps compiled with the 'release version' libs in the -dev package. + Package: libwxgtk=SOV Architecture: any Section: libs @@ -22,8 +75,8 @@ Description: wxWidgets Cross-platform C++ GUI toolkit (GTK+ runtime) Package: libwxgtk=V-dev Architecture: any Section: libdevel -Depends: wx=V-headers (= ${Source-Version}), libwxgtk=SOV (= ${Source-Version}), libc6-dev -Suggests: wx=V-common | wx-common, wx=V-doc, libstdc++-dev, gettext, xlibmesa-gl-dev | libgl-dev, xlibmesa-glu-dev | libglu-dev +Depends: wx=V-headers (= ${Source-Version}), libwxgtk=SOV (= ${Source-Version}), libwxbase=V-dev (= ${Source-Version}), libc6-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) wxWidgets (formerly known as wxWindows) is a class library for C++ providing GUI components and other facilities on several popular platforms (and some @@ -37,7 +90,7 @@ Package: libwxgtk=V-dbg Architecture: any Section: libdevel Priority: extra -Depends: wx=V-headers (= ${Source-Version}), libc6-dev +Depends: wx=V-headers (= ${Source-Version}), libwxbase=V-dbg (= ${Source-Version}), libc6-dev 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 @@ -48,10 +101,13 @@ Description: wxWidgets Cross-platform C++ GUI toolkit (GTK+ development) provides many internal checks by wxWidgets itself that are not performed on apps compiled with the 'release version' libs in the -dev package. -Package: libwxgtk=SOV-python +Package: python-wxgtk=V Architecture: any Section: python -Depends: wxpython, =PY, ${shlibs:Depends} +Depends: python-wxversion, =PY, ${shlibs:Depends} +Suggests: wx=V-doc, wx=V-examples, =PY-xml +Conflicts: libwxgtk2.6-0-python, wxpython2.6-0 +Replaces: libwxgtk2.6-0-python, wxpython2.6-0 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 @@ -61,45 +117,57 @@ Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython binding) wxPython runtime support libraries. If you wish to use xrc you'll also need the =PY-xml package installed. -Package: libwxgtk=SOV-dbg-python +Package: python-wxgtk=V-dbg Architecture: any Section: python -Depends: wxpython, =PY, ${shlibs:Depends} -Description: wxWindows Cross-platform C++ GUI toolkit (wxPython binding) - wxWindows is a class library for C++ providing GUI (Graphical User +Depends: python-wxversion, =PY, ${shlibs:Depends} +Conflicts: python-wxgtk=V +Replaces: python-wxgtk=V +Provides: python-wxgtk=V +Description: wxWidgets Cross-platform C++ GUI toolkit (wxPython binding) + 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. It is useful for developers as many common errors may be caught, but you should _never_ upload packages to Debian that depend upon this - package explicitly, use the libwxgtk=SOV-python package instead. + package explicitly, use the python-wxgtk=V package instead. . If you wish to use xrc you'll also need the =PY-xml package installed. -Package: wxpython=SOV -Architecture: any +Package: python-wxversion +Architecture: all Section: python -Depends: libwxgtk=SOV-python, =PY, ${shlibs:Depends} -Suggests: wx=V-doc, wx=V-examples, =PY-xml -Conflicts: wxpython -Replaces: wxpython, libwxgtk2.4-python -Provides: wxpython +Conflicts: wxpython2.6-0 +Replaces: wxpython2.6-0 +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-wxtools +Architecture: all +Section: python +Depends: python-wxgtk=V, ${shlibs:Depends} +Conflicts: wxpython2.6-0 +Replaces: wxpython2.6-0, libwxgtk2.4-python, wxpython2.4-1 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=SOV. + This package provides support utilities and common files for wxPython=V. If you wish to use xrced you'll also need the =PY-xml package installed. -Package: wx=V-common +Package: wx-common Architecture: any Section: devel Depends: ${shlibs:Depends} -Conflicts: wx-common -Replaces: wx-common, wxwin2.4-headers, libwxgtk2.4-contrib-dev, wx2.5-common -Provides: wx-common +Conflicts: wx2.6-common +Replaces: wxwin2.4-headers, libwxgtk2.4-contrib-dev, wx2.6-common Description: wxWidgets Cross-platform C++ GUI toolkit (common support files) wxWidgets (formerly known as wxWindows) is a class library for C++ providing GUI components and other facilities on several popular platforms (and some diff --git a/debian/copyright b/debian/copyright index 031863d2c0..d493a779ea 100644 --- a/debian/copyright +++ b/debian/copyright @@ -100,8 +100,8 @@ under two different licences: You should have received a copy of the GNU Library General Public Licence along with this software, usually in a file named COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA. + write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + Boston, MA 02110-1301, USA. EXCEPTION NOTICE diff --git a/debian/libwxbase-dbg.postinst b/debian/libwxbase-dbg.postinst new file mode 100644 index 0000000000..94e5119d51 --- /dev/null +++ b/debian/libwxbase-dbg.postinst @@ -0,0 +1,9 @@ +#! /bin/sh +set -e + +update-alternatives --install /usr/bin/wx-config wx-config \ + /usr/lib/wx/config/base-unicode-debug-=V \ + $(( =PRIO * 10 + 5 )) + +#DEBHELPER# + diff --git a/debian/libwxbase-dbg.prerm b/debian/libwxbase-dbg.prerm new file mode 100644 index 0000000000..9a34a1a0e6 --- /dev/null +++ b/debian/libwxbase-dbg.prerm @@ -0,0 +1,7 @@ +#! /bin/sh +set -e + +update-alternatives --remove wx-config /usr/lib/wx/config/base-unicode-debug-=V + +#DEBHELPER# + diff --git a/debian/libwxbase-dev.postinst b/debian/libwxbase-dev.postinst new file mode 100644 index 0000000000..6155f762ac --- /dev/null +++ b/debian/libwxbase-dev.postinst @@ -0,0 +1,9 @@ +#! /bin/sh +set -e + +update-alternatives --install /usr/bin/wx-config wx-config \ + /usr/lib/wx/config/base-unicode-release-=V \ + $(( =PRIO * 10 + 7 )) + +#DEBHELPER# + diff --git a/debian/libwxbase-dev.prerm b/debian/libwxbase-dev.prerm new file mode 100644 index 0000000000..99700e7cff --- /dev/null +++ b/debian/libwxbase-dev.prerm @@ -0,0 +1,7 @@ +#! /bin/sh +set -e + +update-alternatives --remove wx-config /usr/lib/wx/config/base-unicode-release-=V + +#DEBHELPER# + diff --git a/debian/libwxgtk-dbg.postinst b/debian/libwxgtk-dbg.postinst index 40705eb543..e1ebbd2eca 100644 --- a/debian/libwxgtk-dbg.postinst +++ b/debian/libwxgtk-dbg.postinst @@ -1,7 +1,9 @@ #! /bin/sh set -e -update-alternatives --install /usr/bin/wx-config wx-config /usr/lib/wx/config/gtk2-unicode-debug-=V 50 +update-alternatives --install /usr/bin/wx-config wx-config \ + /usr/lib/wx/config/gtk2-unicode-debug-=V \ + $(( =PRIO * 10 + 6 )) #DEBHELPER# diff --git a/debian/libwxgtk-dev.postinst b/debian/libwxgtk-dev.postinst index 723d69e011..6b499fe80d 100644 --- a/debian/libwxgtk-dev.postinst +++ b/debian/libwxgtk-dev.postinst @@ -1,7 +1,9 @@ #! /bin/sh set -e -update-alternatives --install /usr/bin/wx-config wx-config /usr/lib/wx/config/gtk2-unicode-release-=V 85 +update-alternatives --install /usr/bin/wx-config wx-config \ + /usr/lib/wx/config/gtk2-unicode-release-=V \ + $(( =PRIO * 10 + 8 )) #DEBHELPER# diff --git a/debian/libwxmsw-dbg.postinst b/debian/libwxmsw-dbg.postinst index d1f013bbed..5f8293f66f 100644 --- a/debian/libwxmsw-dbg.postinst +++ b/debian/libwxmsw-dbg.postinst @@ -1,7 +1,9 @@ #! /bin/sh set -e -update-alternatives --install /usr/bin/wx-config wx-config /usr/lib/wx/config/=H-msw-ansi-debug-=V 30 +update-alternatives --install /usr/bin/wx-config wx-config \ + /usr/lib/wx/config/=H-msw-ansi-debug-=V \ + $(( =PRIO * 10 + 2 )) #DEBHELPER# diff --git a/debian/libwxmsw-dev.postinst b/debian/libwxmsw-dev.postinst index 198238255f..a50ef6c3cf 100644 --- a/debian/libwxmsw-dev.postinst +++ b/debian/libwxmsw-dev.postinst @@ -1,7 +1,9 @@ #! /bin/sh set -e -update-alternatives --install /usr/bin/wx-config wx-config /usr/lib/wx/config/=H-msw-ansi-release-=V 40 +update-alternatives --install /usr/bin/wx-config wx-config \ + /usr/lib/wx/config/=H-msw-ansi-release-=V \ + $(( =PRIO * 10 + 4 )) #DEBHELPER# diff --git a/debian/lintian-override.in b/debian/lintian-override.in index 7eb2344f9b..bcbe61e47f 100644 --- a/debian/lintian-override.in +++ b/debian/lintian-override.in @@ -1,2 +1,8 @@ +libwxbase=V-dbg: non-dev-pkg-with-shlib-symlink +libwxbase=V-dbg: package-name-doesnt-match-sonames +libwxbase=SOV: package-name-doesnt-match-sonames libwxgtk=V-dbg: non-dev-pkg-with-shlib-symlink +libwxgtk=V-dbg: package-name-doesnt-match-sonames +libwxgtk=SOV: package-name-doesnt-match-sonames +python-wxtools: python-script-but-no-python-dep diff --git a/debian/pycrust.desktop b/debian/pycrust.desktop new file mode 100644 index 0000000000..04a4da785f --- /dev/null +++ b/debian/pycrust.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=PyCrust +Comment=GUI Python Shell with Filling +Exec=/usr/bin/pycrust +Icon=/usr/share/pixmaps/pycrust.png +Terminal=false +Type=Application +Categories=Application;Development; +StartupNotify=true diff --git a/debian/pyshell.desktop b/debian/pyshell.desktop new file mode 100644 index 0000000000..d6b28296d5 --- /dev/null +++ b/debian/pyshell.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=PyShell +Comment=GUI Python Shell +Exec=/usr/bin/pyshell +Icon=/usr/share/pixmaps/pyshell.png +Terminal=false +Type=Application +Categories=Application;Development; +StartupNotify=true diff --git a/debian/python-wxtools.menu b/debian/python-wxtools.menu index 91a7eefc8d..6696bb06f0 100644 --- a/debian/python-wxtools.menu +++ b/debian/python-wxtools.menu @@ -1,7 +1,10 @@ ?package(python-wxtools):needs="X11" section="Apps/Programming"\ - title="pycrust" command="/usr/bin/pycrust" + title="pycrust" command="/usr/bin/pycrust"\ + icon="/usr/share/pixmaps/pycrust.png" ?package(python-wxtools):needs="X11" section="Apps/Programming"\ - title="pyshell" command="/usr/bin/pyshell" + title="pyshell" command="/usr/bin/pyshell"\ + icon="/usr/share/pixmaps/pyshell.png" ?package(python-wxtools):needs="X11" section="Apps/Programming"\ title="xrced" command="/usr/bin/xrced" + icon="/usr/share/pixmaps/xrced.png" diff --git a/debian/rules b/debian/rules index a3b59b9963..3e9d62b5e5 100755 --- a/debian/rules +++ b/debian/rules @@ -9,23 +9,41 @@ #export DH_VERBOSE=1 export DH_OPTIONS -ifdef DISTCC_HOSTS +ifdef CONCURRENCY_LEVEL - #JOB_COUNT := $(shell set $${DISTCC_HOSTS} > /dev/null 2>&1 ; echo $$(($$\# + $$\#))) - # Nearly as fast, but doesn't raise the room temperature - # or saturate the build machines quite so much. + # 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 + + # Otherwise, if they have a cluster, try to put it to good use. JOB_COUNT := $(shell set $${DISTCC_HOSTS} > /dev/null 2>&1 ; echo $$\#) - FAST_MAKE = $(MAKE) -j $(JOB_COUNT) -else + # Not much faster, but it might keep you warm in winter... + #JOB_COUNT := $(shell set $${DISTCC_HOSTS} > /dev/null 2>&1 ; echo $$(($$\# + $$\#))) - FAST_MAKE = $(MAKE) +endif +ifdef JOB_COUNT + FAST_MAKE = $(MAKE) -j $(JOB_COUNT) +else + FAST_MAKE = $(MAKE) endif -include debian/python-version +# If another source package is to supply the common binary packages +# for a particular Debian release, then define this variable to indicate +# the $(release) that is expected to provide it. Do not define it at +# 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 + + # This will extract a flavour out of the name of the source directory # and flavour the packages and binaries with it. 'Official' builds # should use a source dir of the form wxwidgets$RELEASE-$VERSION. @@ -39,36 +57,79 @@ endif DEBIAN_WXFLAVOUR := $(shell pwd | sed -e 's@.*/wxwidgets[0-9.]\+-\?\(.*\)-[0-9.]\+-\?.*@\1@') release := $(shell dpkg-parsechangelog | sed -n 's/^Source: wxwidgets//p') -soversion := $(shell grep '^WX_CURRENT=' configure.in | sed 's/WX_CURRENT=\([0-9]\+\).*/\1/') -sorelease := $(release:%-$(DEBIAN_WXFLAVOUR)=%).$(soversion)$(addprefix -,$(DEBIAN_WXFLAVOUR)) +# This is broken completely now by bakefiles changes. Until we add +# some hocus pocus to the main tree, to export these values from it +# again, we approximate its behaviour (fairly precisely fwiw) to +# specify $soversion below. Re-automate if incompatible changes +# result in it actually changing. +#soversion := $(shell grep '^WX_CURRENT=' configure.in | sed 's/WX_CURRENT=\([0-9]\+\).*/\1/') +soversion := 0 +sorelease := $(release:%-$(DEBIAN_WXFLAVOUR)=%)-$(soversion)$(addprefix -,$(DEBIAN_WXFLAVOUR)) + +# Base value for alternative priorities. +alt_prio := $(subst .,,$(release)) + +pytoolkit := gtk2 pydir := usr/lib/$(python_ver)/site-packages -wxpydir := $(pydir)/wx-$(release)-gtk2-unicode +wxpydir := $(pydir)/wx-$(release)-$(pytoolkit)-unicode -cross_host = i586-mingw32msvc -cross_build = $(shell ./config.guess) +cross_host := i586-mingw32msvc +cross_build := $(shell ./config.guess) config_cache = ../config_deb.cache config_cache_cross = ../config_deb_cross.cache + # Packages to build: -package_gtk_lib = libwxgtk$(sorelease) -package_gtk_dev = libwxgtk$(release)-dev -package_gtk_dbg = libwxgtk$(release)-dbg -package_gtk_py_lib = python-wxgtk$(sorelease) -package_gtk_py = wxpython$(sorelease) -package_common = wx$(release)-common -package_headers = wx$(release)-headers -package_i18n = wx$(release)-i18n -package_doc = wx$(release)-doc -package_examples = wx$(release)-examples - -package_gtk_dbg_py = python-wxgtk$(sorelease)-dbg -package_msw_dev = libwxmsw$(release)-dev -package_msw_dbg = libwxmsw$(release)-dbg -package_headers_msw = wx$(release)-headers-msw +package_wxbase_lib := libwxbase$(sorelease) +package_wxbase_dev := libwxbase$(release)-dev +package_wxbase_dbg := libwxbase$(release)-dbg + +package_gtk_lib := libwxgtk$(sorelease) +package_gtk_dev := libwxgtk$(release)-dev +package_gtk_dbg := libwxgtk$(release)-dbg + + + + +package_gtk_py_lib := python-wxgtk$(release) +package_gtk_py_ver = python-wxversion +package_gtk_py_tools = python-wxtools + +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_dbg_py := python-wxgtk$(release)-dbg + + + +package_msw_dev := libwxmsw$(release)-dev +package_msw_dbg := libwxmsw$(release)-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) + +ifdef DEBIAN_WX_DEFAULT_VERSION + + extra_packages += $(common_packages) + +endif + # Build directories: +objdir_wxbase_shared = objs_wxbase_sh +objdir_wxbase_debug = objs_wxbase_d objdir_gtk_shared = objs_gtk_sh objdir_gtk_debug = objs_gtk_d objdir_gtk_install = objs_gtk_install @@ -82,48 +143,67 @@ objdir_msw_static = objs_msw_st objdir_msw_dbg = objs_msw_d objdir_msw_install = objs_msw_install -objdirs = $(objdir_gtk_shared) $(objdir_gtk_debug) $(objdir_gtk_install) \ - $(objdir_doc_cruft) $(objdir_doc) $(objdir_examples) \ - $(objdir_msw_shared) $(objdir_msw_static) $(objdir_msw_dbg) \ - $(objdir_msw_install) +objdirs := $(objdir_wxbase_shared) $(objdir_wxbase_debug) \ + $(objdir_gtk_shared) $(objdir_gtk_debug) $(objdir_gtk_install) \ + $(objdir_doc_cruft) $(objdir_doc) $(objdir_examples) \ + $(objdir_msw_shared) $(objdir_msw_static) $(objdir_msw_dbg) \ + $(objdir_msw_install) # 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. +# +# similarly some of the wxpython packages are arch indep too, but +# all files for it are installed during the arch any phase. # Build stamps: -build_arch_stamps = build-gtk-shared-stamp build-gtk-shared-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_indep_stamps = build-examples-stamp build-doc-stamp -build_indep_stamps = build-examples-stamp build-doc-stamp - -build_cross_stamps = build-msw-shared-stamp build-msw-static-stamp build-msw-dbg-stamp +build_cross_stamps = build-msw-shared-stamp build-msw-static-stamp build-msw-dbg-stamp -build_stamps_native = $(build_arch_stamps) $(build_indep_stamps) +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_all_arch = install-gtk-lib install-gtk-dev install-gtk-dbg \ - install-common install-headers install-i18n \ +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_indep = install-examples install-doc +ifndef DEBIAN_WX_DEFAULT_VERSION + + install_all_arch += install-common + +endif + +install_all_indep = install-examples install-doc -install_all_cross = install-msw-dev install-msw-dbg install-headers-msw +install_all_cross = install-msw-dev install-msw-dbg install-headers-msw -install_all_native = $(install_all_arch) $(install_all_indep) +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 --version=$(release) --toolkit=$(pytoolkit) \ + --unicode --debug=no --static=no +pyd_wxconfig := wx-config --version=$(release) --toolkit=$(pytoolkit) \ + --unicode --debug --static=no + + #contrib_libs := $(subst CVS,,$(notdir $(wildcard contrib/include/wx/*))) @@ -133,40 +213,58 @@ 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' \ + sed -e 's/=V/$(release)/g;s/=SOV/$(sorelease)/g;s/=PY/$(python_ver)/g'\ < debian/control.in > debian/control control-files-stamp: debian/control dh_testdir + @for f in postinst prerm; do \ + echo "generating control file $(package_wxbase_dev).$$f"; \ + sed -e 's/=V/$(release)/g; '\ +' s/=PRIO/$(alt_prio)/g' \ + < debian/libwxbase-dev.$$f \ + > debian/$(package_wxbase_dev).$$f; \ + done; + @for f in postinst prerm; do \ + echo "generating control file $(package_wxbase_dbg).$$f"; \ + sed -e 's/=V/$(release)/g; '\ +' s/=PRIO/$(alt_prio)/g' \ + < debian/libwxbase-dbg.$$f \ + > debian/$(package_wxbase_dbg).$$f; \ + done; @for f in postinst prerm; do \ echo "generating control file $(package_gtk_dev).$$f"; \ - sed -e 's/=V/$(release)/g' < debian/libwxgtk-dev.$$f \ + sed -e 's/=V/$(release)/g; '\ +' s/=PRIO/$(alt_prio)/g' \ + < debian/libwxgtk-dev.$$f \ > debian/$(package_gtk_dev).$$f; \ done; @for f in postinst prerm; do \ echo "generating control file $(package_gtk_dbg).$$f"; \ - sed -e 's/=V/$(release)/g' < debian/libwxgtk-dbg.$$f \ + sed -e 's/=V/$(release)/g; '\ +' s/=PRIO/$(alt_prio)/g' \ + < debian/libwxgtk-dbg.$$f \ > debian/$(package_gtk_dbg).$$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;s|=WXPYDIR|$(wxpydir)|g;' \ - -e 's/=V/$(release)/g;s/=SOV/$(sorelease)/g' \ + sed -e 's/=PY/$(python_ver)/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; - @echo "generating control file $(package_gtk_py).menu"; \ - sed -e 's/=SOV/$(sorelease)/g' < debian/python-wxtools.menu \ - > debian/$(package_gtk_py).menu; - @for f in docs postinst; do \ + @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/=SOV/$(sorelease)/g' \ - < debian/python-wxgtk.$$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).prerm"; \ - sed 's/=SOV/$(sorelease)/g' < debian/python-wxgtk-dbg.prerm \ - > debian/$(package_gtk_dbg_py).prerm + @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_doc).$$f"; \ sed -e 's/=V/$(release)/g' < debian/wx-doc.$$f \ @@ -178,19 +276,27 @@ control-files-stamp: debian/control done; @for f in postinst prerm; do \ echo "generating control file $(package_msw_dev).$$f"; \ - sed -e 's/=V/$(release)/g;s/=H/$(cross_host)/g' < debian/libwxmsw-dev.$$f \ + sed -e 's/=V/$(release)/g; '\ +' s/=H/$(cross_host)/g; '\ +' s/=PRIO/$(alt_prio)/g' \ + < debian/libwxmsw-dev.$$f \ > debian/$(package_msw_dev).$$f; \ done; @for f in postinst prerm; do \ echo "generating control file $(package_msw_dbg).$$f"; \ - sed -e 's/=V/$(release)/g;s/=H/$(cross_host)/g' < debian/libwxmsw-dbg.$$f \ + sed -e 's/=V/$(release)/g; '\ +' s/=H/$(cross_host)/g; '\ +' s/=PRIO/$(alt_prio)/g' \ + < debian/libwxmsw-dbg.$$f \ > debian/$(package_msw_dbg).$$f; \ done; # @echo "generating control file $(package_common).menu"; \ # sed -e 's/=V/$(release)/g' < debian/wx-common.menu \ # > debian/$(package_common).menu; @echo "generating control file lintian-override"; \ - sed -e 's/=V/$(release)/g' < debian/lintian-override.in \ + sed -e 's/=V/$(release)/g; '\ +' s/=SOV/$(sorelease)/g' \ + < debian/lintian-override.in \ > debian/lintian-override; \ touch $@ @@ -206,6 +312,51 @@ build_all: control-files-stamp $(build_stamps_native) build: build_arch +# The wx2.6 build system makes us run around in circles to get a separate +# 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. + +configure-wxbase-shared-stamp: + dh_testdir + mkdir -p $(objdir_wxbase_shared) + cd $(objdir_wxbase_shared) \ + && ../configure --prefix=/usr \ + --cache-file=$(config_cache) \ + --with-flavour=$(DEBIAN_WXFLAVOUR) \ + --disable-gui \ + --with-zlib=sys \ + --enable-unicode \ + --disable-reserved_virtual + touch $@ + +build-wxbase-shared-stamp: configure-wxbase-shared-stamp + dh_testdir + # Nothing to build here, move along... + #cd $(objdir_wxbase_shared) && $(FAST_MAKE) + touch $@ + +configure-wxbase-debug-stamp: + dh_testdir + mkdir -p $(objdir_wxbase_debug) + cd $(objdir_wxbase_debug) \ + && ../configure --prefix=/usr \ + --cache-file=$(config_cache) \ + --with-flavour=$(DEBIAN_WXFLAVOUR) \ + --disable-gui \ + --enable-debug \ + --with-zlib=sys \ + --enable-unicode \ + --disable-reserved_virtual + touch $@ + +build-wxbase-debug-stamp: configure-wxbase-debug-stamp + dh_testdir + # Nothing to build here, move along... + #cd $(objdir_wxbase_debug) && $(FAST_MAKE) + touch $@ + configure-gtk-shared-stamp: dh_testdir mkdir -p $(objdir_gtk_shared) @@ -220,7 +371,8 @@ configure-gtk-shared-stamp: --with-libjpeg=sys \ --with-libpng=sys \ --with-libtiff=sys \ - --enable-unicode + --enable-unicode \ + --disable-reserved_virtual touch $@ build-gtk-shared-stamp: configure-gtk-shared-stamp @@ -244,7 +396,8 @@ configure-gtk-debug-stamp: --with-libpng=sys \ --with-libtiff=sys \ --enable-debug \ - --enable-unicode + --enable-unicode \ + --disable-reserved_virtual touch $@ build-gtk-debug-stamp: configure-gtk-debug-stamp @@ -278,7 +431,7 @@ build-gtk-py-stamp: build-gtk-shared-stamp purge-dbg-py cd wxPython \ && $(python_ver) ./setup.py build \ WX_CONFIG='$(wxconfig)' \ - WXPORT=gtk2 \ + WXPORT=$(pytoolkit) \ UNICODE=1 \ FLAVOUR=$(DEBIAN_WXFLAVOUR) touch $@ @@ -320,6 +473,11 @@ build-examples-stamp: build-gtk-shared-stamp cp -a wxPython/demo $(objdir_examples)/wxPython + echo "generating install_examples.sh script"; + sed -e 's/=V/$(release)/g' < debian/unpack_examples.sh.in \ + > debian/unpack_examples.sh + chmod 755 debian/unpack_examples.sh + touch $@ build-i18n-stamp: build-gtk-shared-stamp @@ -345,7 +503,7 @@ build-gtk-dbg-py-stamp: build-gtk-debug-stamp purge-release-py cd wxPython \ && $(python_ver) ./setup.py build \ WX_CONFIG='$(wxconfig-dbg)' \ - WXPORT=gtk2 \ + WXPORT=$(pytoolkit) \ UNICODE=1 \ FLAVOUR=$(addsuffix -,$(DEBIAN_WXFLAVOUR))dbg touch $@ @@ -421,12 +579,13 @@ clean: debian/control clean-py rm -f $(objdir_i18n)/*.mo dh_clean + rm -f debian/$(package_wxbase_lib).* + rm -f debian/$(package_wxbase_dev).* + rm -f debian/$(package_wxbase_dbg).* rm -f debian/$(package_gtk_lib).* rm -f debian/$(package_gtk_dev).* rm -f debian/$(package_gtk_dbg).* rm -f debian/$(package_gtk_py_lib).* - rm -f debian/$(package_gtk_py).* - rm -f debian/$(package_common).* rm -f debian/$(package_headers).* rm -f debian/$(package_i18n).* rm -f debian/$(package_doc).* @@ -435,11 +594,45 @@ clean: debian/control clean-py rm -f debian/$(package_msw_dev).* rm -f debian/$(package_msw_dbg).* rm -f debian/lintian-override + rm -f debian/unpack_examples.sh install_arch: build_arch $(install_all_arch) install: build_all $(install_all_native) + +install-wxbase-lib: DH_OPTIONS=-p$(package_wxbase_lib) +install-wxbase-lib: build-wxbase-shared-stamp install-gtk-shared-stamp + dh_testdir + dh_testroot + dh_clean -k + @# No, this is not a typo, we steal these libs from the gtk build. + dh_install $(objdir_gtk_install)/lib/libwx_base*.so.* usr/lib + dh_installdirs usr/share/lintian/overrides + cp debian/lintian-override debian/$(package_wxbase_lib)/usr/share/lintian/overrides/$(package_wxbase_lib) + +install-wxbase-dev: DH_OPTIONS=-p$(package_wxbase_dev) +install-wxbase-dev: build-wxbase-shared-stamp install-gtk-shared-stamp + dh_testdir + dh_testroot + dh_clean -k + @# No, this is not a typo, we steal these libs from the gtk build. + dh_install $(objdir_gtk_install)/lib/libwx_base*.so usr/lib + dh_install $(objdir_wxbase_shared)/lib/wx/include usr/lib/wx + dh_install $(objdir_wxbase_shared)/lib/wx/config/base* usr/lib/wx/config + +install-wxbase-dbg: DH_OPTIONS=-p$(package_wxbase_dbg) +install-wxbase-dbg: build-wxbase-debug-stamp + dh_testdir + dh_testroot + dh_clean -k + @# No, this is not a typo, we steal these libs from the gtk debug build. + dh_install $(objdir_gtk_debug)/lib/libwx_base* usr/lib + dh_install $(objdir_wxbase_debug)/lib/wx/include usr/lib/wx + dh_install $(objdir_wxbase_debug)/lib/wx/config/base* usr/lib/wx/config + dh_installdirs usr/share/lintian/overrides + cp debian/lintian-override debian/$(package_wxbase_dbg)/usr/share/lintian/overrides/$(package_wxbase_dbg) + install-gtk-shared-stamp: build-gtk-shared-stamp build-gtk-shared-contrib-stamp dh_testdir mkdir -p $(objdir_gtk_install) @@ -454,16 +647,16 @@ install-gtk-lib: install-gtk-shared-stamp dh_testdir dh_testroot dh_clean -k - dh_installdirs - dh_install $(objdir_gtk_install)/lib/libwx_*.so.* usr/lib + dh_install $(objdir_gtk_install)/lib/libwx_gtk*.so.* usr/lib + dh_installdirs usr/share/lintian/overrides + cp debian/lintian-override debian/$(package_gtk_lib)/usr/share/lintian/overrides/$(package_gtk_lib) install-gtk-dev: DH_OPTIONS=-p$(package_gtk_dev) install-gtk-dev: install-gtk-shared-stamp dh_testdir dh_testroot dh_clean -k - dh_installdirs - dh_install $(objdir_gtk_install)/lib/libwx_*.so usr/lib + dh_install $(objdir_gtk_install)/lib/libwx_gtk*.so usr/lib dh_install $(objdir_gtk_install)/lib/wx/include usr/lib/wx dh_install $(objdir_gtk_install)/lib/wx/config/gtk* usr/lib/wx/config @@ -472,10 +665,10 @@ install-gtk-dbg: build-gtk-debug-stamp build-gtk-debug-contrib-stamp dh_testdir dh_testroot dh_clean -k - dh_installdirs usr/share/lintian/overrides - dh_install $(objdir_gtk_debug)/lib/libwx_* usr/lib + dh_install $(objdir_gtk_debug)/lib/libwx_gtk* usr/lib dh_install $(objdir_gtk_debug)/lib/wx/include usr/lib/wx dh_install $(objdir_gtk_debug)/lib/wx/config/gtk* usr/lib/wx/config + dh_installdirs usr/share/lintian/overrides cp debian/lintian-override debian/$(package_gtk_dbg)/usr/share/lintian/overrides/$(package_gtk_dbg) @@ -484,31 +677,46 @@ install-gtk-py-lib: build-gtk-py-stamp dh_testdir dh_testroot dh_clean -k - dh_installdirs + dh_installdirs usr/lib/wx/python cd wxPython \ && $(python_ver) ./setup.py install \ --prefix=`pwd`/../debian/$(package_gtk_py_lib)/usr \ WX_CONFIG='$(wxconfig)' \ - WXPORT=gtk2 \ + SYS_WX_CONFIG='$(py_wxconfig)' \ + WXPORT=$(pytoolkit) \ UNICODE=1 \ FLAVOUR=$(DEBIAN_WXFLAVOUR) + mv debian/$(package_gtk_py_lib)/$(pydir)/wx.pth \ + debian/$(package_gtk_py_lib)/usr/lib/wx/python/wx$(release).pth + find debian/$(package_gtk_py_lib)/$(pydir) -name '*.py?' -exec rm '{}' ';' # This is rather bogus, its included in the main copyright file now though. rm -f debian/$(package_gtk_py_lib)/$(wxpydir)/wx/tools/XRCed/license.txt -install-gtk-py: DH_OPTIONS=-p$(package_gtk_py) -install-gtk-py: install-gtk-py-lib +install-gtk-py-ver: DH_OPTIONS=-p$(package_gtk_py_ver) +install-gtk-py-ver: install-gtk-py-lib dh_testdir dh_testroot dh_clean -k - dh_installdirs - dh_movefiles --sourcedir=debian/$(package_gtk_py_lib) \ - usr/bin \ - $(pydir)/{wxversion.py,wx.pth} - rm -r debian/$(package_gtk_py_lib)/usr/bin +ifndef DEBIAN_WX_DEFAULT_VERSION + + dh_movefiles --sourcedir=debian/$(package_gtk_py_lib) $(pydir)/wxversion.py +else + rm debian/$(package_gtk_py_lib)/$(pydir)/wxversion.py +endif + +install-gtk-py-tools: DH_OPTIONS=-p$(package_gtk_py_tools) +install-gtk-py-tools: install-gtk-py-ver + dh_testdir + dh_testroot + dh_clean -k + +ifndef DEBIAN_WX_DEFAULT_VERSION + + dh_movefiles --sourcedir=debian/$(package_gtk_py_lib) usr/bin dh_installman debian/wxPython-tools.1 dh_link usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2py.1 \ @@ -523,13 +731,29 @@ install-gtk-py: install-gtk-py-lib usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pywrap.1 \ usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pywxrc.1 + dh_installdirs usr/share/lintian/overrides + cp debian/lintian-override debian/$(package_gtk_py_tools)/usr/share/lintian/overrides/$(package_gtk_py_tools) +endif + mkdir -p debian/$(package_gtk_py_tools)/usr/share/pixmaps + mkdir -p debian/$(package_gtk_py_tools)/usr/share/applications + + cp wxPython/wx/py/PyCrust_32.png debian/$(package_gtk_py_tools)/usr/share/pixmaps/pycrust.png + cp wxPython/wx/py/PyCrust_32.png debian/$(package_gtk_py_tools)/usr/share/pixmaps/pyshell.png + cp wxPython/wx/tools/XRCed/XRCed_32.png debian/$(package_gtk_py_tools)/usr/share/pixmaps/xrced.png + cp debian/pycrust.desktop debian/$(package_gtk_py_tools)/usr/share/applications + cp debian/pyshell.desktop debian/$(package_gtk_py_tools)/usr/share/applications + cp debian/xrced.desktop debian/$(package_gtk_py_tools)/usr/share/applications + + rm -r debian/$(package_gtk_py_lib)/usr/bin + +install-gtk-py: install-gtk-py-tools + install-common: DH_OPTIONS=-p$(package_common) install-common: install-gtk-shared-stamp dh_testdir dh_testroot dh_clean -k - dh_installdirs dh_install $(objdir_gtk_install)/share/aclocal usr/share dh_installman debian/wx-config.1 @@ -544,7 +768,6 @@ install-headers: install-gtk-shared-stamp dh_testdir dh_testroot dh_clean -k - dh_installdirs # The only way to be really sure we get the univ headers correct is to install # them. Do that in a scratch dirs, and move the gtk ones last, so at least @@ -561,7 +784,6 @@ install-i18n: build-i18n-stamp install-gtk-shared-stamp dh_testdir dh_testroot dh_clean -k - dh_installdirs dh_install $(objdir_gtk_install)/share/locale usr/share install-doc: DH_OPTIONS=-p$(package_doc) @@ -569,29 +791,36 @@ install-doc: build-doc-stamp dh_testdir dh_testroot dh_clean -k - dh_installdirs + + @# 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 dh_testroot dh_clean -k - dh_installdirs install-gtk-dbg-py: DH_OPTIONS=-p$(package_gtk_dbg_py) install-gtk-dbg-py: build-gtk-dbg-py-stamp dh_testdir dh_testroot dh_clean -k - dh_installdirs + dh_installdirs usr/lib/wx/python cd wxPython \ && $(python_ver) ./setup.py install \ --prefix=`pwd`/../debian/$(package_gtk_dbg_py)/usr \ WX_CONFIG='$(wxconfig-dbg)' \ - WXPORT=gtk2 \ + SYS_WX_CONFIG='$(pyd_wxconfig)' \ + WXPORT=$(pytoolkit) \ UNICODE=1 \ FLAVOUR=$(addsuffix -,$(DEBIAN_WXFLAVOUR))dbg + mv debian/$(package_gtk_py_lib)/$(pydir)/wx.pth \ + debian/$(package_gtk_py_lib)/usr/lib/wx/python/wx$(release)-dbg.pth + find debian/$(package_gtk_dbg_py)/$(pydir) -name '*.py?' -exec rm '{}' ';' rm -rf usr/bin $(pydir)/{wxversion.py,wx.pth} @@ -604,7 +833,6 @@ install-msw-dev: build-msw-shared-stamp build-msw-static-stamp dh_testdir dh_testroot dh_clean -k - dh_installdirs dh_install $(objdir_msw_shared)/lib/*.dll* usr/$(cross_host)/lib dh_install $(objdir_msw_shared)/lib/wx/include usr/$(cross_host)/lib/wx dh_install $(objdir_msw_shared)/lib/wx/config/$(cross_host)* usr/$(cross_host)/lib/wx/config @@ -629,7 +857,6 @@ install-msw-dbg: build-msw-dbg-stamp dh_testdir dh_testroot dh_clean -k - dh_installdirs dh_install $(objdir_msw_dbg)/lib/*.dll* usr/$(cross_host)/lib dh_install $(objdir_msw_dbg)/lib/wx/include usr/$(cross_host)/lib/wx dh_install $(objdir_msw_dbg)/lib/wx/config/$(cross_host)* usr/$(cross_host)/lib/wx/config @@ -677,7 +904,8 @@ binary-common: @# 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_msw_dev) -N$(package_msw_dbg) + dh_strip -N$(package_gtk_dbg) -N$(package_wxbase_dbg) \ + -N$(package_msw_dev) -N$(package_msw_dbg) dh_compress dh_fixperms @@ -685,8 +913,8 @@ binary-common: @# 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) -V"; \ - dh_makeshlibs -N$(package_gtk_py) -V; \ + echo "dh_makeshlibs -N$(package_gtk_py_lib) -V"; \ + dh_makeshlibs -N$(package_gtk_py_lib) -V; \ fi dh_installdeb @@ -700,18 +928,19 @@ binary-common: # building the arch specific package files needed to create them. binary-indep: build_all install $(MAKE) -f debian/rules \ - DH_OPTIONS="-i -N$(package_gtk_dbg_py) -N$(package_msw_dev) -N$(package_msw_dbg) -N$(package_headers_msw)" \ + DH_OPTIONS="-i $(addprefix -N,$(extra_packages))" \ binary-common # Build just the architecture-dependent files here. binary-arch: build_arch install_arch $(MAKE) -f debian/rules \ - DH_OPTIONS="-a -N$(package_gtk_dbg_py) -N$(package_msw_dev) -N$(package_msw_dbg) -N$(package_headers_msw)" \ + DH_OPTIONS="-a $(addprefix -N,$(extra_packages))" \ binary-common # Build all packages target. binary: binary-arch binary-indep + # This is a special target for building the wxMSW-cross packages. # It's not currently called during the official package build run # but may be run separately to build the extra packages. @@ -761,10 +990,13 @@ binary-fast:control-files-stamp install-gtk-dbg install-msw-dev install-headers .PHONY: build build_all build_arch \ clean clean-py purge-release-py purge-dbg-py \ binary-indep binary-arch binary binary-common \ - binary-gtk binary-gtk-dev binary-gtk-dbg binary-doc binary-cross \ + binary-gtk binary-gtk-dev binary-gtk-dbg \ + binary-wxbase binary-wxbase-dev binary-wxbase-dbg \ + binary-doc binary-cross binary-dbg-py \ install install_arch install-gtk-lib install-gtk-dev \ install-gtk-dbg \ - install-gtk-py install-gtk-py-lib install-gtk-dbg-py \ + install-gtk-py install-gtk-py-tools install-gtk-py-ver \ + install-gtk-py-lib install-gtk-dbg-py \ install-common install-headers install-i18n install-doc \ install-examples install-msw-dev install-msw-dbg install-headers-msw diff --git a/debian/unpack_examples.sh.in b/debian/unpack_examples.sh.in new file mode 100644 index 0000000000..3761b5e9d4 --- /dev/null +++ b/debian/unpack_examples.sh.in @@ -0,0 +1,62 @@ +#!/bin/bash +# +# Unpack compressed examples from the packaged documentation +# into a directory where the user can compile and/or run them. + +WX_EXAMPLES_DIR="/usr/share/doc/wx=V-examples/examples" + +usage() { + echo "$0 [subdir [subdir] ...] dest_dir" + echo " subdir - a subdir of $WX_EXAMPLES_DIR to unpack." + echo " dest_dir - location for the unpacked examples." + echo + echo "If no subdirs are supplied explicitly, all examples will be unpacked." + exit 1 +} + +if [ $# -lt 1 ]; then + usage +fi + +while [ $# -gt 1 ]; do + SUBDIRS="$SUBDIRS $1" + shift +done + +DESTDIR="$1" + +if [ -e $DESTDIR ]; then + echo "Destination $DESTDIR already exists. Cowardly exiting." + exit 2 +fi + +if [ -z "$SUBDIRS" ]; then + for d in $(cd $WX_EXAMPLES_DIR 2> /dev/null && ls -d * 2> /dev/null); do + [ -d "$WX_EXAMPLES_DIR/$d" ] && SUBDIRS="$SUBDIRS $d" + done +else + for d in $SUBDIRS; do + if [ -d "$WX_EXAMPLES_DIR/$d" ]; then + _SUBDIRS="$d" + else + echo "Subdir $WX_EXAMPLES_DIR/$d does not exist. Skipping." + fi + done + SUBDIRS="$_SUBDIRS" +fi + +if [ -z "$SUBDIRS" ]; then + echo "Nothing to copy from $WX_EXAMPLES_DIR. Aborting." + exit 1 +fi + +mkdir -p $DESTDIR +for d in $SUBDIRS; do + echo "Copying $WX_EXAMPLES_DIR/$d to $DESTDIR" + cp -pr "$WX_EXAMPLES_DIR/$d" "$DESTDIR" +done + +echo -n "Unpacking... " +find $DESTDIR -name "*.gz" -exec gunzip {} \; +echo "done." + diff --git a/debian/wx-examples.examples b/debian/wx-examples.examples index c015b128b8..8d410c7e38 100644 --- a/debian/wx-examples.examples +++ b/debian/wx-examples.examples @@ -1,4 +1,5 @@ debian/README.examples +debian/unpack_examples.sh docs/examples/samples docs/examples/wxPython diff --git a/debian/wxrc-tools.1 b/debian/wxrc-tools.1 index 0686af213c..023fc55025 100644 --- a/debian/wxrc-tools.1 +++ b/debian/wxrc-tools.1 @@ -4,9 +4,9 @@ wxrc \- command line compiler for wx xml resources. .SH DESCRIPTION The real documentation for this tool (what of it that exists) is available -in the wxWindows manual, which is packaged in html format in the wxwin2.4-doc -package and installed in /usr/share/doc/wxwin2.4-doc/wxWindows-manual.html on -Debian systems. +in the wxWindows manual, which is packaged in html format in the wx2.6-doc +package and installed in /usr/share/doc/wx2.6-doc/wx-manual.html on Debian +systems. .SH COPYRIGHT This manpage was written by Ron Lee for the Debian GNU/Linux diff --git a/debian/xrced.desktop b/debian/xrced.desktop new file mode 100644 index 0000000000..4ab7131cce --- /dev/null +++ b/debian/xrced.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=XRCed +Comment=wxPython XRC resource editor and UI designer +Exec=/usr/bin/xrced +Icon=/usr/share/pixmaps/xrced.png +Terminal=false +Type=Application +Categories=Application;Development; +StartupNotify=true -- 2.45.2