[Pkg-xfce-devel] Bug#379814: xfdesktop4: split into (at least) arch-dep & arch-indep parts

Darren Salt linux at youmustbejoking.demon.co.uk
Tue Jul 25 18:08:50 UTC 2006


Package: xfdesktop4
Version: 4.3.90.2-1
Severity: wishlist
Tags: patch

The attached patches split up xfdesktop4 in two different ways.

The first one splits out the arch-independent files into xfdesktop4-data.
Building locally on testing/amd64, xfdesktop-data (arch: any) is 2411K, and
xfdesktop4 is 228K (with its doc dir being a symlink, else it'd be something
like 100K larger).

The second one one splits out a little less arch-independent files into
xfdesktop4-data but also creates xfdesktop-menu-plugin (which contains some
arch-independent data so as not to depend on xfdesktop4-data). Basically,
this makes it slightly easier to mix and match bits from different desktop
environments, i.e. I can run rox-filer for the backdrop/pinboard and use the
XFCE menu via xfce4-panel (since rox-filer assumes that the window manager
provides the menu) without being required to install (or fake via equivs)
other components such as thunar.

-- 
| Darren Salt    | linux or ds at              | nr. Ashington, | Toon
| RISC OS, Linux | youmustbejoking,demon,co,uk | Northumberland | Army
|   Say NO to UK ID cards. http://www.no2id.net/

The chance of disk failure is directly proportional to the value of the data.
-------------- next part --------------
diff -u xfdesktop4-4.3.90.2/debian/control xfdesktop4-4.3.90.2/debian/control
--- xfdesktop4-4.3.90.2/debian/control
+++ xfdesktop4-4.3.90.2/debian/control
@@ -6,9 +6,18 @@
 Build-Depends: debhelper (>= 4.1.26), libgtk2.0-dev, libxft-dev, libxml2-dev, xfce4-panel-dev (>= 4.3.90.2-1), libthunar-vfs-1-dev (>= 0.3.2beta2-1), chrpath
 Standards-Version: 3.7.2
 
+Package: xfdesktop4-data
+Architecture: all
+Suggests: menu
+Conflicts: menu (<<2.1.12), xfdesktop4 (<= 4.3.90.2-1)
+Description: Provides desktop background and root menu (common files)
+ This package contains architecture-independent files for xfdesktop4.
+ .
+ Homepage: http://www.xfce.org/
+
 Package: xfdesktop4
 Architecture: any
-Depends: ${shlibs:Depends}, xfce4-mcs-manager, xfce4-utils
+Depends: ${shlibs:Depends}, xfce4-mcs-manager, xfce4-utils, xfdesktop4-data (= ${Source-Version})
 Suggests: menu
 Conflicts: menu (<<2.1.12)
 Description: Provides desktop background and root menu
diff -u xfdesktop4-4.3.90.2/debian/menu xfdesktop4-4.3.90.2/debian/menu
--- xfdesktop4-4.3.90.2/debian/menu
+++ xfdesktop4-4.3.90.2/debian/menu
@@ -1,2 +0,0 @@
-?package(xfdesktop4): needs="X11" section="Apps/Tools" command="xfdesktop" \
-  title="Xfdesktop" longtitle="Xfce configuration interface" hints="Configuration Interface"
diff -u xfdesktop4-4.3.90.2/debian/postinst xfdesktop4-4.3.90.2/debian/postinst
--- xfdesktop4-4.3.90.2/debian/postinst
+++ xfdesktop4-4.3.90.2/debian/postinst
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-if [ "$1" = "configure" ]; then 
-	if [ ! -f /etc/xdg/xfce4/desktop/menudefs.hook ]; then
-		cat >/etc/xdg/xfce4/desktop/menudefs.hook <<EOF
-<!--
-	This file is deliberately empty.  Run update-menus to populate it
-	with the debian menu
--->
-EOF
-	fi
-
-	# Get xfce-mcs-manager to reinit
-	# hurd doesnt have procps so we do it another way
-	#pkill -USR1 -f xfce-mcs-manager || true
-	/bin/kill -USR1 `pidof xfce-mcs-manager` > /dev/null 2>&1|| true
-
-fi
-
-#DEBHELPER#
diff -u xfdesktop4-4.3.90.2/debian/postrm xfdesktop4-4.3.90.2/debian/postrm
--- xfdesktop4-4.3.90.2/debian/postrm
+++ xfdesktop4-4.3.90.2/debian/postrm
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-if [ "$1" = "purge" ]; then
-  rm -rf /etc/xdg/xfce4/desktop/menudefs.hook
-  rm -rf /etc/xdg/xfce4/desktop/notforuse.xml
-fi
-
-#DEBHELPER#
diff -u xfdesktop4-4.3.90.2/debian/prerm xfdesktop4-4.3.90.2/debian/prerm
--- xfdesktop4-4.3.90.2/debian/prerm
+++ xfdesktop4-4.3.90.2/debian/prerm
@@ -1,10 +0,0 @@
-#!/bin/sh -e
-
-if [ "$1" = "remove" ]; then
-	# Get xfce-mcs-manager to reinit
-	pkill -USR1 -f xfce-mcs-manager || true
-fi
-
-#DEBHELPER#
-
-exit 0
diff -u xfdesktop4-4.3.90.2/debian/rules xfdesktop4-4.3.90.2/debian/rules
--- xfdesktop4-4.3.90.2/debian/rules
+++ xfdesktop4-4.3.90.2/debian/rules
@@ -47,15 +47,15 @@
 	dh_clean -k
 	dh_installdirs
 
