Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Mar 2006 08:16:26 GMT
From:      Jose Alonso Cardenas Marquez <acardenas@bsd.org.pe>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/94465: [NEW PORT] devel/pikdev: Simple graphic IDE for the development of PIC-based
Message-ID:  <200603150816.k2F8GQcX023122@www.freebsd.org>
Resent-Message-ID: <200603150821.k2F8LtGD048342@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         94465
>Category:       ports
>Synopsis:       [NEW PORT] devel/pikdev: Simple graphic IDE for the development of PIC-based
>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:   Wed Mar 15 08:20:19 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Jose Alonso Cardenas Marquez
>Release:        FreeBSD 6.1-PRERELEASE i386
>Organization:
BSDPeru (http://www.bsd.org.pe)
>Environment:
FreeBSD HellFire.BSD.org.pe 6.1-PRERELEASE FreeBSD 6.1-PRERELEASE #0: Wed Mar  8 13:14:43 PET
>Description:
- Need to test parallel port with a pic microcontroller

PiKdev is a simple graphic IDE for the development of PIC-based applications.
It currently supports assembly language. C language is also supported for PIC 18 devices.
PiKdev is developed in C++ under Linux, FreeBSD and is based on the KDE environment.

WWW:	http://pikdev.free.fr/
>How-To-Repeat:

>Fix:
--- pikdev-0.8.4.shar begins here ---
# 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:
#
#	pikdev
#	pikdev/pkg-descr
#	pikdev/Makefile
#	pikdev/pkg-plist
#	pikdev/distinfo
#	pikdev/files
#	pikdev/files/patch-pikdev_uparport.cc
#	pikdev/files/patch-pikdev_uparport.hh
#	pikdev/files/patch-pikdev_Config.cpp
#	pikdev/files/pkg-message.in
#
echo c - pikdev
mkdir -p pikdev > /dev/null 2>&1
echo x - pikdev/pkg-descr
sed 's/^X//' >pikdev/pkg-descr << 'END-of-pikdev/pkg-descr'
XPiKdev is a simple graphic IDE for the development of PIC-based applications.
XIt currently supports assembly language. C language is also supported for PIC 18 devices.
XPiKdev is developed in C++ under Linux, FreeBSD and is based on the KDE environment.
X
XWWW:	http://pikdev.free.fr/
END-of-pikdev/pkg-descr
echo x - pikdev/Makefile
sed 's/^X//' >pikdev/Makefile << 'END-of-pikdev/Makefile'
X# New ports collection makefile for:	pikdev
X# Date created:		2006-03-14
X# Whom:			Jose Alonso Cardenas Marquez <acardenas@bsd.org.pe>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	pikdev
XPORTVERSION=	0.8.4
XCATEGORIES=	devel kde
XMASTER_SITES=	http://pikdev.free.fr/
X
XMAINTAINER=	acardenas@bsd.org.pe
XCOMMENT=	Simple graphic IDE for the development of PIC-based applications
X
XLIB_DEPENDS=	fam.0:${PORTSDIR}/devel/gamin \
X		png.5:${PORTSDIR}/graphics/png \
X		jpeg.9:${PORTSDIR}/graphics/jpeg
XRUN_DEPENDS=	gpasm:${PORTSDIR}/devel/gputils
X
X#USE_KDEBASE_VER=3
XGNU_CONFIGURE=	yes
XUSE_GMAKE=	yes
XCONFIGURE_TARGET=	--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
XLDFLAGS+=	-L${LOCALBASE}/lib -L${X11BASE}/lib ${PTHREAD_LIBS}
XCPPFLAGS+=	-I${LOCALBASE}/include -I${X11BASE}/include
XCONFIGURE_ENV=	LDFLAGS="${LDFLAGS}" CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}"
XMAKE_ENV=	LDFLAGS="${LDFLAGS}" CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}"
XSUB_FILES=	pkg-message
X
XOPTIONS=	DEBUG	"Enable debug information"	off \
X		NLS	"Native Language Support"	on
X
X.include <bsd.port.pre.mk>
X
X.if defined(WITH_DEBUG)
XCONFIGURE_ARGS+=	--enable-debug=full
X.endif
X
X.if defined(WITHOUT_NLS)
XPLIST_SUB+=	NLS="@comment "
X.else
XUSE_GETTEXT=	yes
XPLIST_SUB+=	NLS=""
XFLAG_NLS=	true
X.endif
X
Xpost-patch:
X	${REINPLACE_CMD} -e 's|-O2||g' ${WRKSRC}/configure
X	${REINPLACE_CMD} -e 's|-Wmissing-prototypes||g' ${WRKSRC}/configure
X
Xpost-configure:
X.if !defined(FLAG_NLS)
X	${REINPLACE_CMD} -e 's|install-data-am: install-nls|install-data-am:|g' ${WRKSRC}/po/Makefile
X.endif
X
Xpost-install:
X	${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.post.mk>
END-of-pikdev/Makefile
echo x - pikdev/pkg-plist
sed 's/^X//' >pikdev/pkg-plist << 'END-of-pikdev/pkg-plist'
Xbin/pikdev
Xshare/applnk/Development/pikdev.desktop
Xshare/apps/pikdev/icons/crystalsvg/16x16/actions/pikdev_addcurrentfile.png
Xshare/apps/pikdev/icons/crystalsvg/16x16/actions/pikdev_addfile.png
Xshare/apps/pikdev/icons/crystalsvg/16x16/actions/pikdev_burnchip.png
Xshare/apps/pikdev/icons/crystalsvg/16x16/actions/pikdev_chip.png
Xshare/apps/pikdev/icons/crystalsvg/16x16/actions/pikdev_closeproject.png
Xshare/apps/pikdev/icons/crystalsvg/16x16/actions/pikdev_compile.png
Xshare/apps/pikdev/icons/crystalsvg/16x16/actions/pikdev_createproject.png
Xshare/apps/pikdev/icons/crystalsvg/16x16/actions/pikdev_decompile.png
Xshare/apps/pikdev/icons/crystalsvg/16x16/actions/pikdev_editproject.png
Xshare/apps/pikdev/icons/crystalsvg/16x16/actions/pikdev_erasechip.png
Xshare/apps/pikdev/icons/crystalsvg/16x16/actions/pikdev_find_next.png
Xshare/apps/pikdev/icons/crystalsvg/16x16/actions/pikdev_find_previous.png
Xshare/apps/pikdev/icons/crystalsvg/16x16/actions/pikdev_openproject.png
Xshare/apps/pikdev/icons/crystalsvg/16x16/actions/pikdev_readchip.png
Xshare/apps/pikdev/icons/crystalsvg/16x16/actions/pikdev_verifychip.png
Xshare/apps/pikdev/icons/crystalsvg/22x22/actions/pikdev_addcurrentfile.png
Xshare/apps/pikdev/icons/crystalsvg/22x22/actions/pikdev_addfile.png
Xshare/apps/pikdev/icons/crystalsvg/22x22/actions/pikdev_burnchip.png
Xshare/apps/pikdev/icons/crystalsvg/22x22/actions/pikdev_chip.png
Xshare/apps/pikdev/icons/crystalsvg/22x22/actions/pikdev_closeproject.png
Xshare/apps/pikdev/icons/crystalsvg/22x22/actions/pikdev_compile.png
Xshare/apps/pikdev/icons/crystalsvg/22x22/actions/pikdev_createproject.png
Xshare/apps/pikdev/icons/crystalsvg/22x22/actions/pikdev_decompile.png
Xshare/apps/pikdev/icons/crystalsvg/22x22/actions/pikdev_editproject.png
Xshare/apps/pikdev/icons/crystalsvg/22x22/actions/pikdev_erasechip.png
Xshare/apps/pikdev/icons/crystalsvg/22x22/actions/pikdev_find_next.png
Xshare/apps/pikdev/icons/crystalsvg/22x22/actions/pikdev_find_previous.png
Xshare/apps/pikdev/icons/crystalsvg/22x22/actions/pikdev_openproject.png
Xshare/apps/pikdev/icons/crystalsvg/22x22/actions/pikdev_readchip.png
Xshare/apps/pikdev/icons/crystalsvg/22x22/actions/pikdev_verifychip.png
Xshare/apps/pikdev/icons/crystalsvg/32x32/actions/pikdev_config_asm.png
Xshare/apps/pikdev/icons/crystalsvg/32x32/actions/pikdev_config_prg.png
Xshare/apps/pikdev/pikdev-main.rc
Xshare/apps/pikdev/pikdev-prg.rc
Xshare/apps/pikdev/pics/splash.png
Xshare/apps/katepart/syntax/picsrc_pikdev.xml
Xshare/icons/crystalsvg/32x32/apps/pikdev.png
Xshare/icons/crystalsvg/16x16/apps/pikdev.png
X%%NLS%%share/locale/es/LC_MESSAGES/pikdev.mo
X%%NLS%%share/locale/fr/LC_MESSAGES/pikdev.mo
X%%NLS%%share/locale/de/LC_MESSAGES/pikdev.mo
X%%NLS%%share/locale/it/LC_MESSAGES/pikdev.mo
X@dirrm share/apps/pikdev/icons/crystalsvg/16x16/actions
X@dirrm share/apps/pikdev/icons/crystalsvg/16x16
X@dirrm share/apps/pikdev/icons/crystalsvg/22x22/actions
X@dirrm share/apps/pikdev/icons/crystalsvg/22x22
X@dirrm share/apps/pikdev/icons/crystalsvg/32x32/actions
X@dirrm share/apps/pikdev/icons/crystalsvg/32x32
X@dirrm share/apps/pikdev/icons/crystalsvg
X@dirrm share/apps/pikdev/icons
X@dirrm share/apps/pikdev/pics
X@dirrm share/apps/pikdev
END-of-pikdev/pkg-plist
echo x - pikdev/distinfo
sed 's/^X//' >pikdev/distinfo << 'END-of-pikdev/distinfo'
XMD5 (pikdev-0.8.4.tar.gz) = 95c6cf21241134ed684373b8176f6ea1
XSHA256 (pikdev-0.8.4.tar.gz) = db4a8372a10a6431859ec2a123e7dbfc88a8770b7f5c47a843b13bfebae297de
XSIZE (pikdev-0.8.4.tar.gz) = 1221482
END-of-pikdev/distinfo
echo c - pikdev/files
mkdir -p pikdev/files > /dev/null 2>&1
echo x - pikdev/files/patch-pikdev_uparport.cc
sed 's/^X//' >pikdev/files/patch-pikdev_uparport.cc << 'END-of-pikdev/files/patch-pikdev_uparport.cc'
X--- pikdev/uparport.cc	Mon Aug 16 12:48:45 2004
X+++ pikdev/uparport.cc	Wed Mar 15 00:47:22 2006
X@@ -22,34 +22,35 @@
X // img :       cache byte for the relevant port
X //            (data port, status port, control port)
X #define NA 0
X+
X struct parport::pintable parport::pin_table[26] =
X     {
X-        { NA, NA ,0x00, &parport::errimg },		/* pin 0	Invalid pin #	*/
X-        { PPRCONTROL, PPWCONTROL,0x01, &parport::controlimg }, /* pin 1	(out)	!strobe	*/
X-        { PPRDATA, PPWDATA ,0x01, &parport::dataimg },/* pin 2	(out)	Data 0	*/
X-        { PPRDATA, PPWDATA ,0x02, &parport::dataimg },/* pin 3	(out)	Data 1	*/
X-        { PPRDATA, PPWDATA ,0x04, &parport::dataimg },/* pin 4	(out)	Data 2	*/
X-        { PPRDATA, PPWDATA ,0x08, &parport::dataimg },/* pin 5	(out)	Data 3	*/
X-        { PPRDATA, PPWDATA ,0x10, &parport::dataimg },/* pin 6	(out)	Data 4	*/
X-        { PPRDATA, PPWDATA ,0x20, &parport::dataimg },/* pin 7	(out)	Data 5	*/
X-        { PPRDATA, PPWDATA ,0x40, &parport::dataimg },/* pin 8	(out)	Data 6	*/
X-        { PPRDATA, PPWDATA ,0x80, &parport::dataimg },/* pin 9	(out)	Data 7	*/
X-        { PPRSTATUS, NA ,0x40, &parport::statusimg },/* pin 10	(in)	!ack	*/
X-        { PPRSTATUS, NA ,0x80, &parport::statusimg },	/* pin 11	(in)	busy	*/
X-        { PPRSTATUS, NA ,0x20, &parport::statusimg },	/* pin 12	(in)	Pout	*/
X-        { PPRSTATUS, NA ,0x10, &parport::statusimg },	/* pin 13	(in)	Select	*/
X-        { PPRCONTROL, PPWCONTROL,0x02, &parport::controlimg },/* pin 14	(out)	!feed	*/
X-        { PPRSTATUS, NA ,0x08, &parport::statusimg },/* pin 15	(in)	!error	*/
X-        { PPRCONTROL, PPWCONTROL,0x04, &parport::controlimg },/* pin 16	(out)	!init	*/
X-        { PPRCONTROL, PPWCONTROL,0x08, &parport::controlimg },/* pin 17	(out)	!SI	*/
X-        { NA, NA , 0x00, &parport::errimg  },			/* pin 18	GND		*/
X-        { NA, NA , 0x00, &parport::errimg  },			/* pin 19	GND		*/
X-        { NA, NA , 0x00, &parport::errimg  },			/* pin 20	GND		*/
X-        { NA, NA , 0x00, &parport::errimg  },			/* pin 21	GND		*/
X-        { NA, NA , 0x00, &parport::errimg  },			/* pin 22	GND		*/
X-        { NA, NA , 0x00, &parport::errimg  },			/* pin 23	GND		*/
X-        { NA, NA , 0x00, &parport::errimg  },			/* pin 24	GND		*/
X-        { NA, NA , 0x00, &parport::errimg  },			/* pin 25	GND		*/
X+        { NA, NA ,0x00, &parport::errimg },             /* pin 0        Invalid pin #   */
X+        { PPIGCTRL, PPISCTRL,0x01, &parport::controlimg }, /* pin 1 (out)   !strobe */
X+        { PPIGDATA, PPISDATA ,0x01, &parport::dataimg },/* pin 2  (out)   Data 0  */
X+        { PPIGDATA, PPISDATA ,0x02, &parport::dataimg },/* pin 3  (out)   Data 1  */
X+        { PPIGDATA, PPISDATA ,0x04, &parport::dataimg },/* pin 4  (out)   Data 2  */
X+        { PPIGDATA, PPISDATA ,0x08, &parport::dataimg },/* pin 5  (out)   Data 3  */
X+        { PPIGDATA, PPISDATA ,0x10, &parport::dataimg },/* pin 6  (out)   Data 4  */
X+        { PPIGDATA, PPISDATA ,0x20, &parport::dataimg },/* pin 7  (out)   Data 5  */
X+        { PPIGDATA, PPISDATA ,0x40, &parport::dataimg },/* pin 8  (out)   Data 6  */
X+        { PPIGDATA, PPISDATA ,0x80, &parport::dataimg },/* pin 9  (out)   Data 7  */
X+        { PPIGSTATUS, NA ,0x40, &parport::statusimg },/* pin 10  (in)    !ack    */
X+        { PPIGSTATUS, NA ,0x80, &parport::statusimg },   /* pin 11       (in)    busy    */
X+        { PPIGSTATUS, NA ,0x20, &parport::statusimg },   /* pin 12       (in)    Pout    */
X+        { PPIGSTATUS, NA ,0x10, &parport::statusimg },   /* pin 13       (in)    Select  */
X+        { PPIGCTRL, PPISCTRL ,0x02, &parport::controlimg },/* pin 14 (out)   !feed   */
X+        { PPIGSTATUS, NA ,0x08, &parport::statusimg },/* pin 15  (in)    !error  */
X+        { PPIGCTRL, PPISCTRL,0x04, &parport::controlimg },/* pin 16 (out)   !init   */
X+        { PPIGCTRL, PPISCTRL,0x08, &parport::controlimg },/* pin 17 (out)   !SI     */
X+        { NA, NA , 0x00, &parport::errimg  },                   /* pin 18       GND             */
X+        { NA, NA , 0x00, &parport::errimg  },                   /* pin 19       GND             */
X+        { NA, NA , 0x00, &parport::errimg  },                   /* pin 20       GND             */
X+        { NA, NA , 0x00, &parport::errimg  },                   /* pin 21       GND             */
X+        { NA, NA , 0x00, &parport::errimg  },                   /* pin 22       GND             */
X+        { NA, NA , 0x00, &parport::errimg  },                   /* pin 23       GND             */
X+        { NA, NA , 0x00, &parport::errimg  },                   /* pin 24       GND             */
X+        { NA, NA , 0x00, &parport::errimg  },                   /* pin 25       GND             */
X     };
X 
X // --------------------------------------------------------
X@@ -68,7 +69,6 @@
X int parport::yield()
X {
X     if(fd == -1) return -1;
X-    return ioctl(fd,PPYIELD) ;
X }
X 
X // --------------------------------------------------------
X@@ -83,7 +83,7 @@
X 
X     int k;
X 
X-    if( ((sscanf(np,"/dev/parport%d",&k) == 1) || (sscanf(np,"/dev/parports/%d",&k) == 1))
X+    if( ((sscanf(np,"/dev/ppi%d",&k) == 1) || (sscanf(np,"/dev/ppi/%d",&k) == 1))
X     		 && (k >= 0) && (k < 10))
X     {
X         // seems correct ..
X@@ -91,14 +91,7 @@
X 
X         if( fd != -1)
X         {
X-            if( (k = ioctl(fd, PPCLAIM)) != 0)
X-            {
X-                char b[200] ;
X-                sprintf(b,"parport::setport (%.150s must be rw enabled)", np);
X-                perror(b) ;
X-                ::close(fd) ;
X-                fd = -1 ;
X-            }
X+		return;
X         }
X         else
X             perror("Cannot open parallel port") ;
X@@ -110,7 +103,7 @@
X 
X int parport::writedata(unsigned char x)
X {
X-    int s =  ioctl(fd,PPWDATA,&x);
X+    int s =  ioctl(fd,PPISDATA,&x);
X     if( s )
X         perror("parport::writedata") ;
X     else
X@@ -120,7 +113,7 @@
X 
X int parport::readdata(unsigned char& x)
X {
X-    int s =  ioctl(fd,PPRDATA,&x);
X+    int s =  ioctl(fd,PPIGDATA,&x);
X     if( s )
X         perror( "parport::readdata")  ;
X     else
X@@ -131,7 +124,7 @@
X 
X int parport::writecontrol(unsigned char x)
X {
X-    int s =  ioctl(fd,PPWCONTROL,&x);
X+    int s =  ioctl(fd,PPISCTRL,&x);
X     if( s ) perror( "parport::writecontrol") ;
X     else controlimg = x ;
X     return s ;
X@@ -139,7 +132,7 @@
X 
X int parport::readcontrol(unsigned char& x)
X {
X-    int s =  ioctl(fd,PPRCONTROL,&x);
X+    int s =  ioctl(fd,PPIGCTRL,&x);
X     if( s )
X         perror("parport::readcontrol");
X     else
X@@ -160,7 +153,7 @@
X 
X int parport::readstatus(unsigned char& x)
X {
X-    int s =  ioctl(fd,PPRSTATUS,&x);
X+    int s =  ioctl(fd,PPIGSTATUS,&x);
X     if( s )
X         perror("parport::readstatus") ;
X     else
X@@ -235,17 +228,7 @@
X 	int fd = open(pname, O_RDWR) ;
X 	if( fd == -1 ) return -2 ;
X  
X-	int k = ioctl(fd, PPCLAIM) ;
X-
X-	if( k != 0 )
X-	{
X-			::close(fd) ;
X-			return  -1 ;
X-	}
X-  ioctl(fd,PPRELEASE) ;
X-	
X-  ::close(fd) ;
X-
X+	::close(fd) ;
X 	return 0 ;
X 
X }
X@@ -254,12 +237,8 @@
X {
X 		if( fd != -1)
X     {
X-        int stat = ioctl(fd,PPRELEASE) ;
X         ::close(fd) ;
X-        if( stat != 0)
X-        {
X-            perror("parport::~parport") ;
X-        }
X+	perror("parport::~parport") ;
X     }
X     fd = -1 ;
X }
END-of-pikdev/files/patch-pikdev_uparport.cc
echo x - pikdev/files/patch-pikdev_uparport.hh
sed 's/^X//' >pikdev/files/patch-pikdev_uparport.hh << 'END-of-pikdev/files/patch-pikdev_uparport.hh'
X--- pikdev/uparport.hh	Fri Jan  7 16:26:24 2005
X+++ pikdev/uparport.hh	Tue Mar 14 13:52:59 2006
X@@ -15,10 +15,10 @@
X extern "C"
X {
X #include <sys/ioctl.h> 
X-// in RedHat & Mandrake distro, ppdev.h is into /usr/include/linux 
X-#include <linux/ppdev.h>   
X #include <sys/time.h>
X-#include <sys/io.h> 
X+#include <machine/cpufunc.h> 
X+#include <dev/ppbus/ppi.h>
X+#include <dev/ppbus/ppbconf.h>
X #include <fcntl.h>
X }           
X 
END-of-pikdev/files/patch-pikdev_uparport.hh
echo x - pikdev/files/patch-pikdev_Config.cpp
sed 's/^X//' >pikdev/files/patch-pikdev_Config.cpp << 'END-of-pikdev/files/patch-pikdev_Config.cpp'
X--- pikdev/Config.cpp	Sat Sep 10 09:48:17 2005
X+++ pikdev/Config.cpp	Tue Mar 14 13:39:56 2006
X@@ -122,7 +122,7 @@
X     vdd       = conf->readNumEntry("vdd", -4 ) ;
X     vpp       = conf->readNumEntry("vpp", -5 ) ;
X     clkdelay  = conf->readNumEntry("clkdelay", 0 ) ;
X-    port      = conf->readEntry("device", "/dev/parport0" ) ;
X+    port      = conf->readEntry("device", "/dev/ppi0" ) ;
X }
X 
X 
X@@ -141,7 +141,7 @@
X     vdd       = conf->readNumEntry("vdd", 5 ) ;
X     vpp       = conf->readNumEntry("vpp", 3 ) ;
X     clkdelay  = conf->readNumEntry("clkdelay", 0 ) ;
X-    port      = conf->readEntry("device", "/dev/ttyS0" ) ;
X+    port      = conf->readEntry("device", "/dev/sio0" ) ;
X }
X 
X void Config::getSer555PortConfig(QString &port, int &vpp, int& vdd, int &clock,
X@@ -158,7 +158,7 @@
X     vdd       = conf->readNumEntry("vdd", 5 ) ;
X     vpp       = conf->readNumEntry("vpp", 3 ) ;
X     clkdelay  = conf->readNumEntry("clkdelay", 0 ) ;
X-    port      = conf->readEntry("device", "/dev/ttyUSB0" ) ;
X+    port      = conf->readEntry("device", "/dev/usb" ) ;
X }
X 
X /** Write informations about  known standard programming cards */
END-of-pikdev/files/patch-pikdev_Config.cpp
echo x - pikdev/files/pkg-message.in
sed 's/^X//' >pikdev/files/pkg-message.in << 'END-of-pikdev/files/pkg-message.in'
X###############################################################################
X
X1) Add your user to wheel group
X2) Modify user and group permissions of /dev/ppi0 to read/write.
X   
X   - FreeBSD 4.x
X     * chown root:wheel /dev/ppi0
X     * chmod 660 /dev/ppi0
X
X   - FreeBSD >= 5.x
X     * Add these lines into /etc/devfs.conf
X
X	own     ppi0    root:wheel
X	perm    ppi0    0660
X
X     * Run sh /etc/rc.d/devfs restart
X
X3) Run pikdev
X4) Enjoy it ;)
X
X###############################################################################
END-of-pikdev/files/pkg-message.in
exit
--- pikdev-0.8.4.shar ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200603150816.k2F8GQcX023122>