summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrl <brl>2006-11-21 16:54:49 +0000
committerbrl <brl>2006-11-21 16:54:49 +0000
commit41ee1578d0b079b60a224ad8a595af42b86b0c72 (patch)
tree3d1cfff1f41e9356d0fb38a90605ceef8b39f6ed
parent59dd6a0795dd27192e5c9e63a1d2648bce559326 (diff)
downloadratpoison-41ee1578d0b079b60a224ad8a595af42b86b0c72.zip
update debian/ directory
-rw-r--r--debian/README.Debian18
-rw-r--r--debian/callmenu.sh52
-rw-r--r--debian/changelog269
-rw-r--r--debian/compat1
-rw-r--r--debian/control30
-rw-r--r--debian/dirs7
-rw-r--r--debian/docs1
-rw-r--r--debian/emacsen-install46
-rw-r--r--debian/emacsen-remove10
-rw-r--r--debian/menu2
-rw-r--r--debian/menu-method27
-rw-r--r--debian/patches/README22
-rw-r--r--debian/patches/brl-enlarge.diff416
-rw-r--r--debian/patches/brl-menu.diff144
-rw-r--r--debian/patches/brl-menu.reconf54
-rw-r--r--debian/patches/proper-install-info.diff26
-rw-r--r--debian/patches/series3
-rw-r--r--debian/postinst36
-rw-r--r--debian/prerm28
-rw-r--r--debian/ratpoison.dirs1
-rw-r--r--debian/ratpoison.docs3
-rw-r--r--debian/ratpoison.examples5
-rw-r--r--debian/ratpoison.info1
-rw-r--r--debian/ratpoison.menu2
-rw-r--r--debian/ratpoison.watch1
-rw-r--r--debian/ratpoison.wm1
-rwxr-xr-xdebian/rules235
-rw-r--r--debian/watch4
28 files changed, 1314 insertions, 131 deletions
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..2ee73e6
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,18 @@
+ratpoison for Debian
+--------------------
+
+Beside some patches stolen from the ratpoison mailinglist or directly from
+ratpoison's cvs to fix some bugs, the Debian version of ratpoison has the
+following feature-extending patches applied:
+
+brl-enlarge.diff:
+ Add remove{left,right,up,down} extending the current
+ frame deleting frames in the given direction.
+brl-menu.diff:
+ add default alias "menu" with binding "." and advertise it.
+
+For information how to tweak the menu (setting your favorite colours,
+using another program or how it works at all, read the comments within
+/etc/X11/ratpoison/ratpoisonmenu )
+
+ -- Bernhard R. Link <brlink@debian.org>, Sat, 20 May 2006 13:45:34 +0200
diff --git a/debian/callmenu.sh b/debian/callmenu.sh
new file mode 100644
index 0000000..ad0c3de
--- /dev/null
+++ b/debian/callmenu.sh
@@ -0,0 +1,52 @@
+#! /bin/sh
+# ratpoison helper script to start up an menu
+# change this line to globally set options
+# (like -fg, -bg or -font)
+options="-popup"
+
+if [ "$#" -ne "1" ] ; then
+ echo "Syntax: /etc/X11/ratpoison/ratpoisonmenu <menufile>"
+ exit 1
+fi
+file="$1"
+parent="`echo "$file" | sed -e 's/\.[^.]*\.menu$/.menu/'`"
+if [ -f "$HOME/.ratpoison_menu/$file" ] ; then
+ dir="$HOME/.ratpoison_menu"
+elif [ -f "/etc/X11/ratpoison/menu/$file" ] ; then
+ # To allow a global override of single files...
+ # (additionally to the easy changing of what
+ # update-menus generates...
+ dir="/etc/X11/ratpoison/menu"
+else
+ dir="/var/lib/ratpoison/menu"
+fi
+if [ -f /etc/X11/ratpoison/ratpoisonmenu.options ] ; then
+ # for those that do not like changing this file directly...
+ . /etc/X11/ratpoison/ratpoisonmenu.options
+fi
+if [ -f "$HOME/.ratpoison_menu/options" ] ; then
+ # parse file, so you can set $options
+ # like options="$options -fg blue -bg black"
+ # You can even exec in there, if you do not like 9menu
+ . "$HOME/.ratpoison_menu/options"
+fi
+if ! which 9menu >/dev/null ; then
+ if which ratmenu >/dev/null && [ -x "/etc/X11/ratmenu/$file" ] ; then
+ ratpoison -c "echo 9menu not installed, using ratmenu instead"
+ exec "/etc/X11/ratmenu/$file"
+ else
+ exec ratpoison -c "echo 9menu not installed"
+ fi
+fi
+if ! [ -f "$dir/$file" ] ; then
+ if [ "$file" = "debian.menu" ] ; then
+ exec ratpoison -c "echo no menu definition found (package 'menu' missing?)"
+ else
+ exec ratpoison -c "echo no definition for $file found!"
+ fi
+fi
+if [ "$file" = "debian.menu" ] ; then
+ exec 9menu $options -file "$dir/$file" '(cancel):exec'
+else
+ exec 9menu $options -file "$dir/$file" ..:"$0 \"$parent\""
+fi
diff --git a/debian/changelog b/debian/changelog
index f329d93..875f030 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,272 @@
+ratpoison (1.4.1~CVS) UNRELEASED; urgency=low
+
+ * re-add doc-base file listing info document.
+ * update brl-menu.diff to current cvs.
+ * drop build-dependency to texinfo
+
+ -- Bernhard R. Link <brlink@debian.org> Tue, 21 Nov 2006 12:36:00 +0100
+
+ratpoison (1.4.1~CVS20061026-1) experimental; urgency=low
+
+ * experimental cvs snapshot
+ - incorporates most of the previous patches
+ - has some further fontset support needing testing
+
+ -- Bernhard R. Link <brlink@debian.org> Sun, 29 Oct 2006 14:14:18 +0100
+
+ratpoison (1.4.0.dfsg-7) unstable; urgency=medium
+
+ * call dh_installinfo, so that info files get indexed at installation
+ (Closes: 384910)
+
+ -- Bernhard R. Link <brlink@debian.org> Sat, 28 Oct 2006 21:55:35 +0200
+
+ratpoison (1.4.0.dfsg-6) unstable; urgency=low
+
+ * fix bug in remove{left,up,right,down} which could corrupt the
+ frame data.
+ * document max width support in format string (Closes: 382299)
+ * do not ignore exitcode of make distclean
+ * give configure a --disable-dependency-tracking on normal compile
+ * install python bindings using python-support if installed
+ (Copied from dh_pysupport to avoid build-depending on python).
+
+ -- Bernhard R. Link <brlink@debian.org> Sun, 3 Sep 2006 16:07:15 +0200
+
+ratpoison (1.4.0.dfsg-5) unstable; urgency=low
+
+ * add avoidupdates.diff to not update window name window
+ on property events not changing anything.
+ Thanks to Chris Lesniewski-Laas for this.
+ (Closes: 375157)
+ * add dontprolong.diff to not reset the timer when updateing
+ window names window. (Makes the bug even more impossible to happen again)
+ * remove windows_loop_workaround.diff (superseded by the two before)
+
+ -- Bernhard R. Link <brlink@debian.org> Sun, 16 Jul 2006 21:58:46 +0200
+
+ratpoison (1.4.0.dfsg-4) unstable; urgency=low
+
+ * fix mention of 1.4.1 in info document
+ * do not restart bar window when windows command is issued
+ while the window is still active. (Works around: #375157)
+ * patch doc/Makefile to not generate dir.gz files
+
+ -- Bernhard R. Link <brlink@debian.org> Mon, 26 Jun 2006 10:56:35 +0200
+
+ratpoison (1.4.0.dfsg-3) unstable; urgency=low
+
+ * add info page from current cvs (minus the two commands not in this version)
+ * downgrade depedency on 9menu to recommends (Closes: 368548)
+ dropping x-w-m priority to 20 because of that
+ * remove x-w-m alternative on deconfigure,
+ readd on abort-remove and abort-deconfigure (Closes: 374474)
+ * add example to manpage how to use -c (Closes: 369612)
+
+ -- Bernhard R. Link <brlink@debian.org> Thu, 22 Jun 2006 15:00:58 +0200
+
+ratpoison (1.4.0.dfsg-2) unstable; urgency=low
+
+ * include ratpoison-cmd.el forgotten in the first try (Closes: 368317)
+ * make emacsen-install script less sensitive
+ * add debian/patches/avoid-segfault.diff working around segfault with
+ remote commands
+
+ -- Bernhard R. Link <brlink@debian.org> Sun, 21 May 2006 15:48:12 +0200
+
+ratpoison (1.4.0.dfsg-1) unstable; urgency=low
+
+ * new maintainer (Closes: 368067)
+ * new upstream version (Closes: 364488)
+ - fixes the tmpwm freeze (Closes: 357905)
+ * removed the info page from the upstream tarball
+ (GFDL and does not include the license as mandated by the license)
+ * repackaged from scratch
+ - change description (and include a Homepage:)
+ - use 9menu to provide menus
+ - install the bindings for emacs-lisp, perl, python and ruby
+ - add a watch file
+ - no longer ship a .desktop file as already registered in the Debian menu
+ * add debian/patches/net_wm_pid.diff to work around problems of qt programs
+ * add debian/patches/from-cvs-hook.diff from cvs to fix the hook command.
+ * add debian/patches/from-cvs-raise.diff from cvs to fix raise notifiers.
+ * add debian/patches/brl-enlarge.diff adding remove{left,right,up,down}
+ * add debian/patches/brl-xchange.diff adding exchange{left,right,up,down}
+ * add debian/patches/brl-menu.diff advertising the menu
+ (configure changes in debian/patches/brl-menu.reconf)
+
+ -- Bernhard R. Link <brlink@debian.org> Sat, 20 May 2006 17:18:22 +0200
+
+ratpoison (1.4.0-beta4-10) unstable; urgency=low
+
+ * Added Suggests: for xclip, a very cool program
+
+ -- Jonathan Walther <krooger@debian.org> Sun, 12 Mar 2006 18:10:52 -0700
+
+ratpoison (1.4.0-beta4-9) unstable; urgency=low
+
+ * Fixed typo in package description. Thank you Dan Jacobson.
+ * Added a versioned debhelper build-depends. Thank you lintian.
+
+ -- Jonathan Walther <krooger@debian.org> Tue, 28 Feb 2006 13:31:52 -0700
+
+ratpoison (1.4.0-beta4-8) unstable; urgency=low
+
+ * Fixed installation of gdm/kdm support, as per Martin Samuelsson's
+ suggestions.
+ Closes: #348036
+
+ -- Jonathan Walther <krooger@debian.org> Sat, 14 Jan 2006 19:31:52 -0700
+
+ratpoison (1.4.0-beta4-7) unstable; urgency=low
+
+ * Added Martin Samuelsson's addhook patch to fix a crashing bug.
+ Closes: #347023
+
+ -- Jonathan Walther <krooger@debian.org> Thu, 12 Jan 2006 12:21:52 -0700
+
+ratpoison (1.4.0-beta4-6) unstable; urgency=low
+
+ * Added dpatch as a Build-Depends to make buildd work.
+ * Fixed typo in debian/rules that prevented building.
+
+ -- Jonathan Walther <krooger@debian.org> Tue, 10 Jan 2006 14:54:52 -0700
+
+ratpoison (1.4.0-beta4-5) unstable; urgency=low
+
+ * Added Martin Samuelsson's numbering bug patch.
+ * Added dpatch support to the package to manage any future
+ patches.
+
+ -- Jonathan Walther <krooger@debian.org> Mon, 9 Jan 2006 16:28:52 -0700
+
+ratpoison (1.4.0-beta4-4) unstable; urgency=low
+
+ * Added libxtst-dev Build-Depends to fix buildd breakage.
+
+ -- Jonathan Walther <krooger@debian.org> Mon, 9 Jan 2006 10:46:52 -0700
+
+ratpoison (1.4.0-beta4-3) unstable; urgency=low
+
+ * Adding Mike O'Connor's suggested Build-Depends.
+ Closes: #347023
+
+ -- Jonathan Walther <krooger@debian.org> Mon, 9 Jan 2006 10:20:52 -0700
+
+ratpoison (1.4.0-beta4-2) unstable; urgency=low
+
+ * Use most current config.guess and config.sub files, as explained in
+ /usr/share/doc/autotools-dev/README.Debian.gz
+ Closes: #347183
+
+ -- Jonathan Walther <krooger@debian.org> Mon, 9 Jan 2006 01:16:52 -0700
+
+ratpoison (1.4.0-beta4-1) unstable; urgency=low
+
+ * Updating to most recent upstream, which includes X.org fixes.
+ Closes: #327196
+ * Adding more scripting examples.
+ Closes: #343883
+
+ -- Jonathan Walther <krooger@debian.org> Sun, 8 Jan 2006 19:03:52 -0700
+
+ratpoison (1.3.0-8) unstable; urgency=low
+
+ * xlibs-dev depend no longer valid. See the following message.
+ http://lists.debian.org/debian-devel-announce/2005/11/msg00022.html
+ Closes: #347023
+
+ -- Jonathan Walther <krooger@debian.org> Sun, 8 Jan 2006 18:38:52 -0700
+
+ratpoison (1.3.0-7) unstable; urgency=low
+
+ * Applied Luca Capello's patch for GDM support. Closes: #307779
+
+ -- Jonathan Walther <krooger@debian.org> Thu, 5 May 2005 16:46:52 -0700
+
+ratpoison (1.3.0-6) unstable; urgency=low
+
+ * Applied Mike O'Connor's fix for tmpwm race. Closes: #305955
+
+ -- Jonathan Walther <krooger@debian.org> Sat, 23 Apr 2005 00:15:52 -0700
+
+ratpoison (1.3.0-5) unstable; urgency=low
+
+ * Fixed missing '=' in menu file. Closes: #294466
+
+ -- Jonathan Walther <krooger@debian.org> Wed, 9 Feb 2005 13:44:52 -0700
+
+ratpoison (1.3.0-4) unstable; urgency=low
+
+ * Fixed lintian warning about no DEBHELPER symbol in {pre,post}{rm,inst}
+ * Removed ChangeLog from docs file, since dh_installchangelogs is now used.
+ * Silenced other lintian warnings.
+
+ -- Jonathan Walther <krooger@debian.org> Wed, 2 Feb 2005 14:15:12 -0700
+
+ratpoison (1.3.0-3) unstable; urgency=low
+
+ * Fixed lintian bitching about upstream changelogs
+
+ -- Jonathan Walther <krooger@debian.org> Tue, 1 Feb 2005 19:40:36 -0700
+
+ratpoison (1.3.0-2) unstable; urgency=low
+
+ * Copied twm's alternative handling. Closes: #293221
+
+ -- Jonathan Walther <krooger@debian.org> Tue, 1 Feb 2005 18:36:52 -0700
+
+ratpoison (1.3.0-1) unstable; urgency=low
+
+ * Add a Build-Depends for autotools and use latest config.sub and
+ config.guess. Allows compilation on amd64 platforms. Thank you for the
+ patch, Andreas. Closes: #293172
+ * Created orig.tar.gz, because this isn't a native package.
+
+ -- Jonathan Walther <krooger@debian.org> Tue, 1 Feb 2005 09:05:18 -0700
+
+ratpoison (1.3.0) unstable; urgency=low
+
+ * New upstream version. Closes: #257098
+ * Removed build-depends on automaken. Thank you Mike. Closes: #289743
+ * Fixed manpage installation. Thank you Shyamal and Jari.
+ Closes: #267475, #292578
+ * Frameset management is in this version. Closes: #208427
+ * Bumped Standards-Version to 3.6.1.1
+
+ -- Jonathan Walther <krooger@debian.org> Mon, 31 Jan 2005 00:17:16 -0700
+
+ratpoison (1.2.1) unstable; urgency=low
+
+ * Removed version in Build-depends for automake (Closes: #166283)
+ * Now suggests xbindkeys instead of keylaunch
+ * Defaults to x-terminal-emulator instead of xterm (Closes: #196343)
+ * Changed the doc-base section to WindowManagers (Closes: #186244)
+ * Made this package from tarball, not CVS (Closes: #169662)
+
+ -- Jonathan Walther <krooger@debian.org> Sun, 8 Jun 2003 12:20:37 -0700
+
+ratpoison (1.2.0.cvs.20020425-3) unstable; urgency=low
+
+ * Added Build-Depends for automake (Closes: #149500)
+
+ -- Jonathan Walther <krooger@debian.org> Sun, 9 Jun 2002 22:32:41 -0700
+
+ratpoison (1.2.0.cvs.20020425-2) unstable; urgency=low
+
+ * Changed Maintainer field; Gergely has gotten busy with Real Life
+ * Updated build dependancies
+ * Cleaned up the rules file a bit
+
+ -- Jonathan Walther <krooger@debian.org> Sat, 8 Jun 2002 12:25:33 -0700
+
+ratpoison (1.2.0.cvs.20020425) unstable; urgency=low
+
+ * CVS snapshot of release candidate 1.2.0
+ * Many bugfixes better described in the ChangeLog
+
+ -- Jonathan Walther <krooger@debian.org> Wed, 5 Jun 2002 22:21:24 -0700
+
ratpoison (1.0.0.cvs.20020117-1) unstable; urgency=low
* CVS snapshot release on 2002-01-17:
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+4
diff --git a/debian/control b/debian/control
index ce10cfa..eff8850 100644
--- a/debian/control
+++ b/debian/control
@@ -1,23 +1,27 @@
Source: ratpoison
Section: x11
Priority: extra
-Maintainer: Gergely Nagy and Jonathan Walther <algernon-krooger@klecker.debian.org>
-Build-Depends: debhelper (>= 2.0.89), xlibs-dev | xlib6g-dev
-Standards-Version: 3.5.6
-Uploaders: Gergely Nagy <algernon@debian.org>, Jonathan Walther <krooger@debian.org>
+Maintainer: Bernhard R. Link <brlink@debian.org>
+Build-Depends: debhelper (>= 4.0.0), libx11-dev, libxext-dev, x-dev, libxinerama-dev | xlibs-static-dev (<< 1:7.0), libxtst-dev, libreadline5-dev | libreadline4-dev
+Standards-Version: 3.7.2
Package: ratpoison
Architecture: any
Depends: ${shlibs:Depends}
-Recommends: xvt | x-terminal-emulator, ratmenu
+Recommends: 9menu (>= 1.6), menu, rxvt | x-terminal-emulator
+Suggests: xbindkeys, xclip
Provides: x-window-manager
-Description: Simple window manager with no fat library dependencies.
- ratpoison is a simple Window Manager with no fat library
- dependencies, no fancy graphics, no window decorations,
- and no flashy wank. It is largely modelled after GNU
- Screen which has done wonders in virtual terminal market.
+Description: keyboard-only window manager
+ ratpoison is a simple window manager with no fancy graphics,
+ no window decorations, and no rodent dependence.
+ It is largely modelled after GNU Screen.
+ .
+ The screen can be split into non-overlapping frames. All
+ windows are kept maximized inside their frames to take
+ full advantage of your precious screen real estate.
.
All interaction with the window manager is done through
- keystrokes. ratpoison has a prefix map to minimize the
- key clobbering that cripples EMACS and other quality
- pieces of software.
+ keystrokes. ratpoison has a prefix map to minimize
+ key clobbering.
+ .
+ Homepage: http://www.nongnu.org/ratpoison
diff --git a/debian/dirs b/debian/dirs
new file mode 100644
index 0000000..d527b30
--- /dev/null
+++ b/debian/dirs
@@ -0,0 +1,7 @@
+usr/bin
+etc/X11/ratpoison
+var/lib/ratpoison/menu
+usr/share/emacs/site-lisp/ratpoison
+usr/share/perl5
+usr/share/python-support/ratpoison
+usr/lib/ruby/1.8
diff --git a/debian/docs b/debian/docs
new file mode 100644
index 0000000..edc0071
--- /dev/null
+++ b/debian/docs
@@ -0,0 +1 @@
+NEWS
diff --git a/debian/emacsen-install b/debian/emacsen-install
new file mode 100644
index 0000000..e9adcbd
--- /dev/null
+++ b/debian/emacsen-install
@@ -0,0 +1,46 @@
+#! /bin/sh -e
+# /usr/lib/emacsen-common/packages/install/ratpoison
+
+# Written by Jim Van Zandt <jrv@vanzandt.mv.com>, borrowing heavily
+# from the install scripts for gettext by Santiago Vila
+# <sanvila@ctv.es> and octave by Dirk Eddelbuettel <edd@debian.org>.
+# modified for ratpoison by Bernhard R. Link <brlink@debian.org>
+
+FLAVOR="$1"
+PACKAGE=ratpoison
+ELDIR=/usr/share/emacs/site-lisp/${PACKAGE}
+ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+FILES=ratpoison-cmd.el
+
+if [ ${FLAVOR} = emacs ]; then
+ exit 0
+fi
+for file in ${FILES} ; do
+ if [ ! -f ${ELDIR}/${file} ]; then
+ echo "Warning: missing file ${ELDIR}/${file}!" >&2
+ exit 0
+ fi
+done
+
+echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR}
+
+FLAVORTEST=`echo $FLAVOR | cut -c-6`
+if [ ${FLAVORTEST} = xemacs ] ; then
+ SITEFLAG="-no-site-file"
+else
+ SITEFLAG="--no-site-file"
+fi
+FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile"
+
+install -m 755 -d ${ELCDIR}
+cd ${ELDIR}
+cp ${FILES} ${ELCDIR}
+cd ${ELCDIR}
+
+cat << EOF > path.el
+(setq load-path (cons "." load-path) byte-compile-warnings nil)
+EOF
+${FLAVOR} ${FLAGS} ${FILES}
+rm -f *.el path.el
+
+exit 0
diff --git a/debian/emacsen-remove b/debian/emacsen-remove
new file mode 100644
index 0000000..d272529
--- /dev/null
+++ b/debian/emacsen-remove
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+# /usr/lib/emacsen-common/packages/remove/ratpoison
+
+FLAVOR=$1
+PACKAGE=ratpoison
+
+if [ ${FLAVOR} != emacs ]; then
+ echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR}
+ rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+fi
diff --git a/debian/menu b/debian/menu
new file mode 100644
index 0000000..3bfb8ba
--- /dev/null
+++ b/debian/menu
@@ -0,0 +1,2 @@
+?package(ratpoison):needs="wm" section="WindowManagers" \
+ title="ratpoison" command="/usr/bin/ratpoison"
diff --git a/debian/menu-method b/debian/menu-method
new file mode 100644
index 0000000..50ccfad
--- /dev/null
+++ b/debian/menu-method
@@ -0,0 +1,27 @@
+#!/usr/bin/install-menu
+
+!include menu.h
+
+compat="menu-1"
+
+function menufilename($s) = ifempty($s,"debian") replacewith($s," /","_.") ".menu"
+function runmenu($s) = "/etc/X11/ratpoison/ratpoisonmenu \"" esc(menufilename($s),"\"") "\""
+
+startmenu=""
+genmenu=menufilename(ifelse($command,parent($section),parent($section)))
+endmenu=""
+
+rootsection="debian"
+rootprefix="/var/lib/ratpoison/menu"
+userprefix=".ratpoison_menu"
+treewalk="(m)c"
+function q($s) = replacewith($s,":",".")
+supported
+ratpoisonspecial = "\\" q(title()) ":exec " $command "\n"
+x11 = "\\" q(title()) ":exec " $command "\n"
+text= "\\" q(title()) ":exec " term() "\n"
+wm= "\\" q(title()) ":exec /usr/bin/ratpoison -c \"newwm " esc($command,"\"") "\"\n"
+endsupported
+
+submenutitle= "\\" q(title()) ":exec " runmenu($section) "\n"
+preoutput="#Automatically generated file. Do not edit (see /usr/share/doc/menu/html)\n#\n"
diff --git a/debian/patches/README b/debian/patches/README
new file mode 100644
index 0000000..544c90c
--- /dev/null
+++ b/debian/patches/README
@@ -0,0 +1,22 @@
+This directory lists patches used by the Debian package. It is not used
+by the normal Debian package build, as the patches are already applied
+by the .diff.gz all together.
+
+* If you are NMUing the Debian package:
+
+ Just ignore this directory (unless it helps you to understand what I did).
+ Everything applicaple to you .orig.tar.gz should already be in the
+ .diff.gz you have. Just modify the actual code, submit a patch with what
+ you did to the BTS and let me sort it out and include the patch in this
+ directory.
+
+* If you do a locally modified package:
+
+ Your choice. But you can savely ignore this directory. Nothing in the
+ build system uses it.
+
+* If you are preparing a new version
+
+ Start with the clean source from CVS. Choose which of the patches you
+ want to apply and apply them. Copy the debian directory (without the
+ CVS directories) and build.
diff --git a/debian/patches/brl-enlarge.diff b/debian/patches/brl-enlarge.diff
new file mode 100644
index 0000000..6d62032
--- /dev/null
+++ b/debian/patches/brl-enlarge.diff
@@ -0,0 +1,416 @@
+Index: ChangeLog
+===================================================================
+--- ChangeLog.orig 2006-10-28 19:56:37.000000000 +0200
++++ ChangeLog 2006-10-28 19:56:41.000000000 +0200
+@@ -1,1 +1,18 @@
++2005-06-28 Bernhard R. Link <brlink@debian.org>
++
++ * src/split.c: new functions enlarge_frame_{left,up,right,down}
++ to enlarge a frame in a given direction, optionally removing all
++ direct adjacent frames.
++ (remove_frame): moved code to new rotine maximaize_all_in_frame.
++ (find_frame_{left,up,right,down}): try harder to find a frame in
++ the specified direction. (So that it also works with parts of
++ the screen not beeing in any frame).
++
++ * src/split.h: added prototypes for enlarge_frame_{left,up,right,down}
++
++ * src/actions.{c,h}: Added cmd_remove{left,up,right,down} calling
++ enlarge_frame_*, added C-t M-{Left,Right,Up,Down} as keybindings.
++
++ * doc/ratpoison.1: Document the new commands and keybindings.
++
+ 2006-10-03 Shawn Betts <sabetts@vcn.bc.ca>
+Index: doc/ratpoison.1
+===================================================================
+--- doc/ratpoison.1.orig 2006-10-28 19:56:37.000000000 +0200
++++ doc/ratpoison.1 2006-10-28 19:56:41.000000000 +0200
+@@ -499,6 +499,18 @@
+ .cmd remove ( C\-t R )
+ Remove the current frame and extend some frames around to fill the remaining
+ gap.
++.cmd removedown ( C\-t M\-Down )
++Kill frames directly below the current frame, extending the current
++frame as much as possible.
++.cmd removeleft ( C\-t M\-Left )
++Kill frames directly left of the current frame, extending the current
++frame as much as possible.
++.cmd removeup ( C\-t M\-Up )
++Kill frames directly above the current frame, extending the current
++frame as much as possible.
++.cmd removeright ( C\-t M\-Right )
++Kill frames directly right of the current frame, extending the current
++frame as much as possible.
+ .cmd resize [ deltax deltay ] ( C\-t r )
+ If \fIdeltax\fP and \fIdeltay\fP are supplied, resize the current frame
+ by that (i.e. move the bottom right corner by the given offsets and then
+Index: src/actions.c
+===================================================================
+--- src/actions.c.orig 2006-10-28 19:56:37.000000000 +0200
++++ src/actions.c 2006-10-28 19:56:41.000000000 +0200
+@@ -281,6 +281,10 @@
+ "Hook: ", arg_HOOK,
+ "Command: ", arg_REST);
+ add_command ("remove", cmd_remove, 0, 0, 0);
++ add_command ("removeup", cmd_removeup, 0, 0, 0);
++ add_command ("removedown", cmd_removedown, 0, 0, 0);
++ add_command ("removeleft", cmd_removeleft, 0, 0, 0);
++ add_command ("removeright", cmd_removeright, 0, 0, 0);
+ add_command ("resize", cmd_resize, 2, 0, 2,
+ "", arg_NUMBER,
+ "", arg_NUMBER);
+@@ -742,6 +746,10 @@
+ add_keybinding (XK_Down, 0, "focusdown", map);
+ add_keybinding (XK_Q, 0, "only", map);
+ add_keybinding (XK_R, 0, "remove", map);
++ add_keybinding (XK_Left, RP_META_MASK, "removeleft", map);
++ add_keybinding (XK_Right, RP_META_MASK, "removeright", map);
++ add_keybinding (XK_Up, RP_META_MASK, "removeup", map);
++ add_keybinding (XK_Down, RP_META_MASK, "removedown", map);
+ add_keybinding (XK_f, 0, "fselect", map);
+ add_keybinding (XK_f, RP_CONTROL_MASK, "fselect", map);
+ add_keybinding (XK_F, 0, "curframe", map);
+@@ -2869,6 +2877,38 @@
+ }
+
+ cmdret *
++cmd_removeup (int interactive, struct cmdarg **args)
++{
++ push_frame_undo (current_screen()); /* fdump to stack */
++ enlarge_frame_up (current_frame(), 1);
++ return cmdret_new(RET_SUCCESS, NULL);
++}
++
++cmdret *
++cmd_removedown (int interactive, struct cmdarg **args)
++{
++ push_frame_undo (current_screen()); /* fdump to stack */
++ enlarge_frame_down (current_frame(), 1);
++ return cmdret_new(RET_SUCCESS, NULL);
++}
++
++cmdret *
++cmd_removeleft (int interactive, struct cmdarg **args)
++{
++ push_frame_undo (current_screen()); /* fdump to stack */
++ enlarge_frame_left (current_frame(), 1);
++ return cmdret_new(RET_SUCCESS, NULL);
++}
++
++cmdret *
++cmd_removeright (int interactive, struct cmdarg **args)
++{
++ push_frame_undo (current_screen()); /* fdump to stack */
++ enlarge_frame_right (current_frame(), 1);
++ return cmdret_new(RET_SUCCESS, NULL);
++}
++
++cmdret *
+ cmd_shrink (int interactive, struct cmdarg **args)
+ {
+ push_frame_undo (current_screen()); /* fdump to stack */
+Index: src/actions.h
+===================================================================
+--- src/actions.h.orig 2006-10-28 19:56:37.000000000 +0200
++++ src/actions.h 2006-10-28 19:56:41.000000000 +0200
+@@ -165,6 +165,10 @@
+ RP_CMD (redisplay);
+ RP_CMD (remhook);
+ RP_CMD (remove);
++RP_CMD (removedown);
++RP_CMD (removeup);
++RP_CMD (removeleft);
++RP_CMD (removeright);
+ RP_CMD (rename);
+ RP_CMD (resize);
+ RP_CMD (restart);
+Index: src/split.c
+===================================================================
+--- src/split.c.orig 2006-10-28 19:56:37.000000000 +0200
++++ src/split.c 2006-10-28 19:56:41.000000000 +0200
+@@ -703,6 +703,147 @@
+ return 0;
+ }
+
++
++static void
++delete_frame (rp_frame *frame)
++{
++ rp_screen *s;
++ rp_window *win;
++
++ if (frame == NULL) return;
++
++ s = frames_screen (frame);
++
++ list_del (&frame->node);
++ win = find_window_number (frame->win_number);
++ hide_window (win);
++ hide_others (win);
++
++ frame_free (s, frame);
++}
++
++static void
++maximize_all_in_frame (rp_frame *frame)
++{
++ rp_window *win;
++
++ /* The current frame fits into the new space so keep its
++ new frame parameters and maximize the window to fit
++ the new frame size. */
++ if (frame->win_number != EMPTY)
++ {
++ win = find_window_number (frame->win_number);
++ maximize_all_windows_in_frame (frame);
++ XRaiseWindow (dpy, win->w);
++ }
++}
++
++void
++enlarge_frame_left (rp_frame *frame, int remove)
++{
++ rp_screen *s = frames_screen (frame);
++ rp_frame *cur;
++ struct list_head *tmp, *iter;
++
++ int new_x = screen_left(s);
++
++ list_for_each_safe_entry (cur, iter, tmp, &s->frames, node)
++ {
++ if (frame_top(frame) < frame_bottom(cur)
++ && frame_top(cur) < frame_bottom(frame))
++ {
++ int cur_border = frame_right (cur);
++
++ if (remove && cur_border == frame_left(frame))
++ delete_frame(cur);
++ else if (cur_border <= frame_left(frame) && cur_border > new_x )
++ new_x = cur_border;
++ }
++ }
++ frame->width += frame->x - new_x;
++ frame->x = new_x;
++ maximize_all_in_frame(frame);
++}
++
++void
++enlarge_frame_right (rp_frame *frame, int remove)
++{
++ rp_screen *s = frames_screen (frame);
++ rp_frame *cur;
++ struct list_head *tmp, *iter;
++
++ int new_x = screen_right(s);
++
++ list_for_each_safe_entry (cur, iter, tmp, &s->frames, node)
++ {
++ if (frame_top(frame) < frame_bottom(cur)
++ && frame_top(cur) < frame_bottom(frame))
++ {
++ int frame_border = frame_right(frame);
++
++ if (remove && frame_border == frame_left(cur))
++ delete_frame(cur);
++ else if (frame_border <= frame_left(cur) && frame_left(cur) < new_x )
++ new_x = cur->x;
++ }
++ }
++ frame->width = new_x - frame->x;
++ maximize_all_in_frame(frame);
++}
++
++void
++enlarge_frame_up (rp_frame *frame, int remove)
++{
++ rp_screen *s = frames_screen (frame);
++ rp_frame *cur;
++ struct list_head *tmp, *iter;
++
++ int new_y = screen_top(s);
++
++ list_for_each_safe_entry (cur, iter, tmp, &s->frames, node)
++ {
++ if (frame_left(frame) < frame_right(cur)
++ && frame_left(cur) < frame_right(frame))
++ {
++ int cur_border = frame_bottom (cur);
++
++ if (remove && cur_border == frame_top(frame))
++ delete_frame(cur);
++ else if (cur_border <= frame_top(frame) && cur_border > new_y )
++ new_y = cur_border;
++ }
++ }
++ frame->height += frame->y - new_y;
++ frame->y = new_y;
++ maximize_all_in_frame(frame);
++}
++
++void
++enlarge_frame_down (rp_frame *frame, int remove)
++{
++ rp_screen *s = frames_screen (frame);
++ rp_frame *cur;
++ struct list_head *tmp, *iter;
++
++ int new_y = screen_bottom(s);
++
++ list_for_each_safe_entry (cur, iter, tmp, &s->frames, node)
++ {
++ if (frame_left(frame) < frame_right(cur)
++ && frame_left(cur) < frame_right(frame))
++ {
++ int frame_border = frame_bottom(frame);
++
++ if (remove && frame_border == frame_top(cur))
++ delete_frame(cur);
++ else if (frame_border <= frame_top(cur) && frame_top(cur) < new_y )
++ new_y = frame_top(cur);
++ }
++ }
++ frame->height = new_y - frame->y;
++ maximize_all_in_frame(frame);
++}
++
+ void
+ remove_frame (rp_frame *frame)
+ {
+@@ -800,17 +941,7 @@
+ }
+
+ if (fits)
+- {
+- /* The current frame fits into the new space so keep its
+- new frame parameters and maximize the window to fit
+- the new frame size. */
+- if (cur->win_number != EMPTY)
+- {
+- win = find_window_number (cur->win_number);
+- maximize_all_windows_in_frame (cur);
+- XRaiseWindow (dpy, win->w);
+- }
+- }
++ maximize_all_in_frame(cur);
+ else
+ {
+ memcpy (cur, &tmp_frame, sizeof (rp_frame));
+@@ -1002,16 +1133,24 @@
+ rp_screen *s = frames_screen (frame);
+ rp_frame *cur;
+
++ rp_frame *best_frame_yet = NULL;
++ int best_x_yet = frame->x + frame->width + 1;
++
+ list_for_each_entry (cur, &s->frames, node)
+ {
+ if (frame->y == cur->y + cur->height)
+ {
+ if (frame->x >= cur->x && frame->x < cur->x + cur->width)
+ return cur;
++ if (cur->x >= frame->x && cur->x < best_x_yet )
++ {
++ best_x_yet = cur->x;
++ best_frame_yet = cur;
++ }
+ }
+ }
+
+- return NULL;
++ return best_frame_yet;
+ }
+
+ rp_frame *
+@@ -1020,16 +1159,24 @@
+ rp_screen *s = frames_screen (frame);
+ rp_frame *cur;
+
++ rp_frame *best_frame_yet = NULL;
++ int best_x_yet = frame->x + frame->width + 1;
++
+ list_for_each_entry (cur, &s->frames, node)
+ {
+ if (frame->y + frame->height == cur->y)
+ {
+ if (frame->x >= cur->x && frame->x < cur->x + cur->width)
+ return cur;
++ if (cur->x >= frame->x && cur->x < best_x_yet )
++ {
++ best_x_yet = cur->x;
++ best_frame_yet = cur;
++ }
+ }
+ }
+
+- return NULL;
++ return best_frame_yet;
+ }
+
+ rp_frame *
+@@ -1038,16 +1185,24 @@
+ rp_screen *s = frames_screen (frame);
+ rp_frame *cur;
+
++ rp_frame *best_frame_yet = NULL;
++ int best_y_yet = frame->y + frame->height + 1;
++
+ list_for_each_entry (cur, &s->frames, node)
+ {
+ if (frame->x == cur->x + cur->width)
+ {
+ if (frame->y >= cur->y && frame->y < cur->y + cur->height)
+ return cur;
++ if (cur->y >= frame->y && cur->y < best_y_yet )
++ {
++ best_y_yet = cur->y;
++ best_frame_yet = cur;
++ }
+ }
+ }
+
+- return NULL;
++ return best_frame_yet;
+ }
+
+ rp_frame *
+@@ -1056,16 +1211,24 @@
+ rp_screen *s = frames_screen (frame);
+ rp_frame *cur;
+
++ rp_frame *best_frame_yet = NULL;
++ int best_y_yet = frame->y + frame->height + 1;
++
+ list_for_each_entry (cur, &s->frames, node)
+ {
+ if (frame->x + frame->width == cur->x)
+ {
+ if (frame->y >= cur->y && frame->y < cur->y + cur->height)
+ return cur;
++ if (cur->y >= frame->y && cur->y < best_y_yet )
++ {
++ best_y_yet = cur->y;
++ best_frame_yet = cur;
++ }
+ }
+ }
+
+- return NULL;
++ return best_frame_yet;
+ }
+
+ rp_frame *
+Index: src/split.h
+===================================================================
+--- src/split.h.orig 2006-10-28 19:56:37.000000000 +0200
++++ src/split.h 2006-10-28 19:56:41.000000000 +0200
+@@ -33,6 +33,10 @@
+ void resize_frame_horizontally (rp_frame *frame, int diff);
+ void resize_frame_vertically (rp_frame *frame, int diff);
+ void remove_frame (rp_frame *frame);
++void enlarge_frame_left (rp_frame *frame, int remove);
++void enlarge_frame_up (rp_frame *frame, int remove);
++void enlarge_frame_right (rp_frame *frame, int remove);
++void enlarge_frame_down (rp_frame *frame, int remove);
+ rp_window *find_window_for_frame (rp_frame *frame);
+ rp_frame *find_windows_frame (rp_window *win);
+ rp_frame *find_frame_next (rp_frame *frame);
diff --git a/debian/patches/brl-menu.diff b/debian/patches/brl-menu.diff
new file mode 100644
index 0000000..e4b8e47
--- /dev/null
+++ b/debian/patches/brl-menu.diff
@@ -0,0 +1,144 @@
+Index: ratpoison/src/main.c
+===================================================================
+--- ratpoison.orig/src/main.c 2006-10-28 19:56:35.000000000 +0200
++++ ratpoison/src/main.c 2006-10-28 19:56:48.000000000 +0200
+@@ -458,7 +458,13 @@
+ {
+ rp_action *help_action;
+ char *prefix, *help;
++ const char *help_show;
+ rp_keymap *map;
++#ifdef MENU_PROG
++ rp_action *menu_action;
++ char *menu;
++ const char *menu_show;
++#endif
+
+ prefix = keysym_to_string (prefix_key.sym, prefix_key.state);
+
+@@ -467,27 +473,44 @@
+ /* Find the help key binding. */
+ help_action = find_keybinding_by_action ("help " ROOT_KEYMAP, map);
+ if (help_action)
+- help = keysym_to_string (help_action->key, help_action->state);
+- else
+- help = NULL;
+-
+-
+- if (help)
+ {
++ help = keysym_to_string (help_action->key, help_action->state);
+ /* A little kludge to use ? instead of `question' for the help
+ key. */
+ if (!strcmp (help, "question"))
+- marked_message_printf (0, 0, MESSAGE_WELCOME, prefix, "?");
++ help_show = "?";
+ else
+- marked_message_printf (0, 0, MESSAGE_WELCOME, prefix, help);
+-
+- free (help);
++ help_show = help;
++ }
++ else
++ {
++ help = NULL;
++ help_show = ":help";
++ }
++#ifdef MENU_PROG
++ /* Find the menu key binding. */
++ menu_action = find_keybinding_by_action ("menu", map);
++ if (menu_action)
++ {
++ menu = keysym_to_string (menu_action->key, menu_action->state);
++ if (!strcmp (menu, "period"))
++ menu_show = ".";
++ else
++ menu_show = menu;
+ }
+ else
+ {
+- marked_message_printf (0, 0, MESSAGE_WELCOME, prefix, ":help");
++ menu = NULL;
++ menu_show = ":menu";
+ }
+
++ marked_message_printf (0, 0, MESSAGE_WELCOME_MENU, prefix, help_show,
++ prefix, menu_show);
++ free(menu);
++#else
++ marked_message_printf (0, 0, MESSAGE_WELCOME, prefix, help_show);
++#endif
++ free(help);
+ free (prefix);
+ }
+
+Index: ratpoison/src/actions.c
+===================================================================
+--- ratpoison.orig/src/actions.c 2006-10-28 19:56:41.000000000 +0200
++++ ratpoison/src/actions.c 2006-10-28 19:56:48.000000000 +0200
+@@ -682,6 +682,9 @@
+ add_keybinding (prefix_key.sym, prefix_key.state, "other", map);
+ add_keybinding (prefix_key.sym, 0, "meta", map);
+ add_keybinding (XK_g, RP_CONTROL_MASK, "abort", map);
++#ifdef MENU_PROG
++ add_keybinding (XK_period, 0, "menu", map);
++#endif
+ add_keybinding (XK_0, 0, "select 0", map);
+ add_keybinding (XK_1, 0, "select 1", map);
+ add_keybinding (XK_2, 0, "select 2", map);
+@@ -766,6 +769,10 @@
+ add_alias ("unbind", "undefinekey " ROOT_KEYMAP);
+ add_alias ("bind", "definekey " ROOT_KEYMAP);
+ add_alias ("split", "vsplit");
++
++#ifdef MENU_PROG
++ add_alias ("menu", "exec " MENU_PROG );
++#endif
+ }
+
+ static cmdret *
+Index: ratpoison/ChangeLog
+===================================================================
+--- ratpoison.orig/ChangeLog 2006-10-28 19:56:41.000000000 +0200
++++ ratpoison/ChangeLog 2006-10-28 19:56:48.000000000 +0200
+@@ -1,1 +1,7 @@
++2005-01-15 Bernhard R. Link <brlink@debian.org>
++
++ * configure.in: add --with-menu to specify a menu program
++ * src/action.c: add menu alias and binding if menu specified
++ * src/main.c: tell menu command if menu specified
++
+ 2005-06-28 Bernhard R. Link <brlink@debian.org>
+Index: ratpoison/configure.in
+===================================================================
+--- ratpoison.orig/configure.in 2006-10-28 19:56:36.000000000 +0200
++++ ratpoison/configure.in 2006-10-28 19:56:48.000000000 +0200
+@@ -45,6 +45,15 @@
+ term_prog=$withval, term_prog="xterm")
+ AC_DEFINE_UNQUOTED(TERM_PROG, "$term_prog", X terminal emulator to use)
+
++AC_ARG_WITH(menu, [ --with-menu=PROG set a external menu program to be advertised ],
++menu_prog="$withval", menu_prog="")
++
++if test "$menu_prog" != "no" && ! test -z "$menu_prog" ; then
++AC_DEFINE_UNQUOTED(MENU_PROG, "$menu_prog", external menu program to advertise)
++AC_MSG_CHECKING(external menu program)
++AC_MSG_RESULT($menu_prog)
++fi
++
+ dnl Checks for programs.
+ AC_CHECK_TOOL(CC, gcc)
+ AC_PROG_CC
+Index: ratpoison/src/messages.h
+===================================================================
+--- ratpoison.orig/src/messages.h 2006-10-28 19:56:35.000000000 +0200
++++ ratpoison/src/messages.h 2006-10-28 19:56:48.000000000 +0200
+@@ -50,7 +50,8 @@
+ #define MESSAGE_PROMPT_VAR_VALUE "Value: "
+
+ #define MESSAGE_WELCOME "Welcome to ratpoison! Hit `%s %s' for help."
++#define MESSAGE_WELCOME_MENU "Welcome to ratpoison! Hit `%s %s' for help. `%s %s' for menu."
+
+ #define EMPTY_FRAME_MESSAGE "Current Frame"
+
+ #endif /* ! _RATPOISON_MESSAGES_H */
diff --git a/debian/patches/brl-menu.reconf b/debian/patches/brl-menu.reconf
new file mode 100644
index 0000000..db2e287
--- /dev/null
+++ b/debian/patches/brl-menu.reconf
@@ -0,0 +1,54 @@
+Index: ratpoison/configure
+===================================================================
+--- ratpoison.orig/configure 2006-10-30 17:37:33.000000000 +0100
++++ ratpoison/configure 2006-10-30 17:38:43.000000000 +0100
+@@ -1295,6 +1295,7 @@
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-xterm=PROG set the x terminal emulator used by ratpoison
++ --with-menu=PROG set a external menu program to be advertised
+ --with-x use the X Window System
+
+ Some influential environment variables:
+@@ -2343,6 +2344,27 @@
+ _ACEOF
+
+
++
++# Check whether --with-menu was given.
++if test "${with_menu+set}" = set; then
++ withval=$with_menu; menu_prog="$withval"
++else
++ menu_prog=""
++fi
++
++
++if test "$menu_prog" != "no" && ! test -z "$menu_prog" ; then
++
++cat >>confdefs.h <<_ACEOF
++#define MENU_PROG "$menu_prog"
++_ACEOF
++
++{ echo "$as_me:$LINENO: checking external menu program" >&5
++echo $ECHO_N "checking external menu program... $ECHO_C" >&6; }
++{ echo "$as_me:$LINENO: result: $menu_prog" >&5
++echo "${ECHO_T}$menu_prog" >&6; }
++fi
++
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}gcc; ac_word=$2
+Index: ratpoison/src/config.h.in
+===================================================================
+--- ratpoison.orig/src/config.h.in 2006-10-30 17:38:06.000000000 +0100
++++ ratpoison/src/config.h.in 2006-10-30 17:38:31.000000000 +0100
+@@ -72,6 +72,9 @@
+ /* Define to 1 if you have the <X11/extensions/Xinerama.h> header file. */
+ #undef HAVE_X11_EXTENSIONS_XINERAMA_H
+
++/* external menu program to advertise */
++#undef MENU_PROG
++
+ /* Name of package */
+ #undef PACKAGE
+
diff --git a/debian/patches/proper-install-info.diff b/debian/patches/proper-install-info.diff
new file mode 100644
index 0000000..7ecf8e4
--- /dev/null
+++ b/debian/patches/proper-install-info.diff
@@ -0,0 +1,26 @@
+This patch is needed when the .orig.tar.gz you are building for is
+generated by a automake version having problems with Debian's
+install-info command.
+
+Index: ratpoison-1.4.0.dfsg/doc/Makefile.in
+===================================================================
+--- ratpoison-1.4.0.dfsg.orig/doc/Makefile.in 2006-06-26 11:10:08.000000000 +0200
++++ ratpoison-1.4.0.dfsg/doc/Makefile.in 2006-06-26 11:11:08.000000000 +0200
+@@ -151,7 +151,7 @@
+ uninstall-info-am:
+ $(PRE_UNINSTALL)
+ @if (install-info --version && \
+- install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
++ install-info --version 2>&1 | sed 1q | fgrep -i -v debian) >/dev/null 2>&1; then \
+ list='$(INFO_DEPS)'; \
+ for file in $$list; do \
+ echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file"; \
+@@ -324,7 +324,7 @@
+ done
+ @$(POST_INSTALL)
+ @if (install-info --version && \
+- install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
++ install-info --version 2>&1 | sed 1q | fgrep -i -v debian) >/dev/null 2>&1; then \
+ list='$(INFO_DEPS)'; \
+ for file in $$list; do \
+ echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..ebfdaf9
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,3 @@
+brl-enlarge.diff -p0
+brl-menu.diff
+brl-menu.reconf
diff --git a/debian/postinst b/debian/postinst
new file mode 100644
index 0000000..6a1d7ee
--- /dev/null
+++ b/debian/postinst
@@ -0,0 +1,36 @@
+#! /bin/sh
+# postinst script for ratpoison
+
+set -e
+
+case "$1" in
+ configure|abort-remove|abort-deconfigure)
+# 20 to start with,
+## when depending again on 9menu:
+## plus 20 as we have menu support configured
+## plus 10 as it can restart other wm's with :newwm or menu
+ update-alternatives --install /usr/bin/x-window-manager \
+ x-window-manager /usr/bin/ratpoison 20 \
+ --slave /usr/share/man/man1/x-window-manager.1.gz \
+ x-window-manager.1.gz /usr/share/man/man1/ratpoison.1.gz
+ ;;
+
+ abort-upgrade)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# taken from dh_pysupport
+if [ "$1" = "configure" ] && which update-python-modules >/dev/null 2>&1; then
+ update-python-modules -i /usr/share/python-support/ratpoison
+fi
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/prerm b/debian/prerm
new file mode 100644
index 0000000..89b4c83
--- /dev/null
+++ b/debian/prerm
@@ -0,0 +1,28 @@
+#! /bin/sh
+# prerm script for ratpoison
+
+set -e
+
+case "$1" in
+ remove|deconfigure)
+ update-alternatives --remove x-window-manager /usr/bin/ratpoison
+ if [ -d /var/lib/ratpoison/menu ] ; then
+ rm /var/lib/ratpoison/menu/*.menu || true
+ fi
+ ;;
+ upgrade|failed-upgrade)
+ ;;
+ *)
+ echo "prerm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# taken from dh_pysupport:
+if which update-python-modules >/dev/null 2>&1; then
+ update-python-modules -c -i /usr/share/python-support/ratpoison
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/ratpoison.dirs b/debian/ratpoison.dirs
deleted file mode 100644
index e772481..0000000
--- a/debian/ratpoison.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/bin
diff --git a/debian/ratpoison.docs b/debian/ratpoison.docs
deleted file mode 100644
index 6f83607..0000000
--- a/debian/ratpoison.docs
+++ /dev/null
@@ -1,3 +0,0 @@
-AUTHORS
-NEWS
-README
diff --git a/debian/ratpoison.examples b/debian/ratpoison.examples
deleted file mode 100644
index 8a0655c..0000000
--- a/debian/ratpoison.examples
+++ /dev/null
@@ -1,5 +0,0 @@
-doc/ipaq.ratpoisonrc
-doc/sample.ratpoisonrc
-contrib/genrpbindings
-contrib/ratpoison.el
-contrib/split.sh
diff --git a/debian/ratpoison.info b/debian/ratpoison.info
deleted file mode 100644
index 2758ea9..0000000
--- a/debian/ratpoison.info
+++ /dev/null
@@ -1 +0,0 @@
-doc/ratpoison.info
diff --git a/debian/ratpoison.menu b/debian/ratpoison.menu
deleted file mode 100644
index 3b330e5..0000000
--- a/debian/ratpoison.menu
+++ /dev/null
@@ -1,2 +0,0 @@
-?package(ratpoison):needs=wm section=WindowManagers \
- title="ratpoison" command="/usr/bin/ratpoison"
diff --git a/debian/ratpoison.watch b/debian/ratpoison.watch
deleted file mode 100644
index 0bbfbbe..0000000
--- a/debian/ratpoison.watch
+++ /dev/null
@@ -1 +0,0 @@
-ratpoison.sourceforge.net /pub/ratpoison ratpoison-(.*)\.tar\.gz debian uupdate
diff --git a/debian/ratpoison.wm b/debian/ratpoison.wm
deleted file mode 100644
index 664edf7..0000000
--- a/debian/ratpoison.wm
+++ /dev/null
@@ -1 +0,0 @@
-/usr/bin/ratpoison
diff --git a/debian/rules b/debian/rules
index 0694f8a..85b35a1 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,120 +1,147 @@
-#! /usr/bin/make -f
-## debian/rules for ratpoison
-## Copyright (C) 2001 Gergely Nagy <algernon@debian.org>
-##
-## Released under the GNU GPL v2
-##
-## $Id: rules,v 1.8 2001/12/08 23:26:31 algernon Exp $
-
-export DH_COMPAT = 2
-DEBHELPER_OPTIONS = -p$@ -Pdebian/$(DEB_HOST_ARCH)/$@
-PWD := $(CURDIR)
-
-DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
-
-CFLAGS = -O2
-
-ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
- CFLAGS += -g
- CONFIG_FLAGS += --enable-debug
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+
+CFLAGS = -Wall -g
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+ CFLAGS += -O0
+ DEPENDENCIES =
+else
+ CFLAGS += -O2
+ifneq (,$(findstring ratpoison:gendeps,$(DEB_BUILD_OPTIONS)))
+ DEPENDENCIES =
else
- CONFIG_FLAGS += --disable-debug
+ DEPENDENCIES = --disable-dependency-tracking
+endif
endif
-# bootstrap - for building from CVS snapshots
-bootstrap: build-deb/$(DEB_HOST_ARCH)/bootstrap-stamp
-build-deb/$(DEB_HOST_ARCH)/bootstrap-stamp:
- test -f configure || ./autogen.sh
- install -d build-deb/$(DEB_HOST_ARCH)
- touch $@
-
-# config - run configure
-config: bootstrap build-deb/$(DEB_HOST_ARCH)/config.status
-build-deb/$(DEB_HOST_ARCH)/config.status:
+config.status: configure
dh_testdir
- cd build-deb/$(DEB_HOST_ARCH) && \
- CFLAGS="$(CFLAGS)" ../../configure \
- --prefix=/usr \
- --infodir=/usr/share/info \
- --mandir=/usr/share/man \
- --with-xterm=x-terminal-emulator \
- --build=$(DEB_BUILD_GNU_TYPE) \
- --host=$(DEB_HOST_GNU_TYPE) \
- $(CONFIG_FLAGS)
-
-# build - build the package
-build: config build-deb/$(DEB_HOST_ARCH)/build-stamp
-build-deb/$(DEB_HOST_ARCH)/build-stamp:
+ if grep 'install-info --version | fgrep' doc/Makefile.in ; then \
+ echo "incompatible install-info call in doc/Makefile.in!" >&2 ;\
+ exit 1 ; \
+ fi
+ ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
+ --prefix=/usr \
+ --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info \
+ --with-xterm=x-terminal-emulator \
+ --with-menu="/etc/X11/ratpoison/ratpoisonmenu debian.menu" \
+ $(DEPENDENCIES) \
+ --x-includes="" --x-libraries="" \
+ CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,syms"
+
+build: build-stamp
+
+build-stamp: config.status
dh_testdir
- $(MAKE) -C build-deb/$(DEB_HOST_ARCH) all
- touch $@
-# clean - remove build directories
+ $(MAKE)
+ cd contrib && ./genrpbindings
+ touch build-stamp
+
clean:
dh_testdir
dh_testroot
- -$(MAKE) -C build-deb/$(DEB_HOST_ARCH) distclean
- rm -Rf build-deb/$(DEB_HOST_ARCH)
- @for m in $(shell dh_listpackages); do \
- echo "dh_clean -p$$m -Pdebian/$(DEB_HOST_ARCH)/$$m" ;\
- dh_clean -p$$m -Pdebian/$(DEB_HOST_ARCH)/$$m ;\
- done
- rm -Rf debian/$(DEB_HOST_ARCH)
-
-# install - install the package to debian/<ARCH>/ratpoison
+ rm -f build-stamp
+
+ if [ -e config.status ] ; then $(MAKE) distclean ; fi
+ -rm -f contrib/Ratpoison.pm contrib/ratpoison-cmd.el contrib/ratpoison.lisp contrib/ratpoison.py contrib/ratpoison.rb
+ifneq "$(wildcard /usr/share/misc/config.sub)" ""
+ cp -f /usr/share/misc/config.sub config.sub
+endif
+ifneq "$(wildcard /usr/share/misc/config.guess)" ""
+ cp -f /usr/share/misc/config.guess config.guess
+endif
+ dh_clean
+
install: build
dh_testdir
dh_testroot
- @for m in $(shell dh_listpackages); do \
- echo "dh_clean -k -Pdebian/$(DEB_HOST_ARCH)/$$m -p$$m" ;\
- dh_clean -k -Pdebian/$(DEB_HOST_ARCH)/$$m -p$$m ;\
- echo "dh_installdirs -Pdebian/$(DEB_HOST_ARCH)/$$m -p$$m" ;\
- dh_installdirs -Pdebian/$(DEB_HOST_ARCH)/$$m -p$$m ;\
- done
- $(MAKE) -C build-deb/$(DEB_HOST_ARCH) \
- install DESTDIR=$(PWD)/debian/$(DEB_HOST_ARCH)/ratpoison
- rm -f $(PWD)/debian/$(DEB_HOST_ARCH)/ratpoison/usr/share/doc/ratpoison/COPYING
- rm -f $(PWD)/debian/$(DEB_HOST_ARCH)/ratpoison/usr/share/doc/ratpoison/ChangeLog
- rm -rf $(PWD)/debian/$(DEB_HOST_ARCH)/ratpoison/usr/share/ratpoison
-
-# these build the various packages
-ratpoison: install
+ dh_clean -k
+ dh_installdirs
+
+ $(MAKE) install pkgdatadir=/usr/share/doc/ratpoison/examples DESTDIR=$(CURDIR)/debian/ratpoison
+ rm $(CURDIR)/debian/ratpoison/usr/bin/rpws
+ -rm -r $(CURDIR)/debian/ratpoison/usr/share/ratpoison
+ # Those are installed to different places already by dh_*
+ rm $(CURDIR)/debian/ratpoison/usr/share/doc/ratpoison/COPYING
+ rm $(CURDIR)/debian/ratpoison/usr/share/doc/ratpoison/ChangeLog
+ # The menu command:
+ install -m 0755 debian/callmenu.sh $(CURDIR)/debian/ratpoison/etc/X11/ratpoison/ratpoisonmenu
+ # bindings for the different languages:
+ install -m 0644 $(CURDIR)/contrib/Ratpoison.pm $(CURDIR)/debian/ratpoison/usr/share/perl5/
+ install -m 0644 $(CURDIR)/contrib/ratpoison.rb $(CURDIR)/debian/ratpoison/usr/lib/ruby/1.8/
+ install -m 0644 $(CURDIR)/contrib/ratpoison.py $(CURDIR)/debian/ratpoison/usr/share/python-support/ratpoison/
+ install -m 0644 $(CURDIR)/contrib/ratpoison-cmd.el $(CURDIR)/debian/ratpoison/usr/share/emacs/site-lisp/ratpoison/
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do
+
+# Build architecture-dependent files here.
+binary-arch: build install
dh_testdir
dh_testroot
- dh_installdocs $(DEBHELPER_OPTIONS)
- dh_installexamples $(DEBHELPER_OPTIONS)
- dh_installmenu $(DEBHELPER_OPTIONS)
-# dh_installlogrotate $(DEBHELPER_OPTIONS)
-# dh_installemacsen $(DEBHELPER_OPTIONS)
-# dh_installpam $(DEBHELPER_OPTIONS)
-# dh_installinit $(DEBHELPER_OPTIONS)
-# dh_installcron $(DEBHELPER_OPTIONS)
- dh_installmanpages $(DEBHELPER_OPTIONS)
- dh_installinfo $(DEBHELPER_OPTIONS)
-# dh_undocumented $(DEBHELPER_OPTIONS)
- dh_installchangelogs ChangeLog $(DEBHELPER_OPTIONS)
- dh_installwm $(DEBHELPER_OPTIONS) /usr/bin/ratpoison
- dh_link $(DEBHELPER_OPTIONS)
- dh_strip $(DEBHELPER_OPTIONS)
- dh_compress $(DEBHELPER_OPTIONS)
- dh_fixperms $(DEBHELPER_OPTIONS)
-# dh_makeshlibs $(DEBHELPER_OPTIONS)
- dh_installdeb $(DEBHELPER_OPTIONS)
-# dh_perl $(DEBHELPER_OPTIONS)
- dh_shlibdeps $(DEBHELPER_OPTIONS)
- dh_gencontrol $(DEBHELPER_OPTIONS)
- dh_md5sums $(DEBHELPER_OPTIONS)
- dh_builddeb $(DEBHELPER_OPTIONS)
-
-# binary-arch, binary-indep, binary - targets required by DP
-binary-arch: ratpoison
-binary-indep:
-binary: binary-indep binary-arch
+ dh_installchangelogs ChangeLog
+ dh_installdocs
+ dh_installexamples
+ dh_installemacsen
+ dh_installmenu
+ dh_installinfo doc/ratpoison.info
+ dh_link
+ dh_strip
+ dh_compress
+ dh_fixperms
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
-# rebuild - rebuild from (almost) pristine sources
-rebuild: clean binary
+RATPOISON_VERSION=1.4.0
+RATPOISON_CVSVERSION=1.4.1~CVS$(shell date +%Y%m%d)
+RATPOISON_UVERSION=1.4.1-CVS
-.PHONY: build clean binary-indep binary-arch binary install rebuild \
- bootstrap config ratpoison
+# some helpers for me
+# just ignore those if you want to do a NMU or a security upload, change the files outside
+# of debian/patches and do an upload. The patches are only stored there for reference and
+# so I do not loose them.
+maintainer-clean:
+ quilt refresh
+ quilt push -a || true
+ rm -f .pc patches
+maintainer-unclean:
+ ln -s "../pc-ratpoison-$(RATPOISON_VERSION)" .pc
+ ln -s debian/patches patches
+ quilt push -a
+maintainer-ready:
+ test ! -d "../ratpoison-$(RATPOISON_VERSION)"
+ test ! -d "../pc-ratpoison-$(RATPOISON_VERSION)"
+ rm -rf "ratpoison-$(RATPOISON_UVERSION)"
+ tar -xzf "../ratpoison_$(RATPOISON_VERSION).orig.tar.gz"
+ mv "ratpoison-$(RATPOISON_UVERSION)" "../ratpoison-$(RATPOISON_VERSION)"
+ cp -a debian "../ratpoison-$(RATPOISON_VERSION)/"
+ rm -rf "../ratpoison-$(RATPOISON_VERSION)/debian/CVS"
+ rm -rf "../ratpoison-$(RATPOISON_VERSION)/debian/patches/CVS"
+ mkdir "../pc-ratpoison-$(RATPOISON_VERSION)"
+ ln -s "../pc-ratpoison-$(RATPOISON_VERSION)" "../ratpoison-$(RATPOISON_VERSION)/.pc"
+ ln -s debian/patches "../ratpoison-$(RATPOISON_VERSION)/patches"
+ cd "../ratpoison-$(RATPOISON_VERSION)" && quilt upgrade && quilt push -a
+maintainer-cvs:
+ make dist
+ mv "ratpoison-$(RATPOISON_UVERSION).tar.gz" "../ratpoison_$(RATPOISON_CVSVERSION).orig.tar.gz"
+ ./debian/rules maintainer-ready RATPOISON_VERSION="$(RATPOISON_CVSVERSION)"
+ cd "../ratpoison-$(RATPOISON_CVSVERSION)" && ./debian/rules maintainer-clean
+ cd "../ratpoison-$(RATPOISON_CVSVERSION)" && dch -v "$(RATPOISON_CVSVERSION)-0" -D "LOCAL"
+
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install get-orig-source make-orig-source-working
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..da14b45
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,4 @@
+# See uscan(1) for format
+version=2
+opts=dversionmangle=s/\.dfsg$// \
+ http://savannah.nongnu.org/download/ratpoison/ratpoison-([0-9.]*)\.tar\.gz