-	$(MAKE) install DESTDIR=`pwd`/debian/xfdesktop4
+	$(MAKE) install DESTDIR=`pwd`/debian/tmp
 
-	rm -f `pwd`/debian/xfdesktop4/usr/lib/xfce4/mcs-plugins/*.la
-	rm -f `pwd`/debian/xfdesktop4/usr/lib/xfce4/mcs-plugins/*.a
-	rm -f `pwd`/debian/xfdesktop4/usr/lib/xfce4/modules/*.la
-	rm -f `pwd`/debian/xfdesktop4/usr/lib/xfce4/modules/*.a
+	rm -f `pwd`/debian/tmp/usr/lib/xfce4/mcs-plugins/*.la
+	rm -f `pwd`/debian/tmp/usr/lib/xfce4/mcs-plugins/*.a
+	rm -f `pwd`/debian/tmp/usr/lib/xfce4/modules/*.la
+	rm -f `pwd`/debian/tmp/usr/lib/xfce4/modules/*.a
 
-	chrpath -d -k `pwd`/debian/xfdesktop4/usr/bin/* \
-		`pwd`/debian/xfdesktop4/usr/lib/xfce4/*/*
+	chrpath -d -k `pwd`/debian/tmp/usr/bin/* \
+		`pwd`/debian/tmp/usr/lib/xfce4/*/*
 
 binary-indep: build install
 
@@ -63,17 +63,20 @@
 	
 	dh_testdir
 	dh_testroot
+	dh_install --autodest
 
 	# use correct Debian defaults
 	for f in `pwd`/debian/xfdesktop4/etc/xdg/xfce4/desktop/menu.xml*; do \
 	   	perl -0777 -i -pe 's/cmd="xfterm4"/cmd="x-terminal-emulator"/; s/cmd="mozilla"/cmd="sensible-browser"/; s/(<include type="system" style="simple" unique="true"\/>)/<menu name="Xfce">$$1<\/menu>\n<separator\/>\n<include type="file" src="menudefs.hook" \/>\n/; s/xffm/thunar/g' $$f; \
 	done
 
 	dh_installdocs README TODO
 	dh_installmenu
-	dh_installman debian/xfce4-menueditor.1
+	dh_installman
 	
 	dh_installchangelogs ChangeLog
