summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta/packages/clipboard-manager/clipboard-manager_0.6.4.bb34
-rw-r--r--meta/packages/clipboard-manager/files/daemonize.patch44
-rw-r--r--meta/packages/clipboard-manager/files/makefile.patch18
-rw-r--r--meta/packages/clipboard-manager/files/script.patch39
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 &