diff options
-rw-r--r-- | sysutils/Makefile | 1 | ||||
-rw-r--r-- | sysutils/scanbuttond/Makefile | 39 | ||||
-rw-r--r-- | sysutils/scanbuttond/distinfo | 3 | ||||
-rw-r--r-- | sysutils/scanbuttond/files/patch-lib-loader.c | 11 | ||||
-rw-r--r-- | sysutils/scanbuttond/files/patch-scanbuttond.c | 35 | ||||
-rw-r--r-- | sysutils/scanbuttond/files/patch-scripts-initscanner.sh | 9 | ||||
-rw-r--r-- | sysutils/scanbuttond/files/pkg-message.in | 37 | ||||
-rw-r--r-- | sysutils/scanbuttond/pkg-descr | 12 | ||||
-rw-r--r-- | sysutils/scanbuttond/pkg-plist | 29 |
9 files changed, 176 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile index 200759335c37..787f22e7d4f7 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -498,6 +498,7 @@ SUBDIR += sb16config SUBDIR += sbniconfig SUBDIR += scan_ffs + SUBDIR += scanbuttond SUBDIR += screen SUBDIR += sdd SUBDIR += sec diff --git a/sysutils/scanbuttond/Makefile b/sysutils/scanbuttond/Makefile new file mode 100644 index 000000000000..02dc44f2eb73 --- /dev/null +++ b/sysutils/scanbuttond/Makefile @@ -0,0 +1,39 @@ +# New ports collection makefile for: scanbuttond +# Date created: 31 March 2006 +# Whom: Daniel Thiele +# +# $FreeBSD$ +# + +PORTNAME= scanbuttond +PORTVERSION= 0.2.3 +CATEGORIES= sysutils +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} +MASTER_SITE_SUBDIR= ${PORTNAME} + +MAINTAINER= dthiele@gmx.net +COMMENT= A daemon to monitor and configure modern scanner's buttons + +LIB_DEPENDS= usb-0.1.8:${PORTSDIR}/devel/libusb + +GNU_CONFIGURE= yes +CONFIGURE_ENV= CFLAGS="-I${LOCALBASE}/include" \ + LDFLAGS="-L${LOCALBASE}/lib" +CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL} +INSTALLS_SHLIB= yes + +SUB_FILES+= pkg-message + +.include <bsd.port.pre.mk> + +.if ${OSVERSION} < 500000 +BROKEN= does not build +.endif + +pre-configure: + @${FIND} ${WRKSRC} -name Makefile.in | ${XARGS} \ + ${REINPLACE_CMD} -e 's|-ldl||g' +post-install: + @${CAT} ${PKGMESSAGE} + +.include <bsd.port.post.mk> diff --git a/sysutils/scanbuttond/distinfo b/sysutils/scanbuttond/distinfo new file mode 100644 index 000000000000..e339eaf49b2e --- /dev/null +++ b/sysutils/scanbuttond/distinfo @@ -0,0 +1,3 @@ +MD5 (scanbuttond-0.2.3.tar.gz) = 548e6451b398bd95d14f008b4d39ca79 +SHA256 (scanbuttond-0.2.3.tar.gz) = 93b060a363fef069548a49cb151da53ac6071dc0569f9a07d68751a28dffebee +SIZE (scanbuttond-0.2.3.tar.gz) = 333743 diff --git a/sysutils/scanbuttond/files/patch-lib-loader.c b/sysutils/scanbuttond/files/patch-lib-loader.c new file mode 100644 index 000000000000..f9d9c50db6b8 --- /dev/null +++ b/sysutils/scanbuttond/files/patch-lib-loader.c @@ -0,0 +1,11 @@ +--- lib/loader.c.orig Wed Feb 15 18:00:12 2006 ++++ lib/loader.c Fri Mar 31 10:35:41 2006 +@@ -27,7 +27,7 @@ + + backend_t* load_backend(const char* filename) + { +- char* error; ++ const char* error; + void* dll_handle = dlopen(filename, RTLD_NOW|RTLD_LOCAL); + if (!dll_handle) { + syslog(LOG_ERR, "loader: failed to load \"%s\". Error message: \"%s\"", diff --git a/sysutils/scanbuttond/files/patch-scanbuttond.c b/sysutils/scanbuttond/files/patch-scanbuttond.c new file mode 100644 index 000000000000..a405affbb82a --- /dev/null +++ b/sysutils/scanbuttond/files/patch-scanbuttond.c @@ -0,0 +1,35 @@ +--- scanbuttond.c.orig Fri Feb 17 00:23:53 2006 ++++ scanbuttond.c Thu Apr 6 00:52:29 2006 +@@ -223,8 +223,15 @@ + exit(EXIT_FAILURE); + } + ++ openlog(NULL, 0, LOG_DAEMON); ++ + // daemonize + if (daemonize) { ++ if (daemon(0, 0) != 0) { ++ syslog(LOG_ERR, "daemon() failed."); ++ } ++ } ++/* + pid = fork(); + if (pid < 0) { + printf("Can't fork!\n"); +@@ -259,6 +266,7 @@ + close(STDOUT_FILENO); + close(STDERR_FILENO); + } ++*/ + + // setup the environment + char* oldpath = getenv("PATH"); +@@ -292,7 +300,7 @@ + signal(SIGHUP, &sighandler); + signal(SIGINT, &sighandler); + signal(SIGSEGV, &sighandler); +- signal(SIGCLD, SIG_IGN); ++ signal(SIGCHLD, SIG_IGN); + + syslog(LOG_INFO, "scanbuttond started"); + diff --git a/sysutils/scanbuttond/files/patch-scripts-initscanner.sh b/sysutils/scanbuttond/files/patch-scripts-initscanner.sh new file mode 100644 index 000000000000..95a283aa366e --- /dev/null +++ b/sysutils/scanbuttond/files/patch-scripts-initscanner.sh @@ -0,0 +1,9 @@ +--- scripts/initscanner.sh.orig Sat Jun 4 12:37:24 2005 ++++ scripts/initscanner.sh Fri Mar 31 01:46:29 2006 +@@ -9,5 +9,5 @@ + # Example: + # scanimage -n + # or +-# sane-find-scanners ++# sane-find-scanner > /dev/null 2> /dev/null + diff --git a/sysutils/scanbuttond/files/pkg-message.in b/sysutils/scanbuttond/files/pkg-message.in new file mode 100644 index 000000000000..74e09a789b9b --- /dev/null +++ b/sysutils/scanbuttond/files/pkg-message.in @@ -0,0 +1,37 @@ +------------------------------------------------------------------------------- +scanbuttond has been installed, but is not quite ready to be used yet. + +To make scanbuttond actually do something you have to edit +%%PREFIX%%/etc/scanbuttond/buttonpressed.sh and change it to your needs. + +If you are having trouble getting your scanner detected try uncommenting one +of the following lines in %%PREFIX%%/etc/scanbuttond/initscanner.sh: + +scanimage -n +or +sane-find-scanner > /dev/null 2> /dev/null + +If your scanner is connected via a hot-plug capable technology (e.g. USB) +you can conveniently enable scanbuttond every time you attach you scanner by +using devd. In order to do so you may add the following lines to your +/etc/devd.conf and restart devd after you are done. +(Make sure to replace device-name, vendor, product and back-end name to +something that matches your environment) + +attach 20 { + device-name "ugen[0-9]+"; + match "vendor" "0x04a9"; + match "product" "0x220e"; + action "%%PREFIX%%/bin/scanbuttond \ + -s %%PREFIX%%/etc/scanbuttond/buttonpressed.sh \ + -S %%PREFIX%%/etc/scanbuttond/initscanner.sh \ + -b %%PREFIX%%/lib/libscanbtnd-backend_plustek.so"; +}; + +detach 20 { + device-name "ugen[0-9]+"; + match "vendor" "0x04a9"; + match "product" "0x220e"; + action "/usr/bin/killall scanbuttond"; +}; +------------------------------------------------------------------------------- diff --git a/sysutils/scanbuttond/pkg-descr b/sysutils/scanbuttond/pkg-descr new file mode 100644 index 000000000000..0680721d019f --- /dev/null +++ b/sysutils/scanbuttond/pkg-descr @@ -0,0 +1,12 @@ +This is the port of scanbuttond, an utility to monitor the various buttons +found on many modern scanners which are intended to trigger certain actions +like copying, faxing or mailing the scanned document. +This daemon queries the scanner button state several times per second via +libusb and if it detects that a button is pressed it runs a shell script with +the button number as an argument. + +The supported scanner backends currently are: epson, niash, plustek, snapscan + + +Author: Bernhard Stiftner <root84@users.sourceforge.net> +WWW: http://scanbuttond.sourceforge.net/ diff --git a/sysutils/scanbuttond/pkg-plist b/sysutils/scanbuttond/pkg-plist new file mode 100644 index 000000000000..e252aec61cde --- /dev/null +++ b/sysutils/scanbuttond/pkg-plist @@ -0,0 +1,29 @@ +bin/scanbuttond +etc/scanbuttond/buttonpressed.sh +etc/scanbuttond/initscanner.sh +etc/scanbuttond/meta.conf +lib/libscanbtnd-backend_epson.la +lib/libscanbtnd-backend_epson.so +lib/libscanbtnd-backend_epson.so.1 +lib/libscanbtnd-backend_meta.la +lib/libscanbtnd-backend_meta.so +lib/libscanbtnd-backend_meta.so.1 +lib/libscanbtnd-backend_mustek.la +lib/libscanbtnd-backend_mustek.so +lib/libscanbtnd-backend_mustek.so.1 +lib/libscanbtnd-backend_niash.la +lib/libscanbtnd-backend_niash.so +lib/libscanbtnd-backend_niash.so.1 +lib/libscanbtnd-backend_plustek.la +lib/libscanbtnd-backend_plustek.so +lib/libscanbtnd-backend_plustek.so.1 +lib/libscanbtnd-backend_plustek_umax.la +lib/libscanbtnd-backend_plustek_umax.so +lib/libscanbtnd-backend_plustek_umax.so.1 +lib/libscanbtnd-backend_snapscan.la +lib/libscanbtnd-backend_snapscan.so +lib/libscanbtnd-backend_snapscan.so.1 +lib/libscanbtnd-interface_usb.la +lib/libscanbtnd-interface_usb.so +lib/libscanbtnd-interface_usb.so.1 +@dirrm etc/scanbuttond |