+	rm -rf "`pwd`/debian/xfdesktop4/usr/share/doc/xfdesktop4"
+	ln -s xfdesktop4-data "`pwd`/debian/xfdesktop4/usr/share/doc/xfdesktop4"
 	dh_link
 	
 	dh_strip
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4.menu xfdesktop4-4.3.90.2/debian/xfdesktop4.menu
--- xfdesktop4-4.3.90.2/debian/xfdesktop4.menu
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4.menu
@@ -0,0 +1,2 @@
+?package(xfdesktop4): needs="X11" section="Apps/Tools" command="xfdesktop" \
+  title="Xfdesktop" longtitle="Xfce configuration interface" hints="Configuration Interface"
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4.install xfdesktop4-4.3.90.2/debian/xfdesktop4.install
--- xfdesktop4-4.3.90.2/debian/xfdesktop4.install
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4.install
@@ -0,0 +1,6 @@
+debian/tmp/etc/xdg/xfce4/desktop/
+debian/tmp/usr/bin/
+debian/tmp/usr/lib/xfce4/mcs-plugins/backdrop_settings.so
+debian/tmp/usr/lib/xfce4/modules/xfce4_desktop_menu.so
+debian/tmp/usr/lib/xfce4/panel-plugins/xfce4-menu-plugin
+debian/tmp/usr/share/applications/xfce-menueditor.desktop
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4.postrm xfdesktop4-4.3.90.2/debian/xfdesktop4.postrm
--- xfdesktop4-4.3.90.2/debian/xfdesktop4.postrm
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4.postrm
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+if [ "$1" = "purge" ]; then
+  rm -rf /etc/xdg/xfce4/desktop/menudefs.hook
+  rm -rf /etc/xdg/xfce4/desktop/notforuse.xml
+fi
+
+#DEBHELPER#
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4.prerm xfdesktop4-4.3.90.2/debian/xfdesktop4.prerm
--- xfdesktop4-4.3.90.2/debian/xfdesktop4.prerm
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4.prerm
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+if [ "$1" = "remove" ]; then
+	# Get xfce-mcs-manager to reinit
+	pkill -USR1 -f xfce-mcs-manager || true
+fi
+
+#DEBHELPER#
+
+exit 0
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4.postinst xfdesktop4-4.3.90.2/debian/xfdesktop4.postinst
--- xfdesktop4-4.3.90.2/debian/xfdesktop4.postinst
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4.postinst
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+if [ "$1" = "configure" ]; then 
+	if [ ! -f /etc/xdg/xfce4/desktop/menudefs.hook ]; then
+		cat >/etc/xdg/xfce4/desktop/menudefs.hook <<EOF
+<!--
+	This file is deliberately empty.  Run update-menus to populate it
+	with the debian menu
+-->
+EOF
+	fi
+
+	# Get xfce-mcs-manager to reinit
+	# hurd doesnt have procps so we do it another way
+	#pkill -USR1 -f xfce-mcs-manager || true
+	/bin/kill -USR1 `pidof xfce-mcs-manager` > /dev/null 2>&1|| true
+
+fi
+
+#DEBHELPER#
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4.manpages xfdesktop4-4.3.90.2/debian/xfdesktop4.manpages
--- xfdesktop4-4.3.90.2/debian/xfdesktop4.manpages
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4.manpages
@@ -0,0 +1,2 @@
+debian/xfce4-menueditor.1
+xfdesktop.1
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4-data.install xfdesktop4-4.3.90.2/debian/xfdesktop4-data.install
--- xfdesktop4-4.3.90.2/debian/xfdesktop4-data.install
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4-data.install
@@ -0,0 +1,9 @@
+debian/tmp/usr/share/applications/xfce-backdrop-settings.desktop
+debian/tmp/usr/share/icons/
+debian/tmp/usr/share/locale/
+debian/tmp/usr/share/man/man1/xfdesktop.1
+debian/tmp/usr/share/pixmaps/
+debian/tmp/usr/share/xfce4-menueditor/xfce4-menueditor.ui
+debian/tmp/usr/share/xfce4/backdrops/
+debian/tmp/usr/share/xfce4/doc/
+debian/tmp/usr/share/xfce4/panel-plugins/xfce4-menu.desktop
-------------- next part --------------
diff -u xfdesktop4-4.3.90.2/debian/control xfdesktop4-4.3.90.2/debian/control
--- xfdesktop4-4.3.90.2/debian/control
+++ xfdesktop4-4.3.90.2/debian/control
@@ -6,15 +6,34 @@
 Build-Depends: debhelper (>= 4.1.26), libgtk2.0-dev, libxft-dev, libxml2-dev, xfce4-panel-dev (>= 4.3.90.2-1), libthunar-vfs-1-dev (>= 0.3.2beta2-1), chrpath
 Standards-Version: 3.7.2
 
+Package: xfdesktop4-data
+Architecture: all
+Depends: ${shlibs:Depends}, xfce4-mcs-manager, xfce4-utils, xfdesktop4-menu-plugin (= ${Source-Version})
+Suggests: menu
+Conflicts: menu (<<2.1.12), xfdesktop4 (<= 4.3.90.2-1)
+Description: Provides desktop background and root menu (common files)
+ This package contains architecture-independent files for xfdesktop4.
+ .
+ Homepage: http://www.xfce.org/
+
 Package: xfdesktop4
 Architecture: any
