Package: matchbox-window-manager
Version: 1.2-4
Severity: wishlist
Tags: d-i patch

I'm currently working on Debian Installer for the FreeRunner, and, as it
doesn't have a physical keyboard, the graphical installer would be useless
without an on-screen keyboard.
I chose to use matchbox-keyboard to provide an on-screen keyboard, as it has
few dependencies and provides a GTK input method module (so the screen can pop
only when needed).
However, in order to run properly, matchbox-keyboard needs a WM supporting a
precise featureset.
Obviously, matchbox-window-manager fulfills this requirement. Furthermore, it
is quite lightweight and can be built with very few dependencies.

The first patch changes the build system to debhelper, since I wasn't able to
build two binaries out of the same source package using CDBS. By the way, it
also switches to source format "3.0 (quilt)".

The second patch adds what is needed to build the udeb, providing a second
binary built with different options.

The third patch adds a script to start matchbox-window-manager with g-i,
although the way it is done might be discussed.



-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (120, 'unstable'), (105, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.35-rc3+ (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages matchbox-window-manager depends on:
ii  libc6                         2.11.2-2   Embedded GNU C Library: Shared lib
ii  libexpat1                     2.0.1-7    XML parsing C library - runtime li
ii  libmatchbox1                  1.9-5      shared library for Matchbox Projec
ii  libstartup-notification0      0.10-1     library for program launch feedbac
ii  libx11-6                      2:1.3.3-3  X11 client-side library
ii  libxext6                      2:1.1.2-1  X11 miscellaneous extension librar
ii  libxsettings-client0          0.17-5     utility functions for the Xsetting

matchbox-window-manager recommends no packages.

matchbox-window-manager suggests no packages.

-- no debconf information
# HG changeset patch
# User Thibaut Girka <t...@sitedethib.com>
# Date 1281225985 14400
# Node ID 00b42e28514ee1f87c511e39f0ddd2427bf1a8f1
# Parent  744c92c13f1270f87e43e7eb38ddf3aa20858219
Switch to source format 3.0 (quilt) and debhelper.

You may want to document the patches in debian/patches according to DEP3

diff --git a/matchbox-window-manager-1.2/debian/control 
b/matchbox-window-manager-1.2/debian/control
--- a/matchbox-window-manager-1.2/debian/control
+++ b/matchbox-window-manager-1.2/debian/control
@@ -2,7 +2,7 @@
 Section: embedded
 Priority: optional
 Maintainer: Moray Allan <mo...@debian.org>
-Build-Depends: cdbs (>= 0.4.21), debhelper (>= 5.0.0), pkg-config, 
libstartup-notification0-dev, libmatchbox-dev (>= 1.9-4), libxsettings-dev, 
libxsettings-client-dev
+Build-Depends: debhelper (>= 7.0.50~), pkg-config, 
libstartup-notification0-dev, libmatchbox-dev (>= 1.9-4), libxsettings-dev, 
libxsettings-client-dev
 Standards-Version: 3.8.2
 Homepage: http://matchbox-project.org/
 
diff --git a/matchbox-window-manager-1.2/debian/docs 
b/matchbox-window-manager-1.2/debian/docs
new file mode 100644
--- /dev/null
+++ b/matchbox-window-manager-1.2/debian/docs
@@ -0,0 +1,3 @@
+README
+NEWS
+AUTHORS
diff --git a/matchbox-window-manager-1.2/debian/patches/config.patch 
b/matchbox-window-manager-1.2/debian/patches/config.patch
new file mode 100644
--- /dev/null
+++ b/matchbox-window-manager-1.2/debian/patches/config.patch
@@ -0,0 +1,22 @@
+--- matchbox-window-manager-1.2.orig/configure
++++ matchbox-window-manager-1.2/configure
+@@ -7518,7 +7518,7 @@
+   { echo "$as_me:$LINENO: checking for libmb xsettings support" >&5
+ echo $ECHO_N "checking for libmb xsettings support... $ECHO_C" >&6; }
+ 
+-  if $PKG_CONFIG --libs libmb | grep -i xsettings ; then
++  if $PKG_CONFIG --static --libs libmb | grep -i xsettings ; then
+      mb_have_xsettings="yes"
+ 
+ cat >>confdefs.h <<\_ACEOF
+--- matchbox-window-manager-1.2.orig/configure.ac
++++ matchbox-window-manager-1.2/configure.ac
+@@ -413,7 +413,7 @@
+ if test x$enable_standalone != xyes && test x$enable_standalone_xft != xyes; 
then
+   AC_MSG_CHECKING([for libmb xsettings support])
+ 
+-  if $PKG_CONFIG --libs libmb | grep -i xsettings ; then
++  if $PKG_CONFIG --static --libs libmb | grep -i xsettings ; then
+      mb_have_xsettings="yes"
+      AC_DEFINE(USE_XSETTINGS, [1], [Use XSettings])
+      AC_MSG_RESULT([yes])
diff --git a/matchbox-window-manager-1.2/debian/patches/mbtheme.patch 
b/matchbox-window-manager-1.2/debian/patches/mbtheme.patch
new file mode 100644
--- /dev/null
+++ b/matchbox-window-manager-1.2/debian/patches/mbtheme.patch
@@ -0,0 +1,23 @@
+--- matchbox-window-manager-1.2.orig/src/mbtheme.c
++++ matchbox-window-manager-1.2/src/mbtheme.c
+@@ -19,6 +19,7 @@
+  */
+ 
+ #include "mbtheme.h" 
++#include <assert.h>
+ 
+ #ifdef HAVE_XCURSOR
+ #include <X11/Xcursor/Xcursor.h>
+@@ -2024,6 +2025,11 @@
+   if ((font = mb_font_new_from_string(theme->wm->dpy, spec)) == NULL)
+     return ERROR_INCORRECT_PARAMS;
+ 
++  dbg("%s() font spec: %s\n", __func__, spec);
++
++  assert(font != NULL);
++  assert(font->family != NULL);
++
+   dbg("%s() got font family: %s size: %i\n", 
+       __func__, mb_font_get_family(font), mb_font_get_point_size(font));
+ 
+
diff --git a/matchbox-window-manager-1.2/debian/patches/series 
b/matchbox-window-manager-1.2/debian/patches/series
new file mode 100644
--- /dev/null
+++ b/matchbox-window-manager-1.2/debian/patches/series
@@ -0,0 +1,2 @@
+config.patch
+mbtheme.patch
diff --git a/matchbox-window-manager-1.2/debian/rules 
b/matchbox-window-manager-1.2/debian/rules
--- a/matchbox-window-manager-1.2/debian/rules
+++ b/matchbox-window-manager-1.2/debian/rules
@@ -1,6 +1,10 @@
 #!/usr/bin/make -f
-include /usr/share/cdbs/1/rules/debhelper.mk
-include /usr/share/cdbs/1/class/autotools.mk
 
-DEB_CONFIGURE_EXTRA_FLAGS = --enable-startup-notification --enable-expat
-# --enable-gconf
+%:
+       dh $@
+
+override_dh_auto_configure:
+       dh_auto_configure -- --enable-startup-notification --enable-expat
+
+override_dh_installchangelogs:
+       dh_installchangelogs ChangeLog
diff --git a/matchbox-window-manager-1.2/debian/source/format 
b/matchbox-window-manager-1.2/debian/source/format
new file mode 100644
--- /dev/null
+++ b/matchbox-window-manager-1.2/debian/source/format
@@ -0,0 +1,1 @@
+3.0 (quilt)
# HG changeset patch
# User Thibaut Girka <t...@sitedethib.com>
# Date 1281230477 14400
# Node ID 48518413fd47fedd712d7dd59ca2fd60d27eb846
# Parent  00b42e28514ee1f87c511e39f0ddd2427bf1a8f1
Added matchbox-window-manager-udeb configured with less features

diff --git a/matchbox-window-manager-1.2/debian/control 
b/matchbox-window-manager-1.2/debian/control
--- a/matchbox-window-manager-1.2/debian/control
+++ b/matchbox-window-manager-1.2/debian/control
@@ -17,3 +17,11 @@
  for which screen space, input mechanisms or system resources are limited.
  .
  This package contains the Matchbox window manager.
+
+Package: matchbox-window-manager-udeb
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Section: debian-installer
+XC-Package-Type: udeb
+Description: window manager for resource-limited systems
+ This is a udeb, or a microdeb, for the debian-installer.
diff --git 
a/matchbox-window-manager-1.2/debian/matchbox-window-manager-udeb.install 
b/matchbox-window-manager-1.2/debian/matchbox-window-manager-udeb.install
new file mode 100644
--- /dev/null
+++ b/matchbox-window-manager-1.2/debian/matchbox-window-manager-udeb.install
@@ -0,0 +1,1 @@
+build-udeb/src/matchbox-window-manager
diff --git a/matchbox-window-manager-1.2/debian/rules 
b/matchbox-window-manager-1.2/debian/rules
--- a/matchbox-window-manager-1.2/debian/rules
+++ b/matchbox-window-manager-1.2/debian/rules
@@ -3,8 +3,22 @@
 %:
        dh $@
 
+override_dh_auto_clean:
+       rm -rf build-main build-udeb
+
 override_dh_auto_configure:
-       dh_auto_configure -- --enable-startup-notification --enable-expat
+       mkdir build-main build-udeb
+       dh_auto_configure -Bbuild-main -- --enable-startup-notification 
--enable-expat
+       dh_auto_configure -Bbuild-udeb -- --disable-startup-notification 
--disable-expat \
+               --disable-keyboard --disable-xrm --disable-ping-protocol 
--enable-standalone
+
+override_dh_auto_build:
+       dh_auto_build -Bbuild-main
+       dh_auto_build -Bbuild-udeb
+
+override_dh_auto_install:
+       dh_auto_install -Bbuild-main --destdir=debian/matchbox-window-manager
+       #dh_auto_install -Bbuild-udeb 
--destdir=debian/matchbox-window-manager-udeb
 
 override_dh_installchangelogs:
        dh_installchangelogs ChangeLog
# HG changeset patch
# User Thibaut Girka <t...@sitedethib.com>
# Date 1281458776 -7200
# Node ID f080f4378d600935f9c8d36cdf0f030c5ac704f1
# Parent  48518413fd47fedd712d7dd59ca2fd60d27eb846
matchbox-window-manager-udeb: start matchbox-window-manager with 
debian-installer

diff --git a/matchbox-window-manager-1.2/debian/S64matchbox-window-manager 
b/matchbox-window-manager-1.2/debian/S64matchbox-window-manager
new file mode 100644
--- /dev/null
+++ b/matchbox-window-manager-1.2/debian/S64matchbox-window-manager
@@ -0,0 +1,4 @@
+if [ "$DEBIAN_FRONTEND" = gtk ] && [ -z "$LIVE_INSTALLER_MODE" ]; then
+        matchbox-window-manager -use_titlebar no -use_desktop_mode plain &
+fi
+
diff --git 
a/matchbox-window-manager-1.2/debian/matchbox-window-manager-udeb.install 
b/matchbox-window-manager-1.2/debian/matchbox-window-manager-udeb.install
--- a/matchbox-window-manager-1.2/debian/matchbox-window-manager-udeb.install
+++ b/matchbox-window-manager-1.2/debian/matchbox-window-manager-udeb.install
@@ -1,1 +1,2 @@
-build-udeb/src/matchbox-window-manager
+build-udeb/src/matchbox-window-manager /usr/bin/
+debian/S64matchbox-window-manager /lib/debian-installer.d/

Reply via email to