--- docker-1.4.orig/debian/changelog +++ docker-1.4/debian/changelog @@ -0,0 +1,54 @@ +docker (1.4-5ubuntu1) natty; urgency=low + + * debian/pacthes/03_fix_ftbfs_binutils-gold.patch: fix FTBFS binutils-gold + with ld --no-add-needed by declaring library after object. (LP: #704871) + + -- Mahyuddin Susanto Wed, 19 Jan 2011 21:40:27 +0700 + +docker (1.4-5) unstable; urgency=low + + * Convert patches to quilt + * 02_no-poll.patch: + - Apply patch from Leandro Lucarella to stop polling every 1/2 second + (Closes: #501094) + * Move menu entry to Applications/Viewers (Closes: #482928) + + -- Ari Pollak Sat, 25 Oct 2008 15:35:44 -0400 + +docker (1.4-4) unstable; urgency=low + + * Add -color option to allow setting the default background color with + standard X color specifications (Closes: #416240) + * Fix confusing package description (Closes: #450751) + * Fix spelling error in help text (Closes: #450749) + * Fix broken watch file (Closes: #449669) + * Fix misleading Info reference in manpage (Closes: #295873) + * Add -wmaker option to manpage (Closes: #326777) + + -- Ari Pollak Sat, 01 Dec 2007 00:43:47 -0500 + +docker (1.4-3) unstable; urgency=low + + * Depend on libx11-dev | xlibs-dev instead of xlibs-dev + + -- Ari Pollak Mon, 5 Dec 2005 10:47:35 -0500 + +docker (1.4-2) unstable; urgency=low + + * Check for noopt in DEB_BUILD_OPTIONS correctly + + -- Ari Pollak Thu, 14 Nov 2002 19:10:14 -0500 + +docker (1.4-1) unstable; urgency=low + + * New upstream release + - Aesthetic support for WindowMaker has been added with the -wmaker option + + -- Ari Pollak Sun, 10 Nov 2002 23:14:21 -0500 + +docker (1.3-1) unstable; urgency=low + + * Initial Release. (Closes: #167491) + + -- Ari Pollak Sat, 2 Nov 2002 15:11:22 -0500 + --- docker-1.4.orig/debian/control +++ docker-1.4/debian/control @@ -0,0 +1,16 @@ +Source: docker +Section: x11 +Priority: optional +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Ari Pollak +Build-Depends: debhelper (>> 4.0.0), quilt (>= 0.40), libx11-dev, libglib2.0-dev +Standards-Version: 3.8.0 + +Package: docker +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: System tray for KDE3/GNOME2 docklet applications + Docker is a docking application (WindowMaker dock app) which acts as a system + tray for any desktop environment, allowing you to have a system tray without + running the KDE/GNOME panel Docker was designed to work with Openbox 2, but it + should work fine in any window manager. --- docker-1.4.orig/debian/watch +++ docker-1.4/debian/watch @@ -0,0 +1,6 @@ +# Example watch control file for uscan +# Rename this file to "watch" and then you can run the "uscan" command +# to check for upstream updates and more. +# Site Directory Pattern Version Script +version=2 +http://icculus.org/openbox/2/docker/ docker-([\d\.]*).tar.gz --- docker-1.4.orig/debian/docs +++ docker-1.4/debian/docs @@ -0,0 +1 @@ +README --- docker-1.4.orig/debian/manpages +++ docker-1.4/debian/manpages @@ -0,0 +1 @@ +debian/docker.1 --- docker-1.4.orig/debian/copyright +++ docker-1.4/debian/copyright @@ -0,0 +1,12 @@ +This package was debianized by Ari Pollak on +Sat, 2 Nov 2002 15:11:22 -0500. + +It was downloaded from + +Upstream Author: Ben Jansens + +Copyright: 2003 Ben Jansens + +GPLv2 or later. On Debian GNU/Linux systems, the complete text of +the GNU General Public License version 2 can be found in +/usr/share/common-licenses/GPL-2. --- docker-1.4.orig/debian/dirs +++ docker-1.4/debian/dirs @@ -0,0 +1 @@ +usr/bin --- docker-1.4.orig/debian/compat +++ docker-1.4/debian/compat @@ -0,0 +1 @@ +4 --- docker-1.4.orig/debian/rules +++ docker-1.4/debian/rules @@ -0,0 +1,97 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. + +include /usr/share/quilt/quilt.make + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + + +CFLAGS=-g -Wall +export CFLAGS + +ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O2 +else + CFLAGS += -O0 +endif +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + INSTALL_PROGRAM += -s +endif + +configure: configure-stamp +configure-stamp: $(QUILT_STAMPFN) + dh_testdir + # Add here commands to configure the package. + + touch configure-stamp + + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + + # Add here commands to compile the package. + $(MAKE) PREFIX=/usr + #/usr/bin/docbook-to-man debian/docker.sgml > docker.1 + + touch build-stamp + +clean: unpatch + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + # Add here commands to clean up after the build process. + [ ! -f Makefile ] || $(MAKE) clean + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/docker. + $(MAKE) install PREFIX=$(CURDIR)/debian/docker/usr + + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot +# dh_installdebconf + dh_installdocs + dh_installexamples + dh_installmenu +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_installinit + dh_installcron + dh_installman + dh_installinfo +# dh_undocumented + dh_installchangelogs + dh_link + dh_strip + dh_compress + dh_fixperms +# dh_makeshlibs + dh_installdeb +# dh_perl + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure --- docker-1.4.orig/debian/docker.1 +++ docker-1.4/debian/docker.1 @@ -0,0 +1,68 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH DOCKER 1 "November 2, 2002" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +docker \- System tray for KDE3/GNOME2 docklet applications +.SH SYNOPSIS +.B docker +.RI [ options ] +.SH DESCRIPTION +This manual page documents briefly the +.B docker +command. +This manual page was written for the Debian distribution +because the original program does not have a manual page. +.PP +.\" TeX users may be more comfortable with the \fB\fP and +.\" \fI\fP escape sequences to invode bold face and italics, +.\" respectively. +\fBdocker\fP is a docking application (WindowMaker dock app) which acts as a system tray for KDE3 and GNOME2. It can be used to replace the panel in either +environment, allowing you to have a system tray without running the KDE/GNOME +panel. +.PP +Docker was written and designed to work with Openbox 2, but it should work +fine in any window manager that supports WindowMaker dock apps. + +.SH OPTIONS +.TP +.B \-h-help +Show summary of options. +.TP +.B \-display DISPLAY +The X display to connect to. +.TP +.B \-border N +The width of the border to put around the system tray icons. Defaults to 1. +.TP +.B \-vertical +Line up the icons vertically. Defaults to horizontally. +.TP +.B \-wmaker +WindowMaker mode. This makes docker a fixed size (64x64) to appear nicely in in +WindowMaker. Note: In this mode, you have a fixed number of icons that docker +can hold. +.TP +.B \-iconsize SIZE +The size (width and height and height) to display icons as in the system +tray. Defaults to 24. +.TP +.B \-color COLOR +The background color to use for the tray. Defaults to whatever color the window +manager specifies. +.SH AUTHOR +This manual page was written by Ari Pollak , +for the Debian GNU/Linux system (but may be used by others). --- docker-1.4.orig/debian/menu +++ docker-1.4/debian/menu @@ -0,0 +1,2 @@ +?package(docker):needs="x11" section="Applications/Viewers"\ + title="docker" command="/usr/bin/docker" --- docker-1.4.orig/debian/patches/03_fix_ftbfs_binutils-gold.patch +++ docker-1.4/debian/patches/03_fix_ftbfs_binutils-gold.patch @@ -0,0 +1,18 @@ +Description: Fix FTBFS binutils-gold with ld --no-add-needed +Author: Mahyuddin Susanto +Ubuntu-Bug: https://launchpad.net/bugs/704871 + +--- docker-1.4/Makefile 2002-11-11 06:49:03.000000000 +0700 ++++ docker-1.4.new/Makefile 2011-01-19 15:54:35.359945265 +0700 +@@ -27,8 +27,9 @@ all: $(target) $(sources) $(headers) + @echo Build Successful + + $(target): $(sources:.c=.o) +- $(CC) $(CFLAGS) -L$(XLIBPATH) -lX11 `pkg-config --libs glib-2.0` \ +- $^ -o $@ ++ $(CC) $(CFLAGS) \ ++ $^ -o $@ \ ++ -L$(XLIBPATH) -lX11 `pkg-config --libs glib-2.0` + + %.o: %.c + $(CC) -c $(CFLAGS) `pkg-config --cflags glib-2.0` $< --- docker-1.4.orig/debian/patches/series +++ docker-1.4/debian/patches/series @@ -0,0 +1,4 @@ +00_debian.patch +01_color.patch +02_no-poll.patch +03_fix_ftbfs_binutils-gold.patch --- docker-1.4.orig/debian/patches/02_no-poll.patch +++ docker-1.4/debian/patches/02_no-poll.patch @@ -0,0 +1,68 @@ +Index: docker-1.4/docker.c +=================================================================== +--- docker-1.4.orig/docker.c ++++ docker-1.4/docker.c +@@ -12,6 +12,7 @@ + #include + #include + #include ++#include + + int argc; + char **argv; +@@ -257,6 +258,36 @@ void fix_geometry() + } + + ++gboolean next_event(XEvent *event) ++{ ++ int fd; ++ fd_set rfds; ++ ++ if (XPending(display)) { ++ XNextEvent(display, event); ++ return TRUE; ++ } ++ ++ fd = ConnectionNumber(display); ++ FD_ZERO(&rfds); ++ FD_SET(fd, &rfds); ++ ++ if (select(fd + 1, &rfds, NULL, NULL, NULL) == -1) { ++ if (errno != EINTR) { ++ g_printerr("Error waiting for events (%s)", strerror(errno)); ++ exit(1); ++ } ++ return FALSE; /* interrupted by a signal */ ++ } ++ ++ if (!FD_ISSET(fd, &rfds) || !XPending(display)) ++ return FALSE; /* false positive */ ++ ++ XNextEvent(display, event); ++ return TRUE; ++} ++ ++ + void event_loop() + { + XEvent e; +@@ -264,9 +295,7 @@ void event_loop() + GSList *it; + + while (!exit_app) { +- while (XPending(display)) { +- XNextEvent(display, &e); +- ++ if (next_event(&e)) { + switch (e.type) + { + case PropertyNotify: +@@ -332,7 +361,6 @@ void event_loop() + break; + } + } +- usleep(500000); + } + + /* remove/unparent all the icons */ --- docker-1.4.orig/debian/patches/01_color.patch +++ docker-1.4/debian/patches/01_color.patch @@ -0,0 +1,77 @@ +Index: docker-1.4/docker.c +=================================================================== +--- docker-1.4.orig/docker.c ++++ docker-1.4/docker.c +@@ -24,6 +24,7 @@ int width = 0, height = 0; + int border = 1; /* blank area around icons. must be > 0 */ + gboolean horizontal = TRUE; /* layout direction */ + int icon_size = 24; /* width and height of systray icons */ ++static const char *colortext = NULL; + + static char *display_string = NULL; + /* excluding the border. sum of all child apps */ +@@ -95,6 +96,15 @@ void parse_cmd_line() + g_printerr("-iconsize requires a parameter\n"); + help = TRUE; + } ++ } else if (0 == strcasecmp(argv[i], "-color")) { ++ ++i; ++ ++ if (i < argc) { ++ colortext = argv[i]; ++ } else { /* argument doesn't exist */ ++ g_printerr("-color requires a parameter\n"); ++ help = TRUE; ++ } + } else { + if (argv[i][0] == '-') + help = TRUE; +@@ -121,6 +131,9 @@ void parse_cmd_line() + g_print(" -iconsize SIZE The size (width and height) to display\n" + " icons as in the system tray. Defaults to\n" + " 24.\n"); ++ g_print(" -color COLOR The background color to use for the tray.\n" ++ " Defaults to whatever color the window\n" ++ " manager specifies.\n"); + exit(1); + } + } +@@ -154,6 +167,9 @@ void create_main_window() + { + XWMHints hints; + XTextProperty text; ++ Colormap colormap; ++ XColor xcolor; ++ char *name = "Docker"; + + /* the border must be > 0 if not in wmaker mode */ + assert(wmaker || border > 0); +@@ -167,7 +183,6 @@ void create_main_window() + + assert(win); + +- char *name = "Docker"; + XStringListToTextProperty(&name, 1, &text); + XSetWMName(display, win, &text); + +@@ -178,7 +193,19 @@ void create_main_window() + create_hint_win(); + + XSync(display, False); +- XSetWindowBackgroundPixmap(display, win, ParentRelative); ++ ++ if (colortext) { ++ colormap = DefaultColormap(display, DefaultScreen(display)); ++ if (!XParseColor(display, colormap, colortext, &xcolor)) { ++ g_printerr("Couldn't find color in database: %s\n", colortext); ++ exit(1); ++ } ++ assert(XAllocColor(display, colormap, &xcolor)); ++ XSetWindowBackground(display, win, xcolor.pixel); ++ } else { ++ XSetWindowBackgroundPixmap(display, win, ParentRelative); ++ } ++ + XClearWindow(display, win); + } + --- docker-1.4.orig/debian/patches/00_debian.patch +++ docker-1.4/debian/patches/00_debian.patch @@ -0,0 +1,129 @@ +Index: docker-1.4/docker.c +=================================================================== +--- docker-1.4.orig/docker.c ++++ docker-1.4/docker.c +@@ -9,7 +9,9 @@ + #include */ + #include + #include ++#include + #include ++#include + + int argc; + char **argv; +@@ -79,7 +82,7 @@ void parse_cmd_line() + g_printerr("-border requires a parameter\n"); + help = TRUE; + } +- } else if (0 == strcasecmp(argv[i], "-iconsize")) { ++ } else if (0 == strcasecmp(argv[i], "-iconsize")) { + ++i; + if (i < argc) { + int s = atoi(argv[i]); +@@ -106,7 +118,7 @@ void parse_cmd_line() + g_print("Usage: %s [OPTIONS]\n\n", argv[0]); + g_print("Options:\n"); + g_print(" -help Show this help.\n"); +- g_print(" -display DISLPAY The X display to connect to.\n"); ++ g_print(" -display DISPLAY The X display to connect to.\n"); + g_print(" -border The width of the border to put around the\n" + " system tray icons. Defaults to 1.\n"); + g_print(" -vertical Line up the icons vertically. Defaults to\n" +@@ -218,7 +247,6 @@ void fix_geometry() + width = horizontal ? 0 : icon_size; + height = horizontal ? icon_size : 0; + for (it = icons; it != NULL; it = g_slist_next(it)) { +- TrayWindow *traywin = it->data; + if (horizontal) + width += icon_size; + else +@@ -358,4 +386,6 @@ int main(int c, char **v) + event_loop(); + + XCloseDisplay(display); ++ ++ return 0; + } +Index: docker-1.4/kde.h +=================================================================== +--- docker-1.4.orig/kde.h ++++ docker-1.4/kde.h +@@ -6,6 +6,7 @@ + + extern Atom kde_systray_prop; + ++void kde_init(); + void kde_update_icons(); + + #endif /* __kde_h */ +Index: docker-1.4/kde.c +=================================================================== +--- docker-1.4.orig/kde.c ++++ docker-1.4/kde.c +@@ -1,4 +1,5 @@ + #include "kde.h" ++#include "icons.h" + #include "docker.h" + #include "xproperty.h" + #include +Index: docker-1.4/net.c +=================================================================== +--- docker-1.4.orig/net.c ++++ docker-1.4/net.c +@@ -15,14 +15,14 @@ static Atom net_message_data_atom; + #define SYSTEM_TRAY_BEGIN_MESSAGE 1 + #define SYSTEM_TRAY_CANCEL_MESSAGE 2 + +-static net_create_selection_window() ++static void net_create_selection_window() + { + net_sel_win = XCreateSimpleWindow(display, root, -1, -1, 1, 1, 0, 0, 0); + assert(net_sel_win); + } + + +-static net_destroy_selection_window() ++static void net_destroy_selection_window() + { + XDestroyWindow(display, net_sel_win); + net_sel_win = None; +Index: docker-1.4/icons.h +=================================================================== +--- docker-1.4.orig/icons.h ++++ docker-1.4/icons.h +@@ -4,6 +4,7 @@ + #include + #include + #include "docker.h" ++#include "net.h" + + extern gboolean error; + +Index: docker-1.4/icons.c +=================================================================== +--- docker-1.4.orig/icons.c ++++ docker-1.4/icons.c +@@ -1,4 +1,5 @@ + #include "icons.h" ++#include + #include + + gboolean error; +@@ -35,7 +36,6 @@ gboolean icon_swallow(TrayWindow *traywi + gboolean icon_add(Window id, TrayWindowType type) + { + TrayWindow *traywin; +- XEvent e; + + assert(id); + assert(type); +@@ -44,7 +44,7 @@ gboolean icon_add(Window id, TrayWindowT + /* do we have room in our window for another icon? */ + int max = (width / icon_size) * (height / icon_size); + if (g_slist_length(icons) >= max) +- return; // no room, sorry! REJECTED! ++ return FALSE; // no room, sorry! REJECTED! + } + + traywin = g_new0(TrayWindow, 1);