diff options
author | brl <brl> | 2006-11-21 16:54:49 +0000 |
---|---|---|
committer | brl <brl> | 2006-11-21 16:54:49 +0000 |
commit | 41ee1578d0b079b60a224ad8a595af42b86b0c72 (patch) | |
tree | 3d1cfff1f41e9356d0fb38a90605ceef8b39f6ed | |
parent | 59dd6a0795dd27192e5c9e63a1d2648bce559326 (diff) | |
download | ratpoison-41ee1578d0b079b60a224ad8a595af42b86b0c72.zip |
update debian/ directory
-rw-r--r-- | debian/README.Debian | 18 | ||||
-rw-r--r-- | debian/callmenu.sh | 52 | ||||
-rw-r--r-- | debian/changelog | 269 | ||||
-rw-r--r-- | debian/compat | 1 | ||||
-rw-r--r-- | debian/control | 30 | ||||
-rw-r--r-- | debian/dirs | 7 | ||||
-rw-r--r-- | debian/docs | 1 | ||||
-rw-r--r-- | debian/emacsen-install | 46 | ||||
-rw-r--r-- | debian/emacsen-remove | 10 | ||||
-rw-r--r-- | debian/menu | 2 | ||||
-rw-r--r-- | debian/menu-method | 27 | ||||
-rw-r--r-- | debian/patches/README | 22 | ||||
-rw-r--r-- | debian/patches/brl-enlarge.diff | 416 | ||||
-rw-r--r-- | debian/patches/brl-menu.diff | 144 | ||||
-rw-r--r-- | debian/patches/brl-menu.reconf | 54 | ||||
-rw-r--r-- | debian/patches/proper-install-info.diff | 26 | ||||
-rw-r--r-- | debian/patches/series | 3 | ||||
-rw-r--r-- | debian/postinst | 36 | ||||
-rw-r--r-- | debian/prerm | 28 | ||||
-rw-r--r-- | debian/ratpoison.dirs | 1 | ||||
-rw-r--r-- | debian/ratpoison.docs | 3 | ||||
-rw-r--r-- | debian/ratpoison.examples | 5 | ||||
-rw-r--r-- | debian/ratpoison.info | 1 | ||||
-rw-r--r-- | debian/ratpoison.menu | 2 | ||||
-rw-r--r-- | debian/ratpoison.watch | 1 | ||||
-rw-r--r-- | debian/ratpoison.wm | 1 | ||||
-rwxr-xr-x | debian/rules | 235 | ||||
-rw-r--r-- | debian/watch | 4 |
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 |