-Depends: ${shlibs:Depends}, xfce4-mcs-manager, xfce4-utils
+Depends: ${shlibs:Depends}, xfce4-mcs-manager, xfce4-utils, xfdesktop4-data (= ${Source-Version}), xfdesktop4-menu-plugin (= ${Source-Version})
 Suggests: menu
 Conflicts: menu (<<2.1.12)
 Description: Provides desktop background and root menu
  This package contains a tool that allows you to switch the background image
- and a root menu.  Additionally, it contains dialogs to change the  number
- of available desktop workspaces and their names.  It also contains a panel
- plugin to display the menu on the panel
+ and open a root menu.  Additionally, it contains dialogs to change the
+ number of available desktop workspaces and their names.
+ .
+ Homepage: http://www.xfce.org/
+
+Package: xfdesktop4-menu-plugin
+Architecture: any
+Depends: ${shlibs:Depends}
+Suggests: menu
+Conflicts: menu (<<2.1.12), xfdesktop4 (<= 4.3.90.2-1)
+Description: Provides root menu plugin for xfce4-panel
+ This package contains a plugin to display the menu on the panel.
  .
  Homepage: http://www.xfce.org/
diff -u xfdesktop4-4.3.90.2/debian/menu xfdesktop4-4.3.90.2/debian/menu
--- xfdesktop4-4.3.90.2/debian/menu
+++ xfdesktop4-4.3.90.2/debian/menu
@@ -1,2 +0,0 @@
-?package(xfdesktop4): needs="X11" section="Apps/Tools" command="xfdesktop" \
-  title="Xfdesktop" longtitle="Xfce configuration interface" hints="Configuration Interface"
diff -u xfdesktop4-4.3.90.2/debian/postinst xfdesktop4-4.3.90.2/debian/postinst
--- xfdesktop4-4.3.90.2/debian/postinst
+++ xfdesktop4-4.3.90.2/debian/postinst
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-if [ "$1" = "configure" ]; then 
-	if [ ! -f /etc/xdg/xfce4/desktop/menudefs.hook ]; then
-		cat >/etc/xdg/xfce4/desktop/menudefs.hook <<EOF
-<!--
-	This file is deliberately empty.  Run update-menus to populate it
-	with the debian menu
--->
-EOF
-	fi
-
-	# Get xfce-mcs-manager to reinit
-	# hurd doesnt have procps so we do it another way
-	#pkill -USR1 -f xfce-mcs-manager || true
-	/bin/kill -USR1 `pidof xfce-mcs-manager` > /dev/null 2>&1|| true
-
-fi
-
-#DEBHELPER#
diff -u xfdesktop4-4.3.90.2/debian/postrm xfdesktop4-4.3.90.2/debian/postrm
--- xfdesktop4-4.3.90.2/debian/postrm
+++ xfdesktop4-4.3.90.2/debian/postrm
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-if [ "$1" = "purge" ]; then
-  rm -rf /etc/xdg/xfce4/desktop/menudefs.hook
-  rm -rf /etc/xdg/xfce4/desktop/notforuse.xml
-fi
-
-#DEBHELPER#
diff -u xfdesktop4-4.3.90.2/debian/prerm xfdesktop4-4.3.90.2/debian/prerm
--- xfdesktop4-4.3.90.2/debian/prerm
+++ xfdesktop4-4.3.90.2/debian/prerm
@@ -1,10 +0,0 @@
-#!/bin/sh -e
-
-if [ "$1" = "remove" ]; then
-	# Get xfce-mcs-manager to reinit
-	pkill -USR1 -f xfce-mcs-manager || true
-fi
-
-#DEBHELPER#
-
-exit 0
diff -u xfdesktop4-4.3.90.2/debian/rules xfdesktop4-4.3.90.2/debian/rules
--- xfdesktop4-4.3.90.2/debian/rules
+++ xfdesktop4-4.3.90.2/debian/rules
@@ -47,15 +47,15 @@
 	dh_clean -k
 	dh_installdirs
 
-	$(MAKE) install DESTDIR=`pwd`/debian/xfdesktop4
+	$(MAKE) install DESTDIR=`pwd`/debian/tmp
 
