ports/52129: New port: sysutils/lineakd: Lineakd is a daemon which enables special keys on internet keyboards.
Kay Lehmann
kay_lehmann at web.de
Mon May 12 19:40:17 UTC 2003
>Number: 52129
>Category: ports
>Synopsis: New port: sysutils/lineakd: Lineakd is a daemon which enables special keys on internet keyboards.
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Mon May 12 12:40:15 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Kay Lehmann
>Release: FreeBSD 4.8-RC i386
>Organization:
>Environment:
System: FreeBSD bippes.wg-berlin.de 4.8-RC FreeBSD 4.8-RC #24: Sat Mar 22 10:31:09 CET 2003 kay at bippes.wg-berlin.de:/usr/obj/usr/src/sys/bippes i386
>Description:
lineak is a utility designed to enable the use and configuration
of those special keys on Internet, Easy Access and Multimedia
keyboards in Linux (and other unices, like now FreeBSD).
I use this port for about 6-8 months and it seems to work without much problems.
I was asked from several people if I finished the port, so I thought it would be
the best to include it in the official ports tree.
>How-To-Repeat:
>Fix:
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# lineakd
# lineakd/files
# lineakd/files/patch-aa
# lineakd/files/patch-bb
# lineakd/files/patch-cc
# lineakd/Makefile
# lineakd/pkg-plist
# lineakd/pkg-descr
# lineakd/distinfo
#
echo c - lineakd
mkdir -p lineakd > /dev/null 2>&1
echo c - lineakd/files
mkdir -p lineakd/files > /dev/null 2>&1
echo x - lineakd/files/patch-aa
sed 's/^X//' >lineakd/files/patch-aa << 'END-of-lineakd/files/patch-aa'
X--- src/lineakd.h.orig Sat Jun 8 22:55:26 2002
X+++ src/lineakd.h Wed Jun 26 18:03:27 2002
X@@ -98,6 +98,12 @@
X #define VOLMUTE_VALUE 0
X #define MAX_VOLUME 100
X
X+/* we need this for freebsd */
X+#if defined (__FreeBSD__)
X+#define CDROMEJECT CDIOCEJECT /*_IO('c', 107)*/
X+#define CDROMCLOSETRAY CDIOCCLOSE
X+#endif
X+
X /* we might need this .. oss emulation under BSD */
X #if defined (__NetBSD__) || defined (__OpenBSD__)
X #define SOUND_IOCTL(a,b,c) _oss_ioctl(a,b,c)
END-of-lineakd/files/patch-aa
echo x - lineakd/files/patch-bb
sed 's/^X//' >lineakd/files/patch-bb << 'END-of-lineakd/files/patch-bb'
X--- src/lineakd.c.orig Tue Jun 11 13:07:59 2002
X+++ src/lineakd.c Wed Jun 26 17:58:16 2002
X@@ -52,18 +52,19 @@
X #endif
X #include <fcntl.h>
X #include <sys/ioctl.h>
X-#include <linux/cdrom.h> /* linux specific?!! */
X
X extern int mkdir(); /* in linux/fs.h ... other platforms!? */
X
X #if defined (__FreeBSD__)
X # include <machine/soundcard.h>
X+# include <sys/cdio.h>
X #else
X # if defined (__NetBSD__) || defined (__OpenBSD__)
X # include <soundcard.h> /* OSS emulation */
X # undef ioctl
X # else
X /* BSDI, Linux, Solaris */
X+# include <linux/cdrom.h> /* linux specific?!! */
X # include <sys/soundcard.h>
X # endif
X #endif
X@@ -95,7 +96,7 @@
X signal(SIGABRT, signalexit);
X signal(SIGINT, signalexit);
X /* and one so we won't have to wait() for child processes ;) */
X- signal(SIGCLD, SIG_IGN);
X+ signal(SIGCHLD, SIG_IGN);
X /* and for a rehash when we catch SIGHUP */
X signal(SIGHUP,signalHUP);
X
X@@ -550,12 +551,12 @@
X /* try to open the device .. */
X if ( (fp = open(cdromdev, O_RDONLY | O_NONBLOCK)) != -1 ) {
X /* tell the drive to diable auto-eject */
X- if ( (ioctl(fp, CDROMEJECT_SW, 0)) == -1 )
X- printf("... oops! error during CD-ROM init\n");
X- close(fp);
X- } else {
X+ if ( (ioctl(fp, CDIOCPREVENT)) == -1 )
X+ printf("... oops! error during CD-ROM init\n");
X+ close(fp);
X+ } else {
X printf("... oops! unable to open the CD-ROM device \"%s\" (CD-ROM init)\n",cdromdev);
X- }
X+ }
X } else {
X printf("no CD-ROM device configured! (CD-ROM init)\n");
X }
X@@ -570,7 +571,7 @@
X if ( (fp = open(cdromdev, O_RDONLY | O_NONBLOCK)) != -1 ) {
X if (!cdromstatus) { /* assumed closed */
X /* enable the drives software eject */
X- if ( (ioctl(fp, CDROMEJECT_SW, 1)) == -1 )
X+ if ( (ioctl(fp, CDIOCALLOW)) == -1 )
X printf("... oops! error enabling CD-ROM SW eject\n");
X /* eject the cdrom tray */
X if (verbosemode) printf("... ejecting the CD-ROM tray\n");
X@@ -580,7 +581,7 @@
X cdromstatus = !cdromstatus;
X } else { /* assumed open */
X /* disable the drives software eject again.. */
X- if ( (ioctl(fp, CDROMEJECT_SW, 0)) == -1 )
X+ if ( (ioctl(fp, CDIOCPREVENT)) == -1 )
X printf("... oops! error disabling CD-ROM SW eject\n");
X /* close the cdrom tray */
X if (verbosemode) printf("... closing the CD-ROM tray\n");
END-of-lineakd/files/patch-bb
echo x - lineakd/files/patch-cc
sed 's/^X//' >lineakd/files/patch-cc << 'END-of-lineakd/files/patch-cc'
X--- intl/dcigettext.c.orig Thu Mar 20 10:16:16 2003
X+++ intl/dcigettext.c Thu Mar 20 10:16:36 2003
X@@ -58,11 +58,11 @@
X #include <stdlib.h>
X
X #include <string.h>
X-#if !HAVE_STRCHR && !defined _LIBC
X+/*#if !HAVE_STRCHR && !defined _LIBC
X # ifndef strchr
X # define strchr index
X # endif
X-#endif
X+#endif*/
X
X #if defined HAVE_UNISTD_H || defined _LIBC
X # include <unistd.h>
END-of-lineakd/files/patch-cc
echo x - lineakd/Makefile
sed 's/^X//' >lineakd/Makefile << 'END-of-lineakd/Makefile'
X# New ports collection makefile for: lineakd
X# Date created: 03 June 2002
X# Whom: Kay Lehmann
X#
X# $FreeBSD: ports/sysutils/lineakd/Makefile,v 1.1 2002/05/15 22:37:50 cy Exp $
X#
X
XPORTNAME= lineakd
XPORTVERSION= 0.4.p3
XCATEGORIES= sysutils
XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR=lineak
XDISTNAME= ${PORTNAME}-0.4pre3
X
XMAINTAINER= kay_lehmann at web.de
XCOMMENT= Lineakd is a daemon which enables special keys on internet keyboards.
X
XBUILD_DEPENDS= bison:${PORTSDIR}/devel/bison
XLIB_DEPENDS= intl.2:${PORTSDIR}/devel/gettext
X
XUSE_GMAKE= yes
XUSE_XLIB= yes
XGNU_CONFIGURE= yes
X
XCFLAGS+= -I/usr/X11R6/include
X
X.include <bsd.port.mk>
END-of-lineakd/Makefile
echo x - lineakd/pkg-plist
sed 's/^X//' >lineakd/pkg-plist << 'END-of-lineakd/pkg-plist'
Xbin/lineakd
Xetc/lineakkb.def
Xlib/charset.alias
Xshare/locale/locale.alias
Xdoc/lineakd/README
Xdoc/lineakd/COPYING
Xdoc/lineakd/AUTHORS
Xdoc/lineakd/ChangeLog
Xdoc/lineakd/INSTALL
Xdoc/lineakd/NEWS
Xdoc/lineakd/TODO
Xdoc/lineakd/ABOUT-NLS
X at dirrm share/locale
X at dirrm doc/lineakd
X at dirrm doc
END-of-lineakd/pkg-plist
echo x - lineakd/pkg-descr
sed 's/^X//' >lineakd/pkg-descr << 'END-of-lineakd/pkg-descr'
XLinEAK is a utility designed to enable the use and configuration
Xof those special keys on Internet, Easy Access and Multimedia
Xkeyboards in Linux (and other unices, like now FreeBSD).
X
XWWW: http://lineak.sourceforge.net
X
X- Lehmann
Xkay_lehmann at web.de
END-of-lineakd/pkg-descr
echo x - lineakd/distinfo
sed 's/^X//' >lineakd/distinfo << 'END-of-lineakd/distinfo'
XMD5 (lineakd-0.4pre3.tar.gz) = 4606ec63a8af63aa9086395f9be42cba
END-of-lineakd/distinfo
exit
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list