diff options
4 files changed, 135 insertions, 0 deletions
diff --git a/meta/packages/clipboard-manager/clipboard-manager_0.6.4.bb b/meta/packages/clipboard-manager/clipboard-manager_0.6.4.bb new file mode 100644 index 000000000..7ab7deaf8 --- /dev/null +++ b/meta/packages/clipboard-manager/clipboard-manager_0.6.4.bb @@ -0,0 +1,34 @@ +LICENSE = "GPL" +DESCRIPTION = "clipboard manager" + +PR = "r0" + +SRC_URI = "svn://stage.maemo.org/svn/maemo/projects/haf/tags/clipboard-manager/;module=${PV};proto=https \ + file://makefile.patch;patch=1 \ + file://script.patch;patch=1 \ + file://daemonize.patch;patch=1 \ + " + +S = "${WORKDIR}/${PV}" + +inherit autotools pkgconfig + +do_install_append () { + mv ${D}/${sysconfdir}/X11/Xsession.d/clipboard.sh ${D}/${sysconfdir}/X11/Xsession.d/70clipboard + chmod u+x ${D}/${sysconfdir}/X11/Xsession.d/70clipboard +} + +pkg_postinst_clipboard-manager () { +#!/bin/sh -e +if [ x"$D" = "x" ]; then + { + if [ x$(pidof clipboard-manager) != x ]; then + kill -TERM $(pidof clipboard-manager) + fi + + ${sysconfdir}/X11/Xsession.d/70clipboard + } > /dev/null +else + exit 1 +fi +} diff --git a/meta/packages/clipboard-manager/files/daemonize.patch b/meta/packages/clipboard-manager/files/daemonize.patch new file mode 100644 index 000000000..51ce4781a --- /dev/null +++ b/meta/packages/clipboard-manager/files/daemonize.patch @@ -0,0 +1,44 @@ +Index: 0.6.4/manager.c +=================================================================== +--- 0.6.4.orig/manager.c 2007-06-28 12:23:37.000000000 +0100 ++++ 0.6.4/manager.c 2007-06-28 12:36:14.000000000 +0100 +@@ -68,7 +68,8 @@ + ClipboardManager *manager; + int terminated = False; + Display *display; +- ++ pid_t pid; ++ + display = XOpenDisplay (NULL); + + if (!display) +@@ -83,6 +84,29 @@ + exit (1); + } + ++ /* deamonize */ ++ pid = fork(); ++ switch (pid) ++ { ++ case -1: fprintf (stderr, "Fork failed.\n"); ++ /* Fall through */ ++ default: exit(0); break; ++ case 0: break; ++ } ++ ++ chdir ("/"); ++ setsid (); ++ umask (0); ++ ++ pid = fork(); ++ switch (pid) ++ { ++ case -1: fprintf (stderr, "Fork failed.\n"); ++ /* Fall through */ ++ default: exit(0); break; ++ case 0: break; ++ } ++ + XSetErrorHandler (x_error); + manager = clipboard_manager_new (display, + error_trap_push, error_trap_pop, diff --git a/meta/packages/clipboard-manager/files/makefile.patch b/meta/packages/clipboard-manager/files/makefile.patch new file mode 100644 index 000000000..6e48da004 --- /dev/null +++ b/meta/packages/clipboard-manager/files/makefile.patch @@ -0,0 +1,18 @@ +Index: 0.6.4/Makefile.am +=================================================================== +--- 0.6.4.orig/Makefile.am 2007-06-28 12:23:37.000000000 +0100 ++++ 0.6.4/Makefile.am 2007-06-28 14:21:23.000000000 +0100 +@@ -1,5 +1,3 @@ +-SUBDIRS = debian +- + bin_PROGRAMS = clipboard-manager + + INCLUDES = \ +@@ -21,6 +19,6 @@ + clipboard.txt \ + clipboard.sh + +-servicedir = $(sysconfdir)/osso-af-init ++servicedir = $(sysconfdir)/X11/Xsession.d + + service_DATA = clipboard.sh diff --git a/meta/packages/clipboard-manager/files/script.patch b/meta/packages/clipboard-manager/files/script.patch new file mode 100644 index 000000000..09e68620d --- /dev/null +++ b/meta/packages/clipboard-manager/files/script.patch @@ -0,0 +1,39 @@ +Index: 0.6.4/clipboard.sh +=================================================================== +--- 0.6.4.orig/clipboard.sh 2007-06-28 12:23:37.000000000 +0100 ++++ 0.6.4/clipboard.sh 2007-06-28 14:27:39.000000000 +0100 +@@ -1,33 +1,2 @@ + #!/bin/sh +-# Clipboard persistence manager startup script +- +-if [ "x$AF_PIDDIR" = "x" ]; then +- echo "$0: Error, AF_PIDDIR is not defined" +- exit 2 +-fi +-if [ "x$LAUNCHWRAPPER_NICE_TRYRESTART" = "x" ]; then +- echo "$0: Error, LAUNCHWRAPPER_NICE_TRYRESTART is not defined" +- exit 2 +-fi +-if [ ! -w $AF_PIDDIR ]; then +- echo "$0: Error, directory $AF_PIDDIR is not writable" +- exit 2 +-fi +-PROG=/usr/bin/clipboard-manager +-SVC="clipboard-manager" +- +-case "$1" in +-start) START=TRUE +- ;; +-stop) START=FALSE +- ;; +-*) echo "Usage: $0 {start|stop}" +- exit 1 +- ;; +-esac +- +-if [ $START = TRUE ]; then +- source $LAUNCHWRAPPER_NICE_TRYRESTART start "$SVC" $PROG +-else +- source $LAUNCHWRAPPER_NICE_TRYRESTART stop "$SVC" $PROG +-fi ++/usr/bin/clipboard-manager & |