-	rm -f `pwd`/debian/xfdesktop4/usr/lib/xfce4/mcs-plugins/*.la
-	rm -f `pwd`/debian/xfdesktop4/usr/lib/xfce4/mcs-plugins/*.a
-	rm -f `pwd`/debian/xfdesktop4/usr/lib/xfce4/modules/*.la
-	rm -f `pwd`/debian/xfdesktop4/usr/lib/xfce4/modules/*.a
+	rm -f `pwd`/debian/tmp/usr/lib/xfce4/mcs-plugins/*.la
+	rm -f `pwd`/debian/tmp/usr/lib/xfce4/mcs-plugins/*.a
+	rm -f `pwd`/debian/tmp/usr/lib/xfce4/modules/*.la
+	rm -f `pwd`/debian/tmp/usr/lib/xfce4/modules/*.a
 
-	chrpath -d -k `pwd`/debian/xfdesktop4/usr/bin/* \
-		`pwd`/debian/xfdesktop4/usr/lib/xfce4/*/*
+	chrpath -d -k `pwd`/debian/tmp/usr/bin/* \
+		`pwd`/debian/tmp/usr/lib/xfce4/*/*
 
 binary-indep: build install
 
@@ -63,17 +63,20 @@
 	
 	dh_testdir
 	dh_testroot
+	dh_install --autodest
 
 	# use correct Debian defaults
-	for f in `pwd`/debian/xfdesktop4/etc/xdg/xfce4/desktop/menu.xml*; do \
+	for f in `pwd`/debian/xfdesktop4-menu-plugin/etc/xdg/xfce4/desktop/menu.xml*; do \
 	   	perl -0777 -i -pe 's/cmd="xfterm4"/cmd="x-terminal-emulator"/; s/cmd="mozilla"/cmd="sensible-browser"/; s/(<include type="system" style="simple" unique="true"\/>)/<menu name="Xfce">$$1<\/menu>\n<separator\/>\n<include type="file" src="menudefs.hook" \/>\n/; s/xffm/thunar/g' $$f; \
 	done
 
 	dh_installdocs README TODO
 	dh_installmenu
-	dh_installman debian/xfce4-menueditor.1
+	dh_installman
 	
 	dh_installchangelogs ChangeLog
+	rm -rf "`pwd`/debian/xfdesktop4/usr/share/doc/xfdesktop4"
+	ln -s xfdesktop4-data "`pwd`/debian/xfdesktop4/usr/share/doc/xfdesktop4"
 	dh_link
 	
 	dh_strip
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4-data.install xfdesktop4-4.3.90.2/debian/xfdesktop4-data.install
--- xfdesktop4-4.3.90.2/debian/xfdesktop4-data.install
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4-data.install
@@ -0,0 +1,9 @@
+debian/tmp/usr/share/applications/xfce-backdrop-settings.desktop
+debian/tmp/usr/share/icons/hicolor/32x32/apps/xfce4-backdrop.png
+debian/tmp/usr/share/icons/hicolor/48x48/apps/xfce4-backdrop.png
+debian/tmp/usr/share/icons/hicolor/scalable/apps/xfce4-backdrop.svg
+debian/tmp/usr/share/locale/
+debian/tmp/usr/share/man/man1/xfdesktop.1
+debian/tmp/usr/share/pixmaps/
+debian/tmp/usr/share/xfce4/backdrops/
+debian/tmp/usr/share/xfce4/doc/
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.install xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.install
--- xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.install
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.install
@@ -0,0 +1,11 @@
+debian/tmp/etc/xdg/xfce4/desktop/
+debian/tmp/usr/bin/xfce4-menueditor
+debian/tmp/usr/bin/xfce4-popup-menu
+debian/tmp/usr/lib/xfce4/modules/xfce4_desktop_menu.so
+debian/tmp/usr/lib/xfce4/panel-plugins/xfce4-menu-plugin
+debian/tmp/usr/share/applications/xfce-menueditor.desktop
+debian/tmp/usr/share/icons/hicolor/32x32/apps/xfce4-menueditor.png
+debian/tmp/usr/share/icons/hicolor/48x48/apps/xfce4-menueditor.png
+debian/tmp/usr/share/icons/hicolor/scalable/apps/xfce4-menueditor.svg
+debian/tmp/usr/share/xfce4-menueditor/xfce4-menueditor.ui
+debian/tmp/usr/share/xfce4/panel-plugins/xfce4-menu.desktop
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.manpages xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.manpages
--- xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.manpages
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.manpages
@@ -0,0 +1 @@
+debian/xfce4-menueditor.1
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.menu-method xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.menu-method
--- xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.menu-method
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.menu-method
@@ -0,0 +1,39 @@
+#!/usr/bin/install-menu
+#
+# Generates Xfce menus for all registered applications.
+#
+compat="menu-1"
+
+!include menu.h
+
+outputencoding="UTF-8"
+
+genmenu="menudefs.hook"
+rootprefix="/etc/xdg/xfce4/desktop"
+userprefix=".config/xfce4/desktop/"
+preoutput="<!-- Automatically generated file. Do not edit (see /usr/share/doc/menu/html/index.html) -->\n<xfdesktop-menu>"
+postoutput="</xfdesktop-menu>"
+treewalk="M)"
+postrun="if [ \"/etc/xdg/xfce4/desktop/menu.xml\" != \"" prefix() \
+	"/menu.xml\" ]; then cp /etc/xdg/xfce4/desktop/menu.xml " prefix() \
+	"/menu.xml; fi"
+
+function charreplace($str,$toreplace,$with,$lastchar)=replacewith(escwith($str,$toreplace,$with),$toreplace,$lastchar)
+
+function xmlesc($str)= replace(replace(replace(replace($str, \
+  "&","&amp;"), \
+  "\"","&quot;"), \
+  "<","&lt;"), \
+  ">","&gt;")
+
+function xmltitle()= replace(xmlesc(title()), "/", "-")
+
+supported
+    x11=   nstring(level(), "   ") "<app name=\"" xmltitle() "\" cmd=\"" xmlesc($command) "\" icon=\"" icon() "\"/>\n" 
+    text=  nstring(level(), "   ") "<app name=\"" xmltitle() "\" cmd=\""xmlesc($command) "\" term=\"yes\" icon=\"" icon() "\" />\n"
+    xfce4= nstring(level(), "   ") "<builtin name=\"" xmltitle() "\" cmd=\"" xmlesc($command) "\"/>\n"
+endsupported
+
+startmenu= ""
+submenutitle= nstring(level(), "   ") "<menu name=\"" xmltitle() "\" visible=\"yes\">\n"
+endmenu= ifneq( level(), "0",  nstring(level(), "   ") "</menu>\n" )
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.postinst xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.postinst
--- xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.postinst
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.postinst
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+if [ "$1" = "configure" ]; then 
+	if [ ! -f /etc/xdg/xfce4/desktop/menudefs.hook ]; then
+		cat >/etc/xdg/xfce4/desktop/menudefs.hook <<EOF
+<!--
+	This file is deliberately empty.  Run update-menus to populate it
+	with the debian menu
+-->
+EOF
+	fi
+
+	# Get xfce-mcs-manager to reinit
+	# hurd doesnt have procps so we do it another way
+	#pkill -USR1 -f xfce-mcs-manager || true
+	/bin/kill -USR1 `pidof xfce-mcs-manager` > /dev/null 2>&1|| true
+
+fi
+
+#DEBHELPER#
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.postrm xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.postrm
--- xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.postrm
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.postrm
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+if [ "$1" = "purge" ]; then
+  rm -rf /etc/xdg/xfce4/desktop/menudefs.hook
+  rm -rf /etc/xdg/xfce4/desktop/notforuse.xml
+fi
+
+#DEBHELPER#
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.prerm xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.prerm
--- xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.prerm
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4-menu-plugin.prerm
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+if [ "$1" = "remove" ]; then
+	# Get xfce-mcs-manager to reinit
+	pkill -USR1 -f xfce-mcs-manager || true
+fi
+
+#DEBHELPER#
+
+exit 0
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4.install xfdesktop4-4.3.90.2/debian/xfdesktop4.install
--- xfdesktop4-4.3.90.2/debian/xfdesktop4.install
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/bin/xfdesktop
+debian/tmp/usr/lib/xfce4/mcs-plugins/backdrop_settings.so
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4.manpages xfdesktop4-4.3.90.2/debian/xfdesktop4.manpages
--- xfdesktop4-4.3.90.2/debian/xfdesktop4.manpages
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4.manpages
@@ -0,0 +1 @@
+xfdesktop.1
diff -u xfdesktop4-4.3.90.2/debian/xfdesktop4.menu xfdesktop4-4.3.90.2/debian/xfdesktop4.menu
--- xfdesktop4-4.3.90.2/debian/xfdesktop4.menu
+++ xfdesktop4-4.3.90.2/debian/xfdesktop4.menu
@@ -0,0 +1,2 @@
+?package(xfdesktop4): needs="X11" section="Apps/Tools" command="xfdesktop" \
+  title="Xfdesktop" longtitle="Xfce configuration interface" hints="Configuration Interface"


More information about the Pkg-xfce-devel mailing list