Subject: My first package: sysutils/am-utils
To: None <tech-pkg@NetBSD.org>
From: =?ISO-8859-1?Q?Edgar_Fu=DF?= <ef@math.uni-bonn.de>
List: tech-pkg
Date: 03/18/2007 13:01:06
--Apple-Mail-4-491054270
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed

Hello.

I'm not entirely sure wheter I'm on the right list to discuss this.
Reading the description, tech-pkg is more about the pkgsrc  
infrastructure,
but pkgsrc-users looks like the wrong place too.

I felt like creating a sysutils/am-utils package.
Why would someone want this given it's in the base distribution?
-- Max OS X doesn't have it, but pkgsrc runs nicely on Mac OS.
-- The version in base doesn't have LDAP support.

So could someone please comment on the attached "my first package"?
I must admit I'm deeply impressed by all the pkgsrc infrastructure
one can build on, but very unsure about whether I'm using it correctly.

Some particular questions:

As ditributed, am-utils seems to have no way to tell the configure  
script
where exactly to look for libraries like LDAP. What's the proposed  
method
of handling this?

It looks like files in files/ get no checksum computed by make distinfo.
Is this correct?

Should the startup script put the pid in @VARBASE@/run or /var/run?

Is there an infrastructure for handling foreign startup scripts.
especially those for Mac OS X? I've built one, but no idea how to
integrate that into the package.

Thanks in advance for any comments. And thanks for all the  
infrastructure.

--Apple-Mail-4-491054270
Content-Transfer-Encoding: 7bit
Content-Type: application/octet-stream;
	x-unix-mode=0644;
	name=DESCR
Content-Disposition: attachment;
	filename=DESCR

An automounter maintains a cache of mounted file systems. File systems are
mounted on demand when they are first referenced, and unmounted after a period
of inactivity. This helps to centralize all file system access, provide a
uniform site-wide namespace, and minimize downtimes for clients.

The Berkeley Automounter, Amd, may be used as a replacement for Sun's
automounter. The choice of which file system to mount can be controlled
dynamically with selectors. Selectors allow decisions of the form "hostname is
this," or "architecture is not that." Selectors may be combined arbitrarily.
Amd also supports a variety of file system types, including NFS, UFS and the
novel program file system. The combination of selectors and multiple file system
types allows identical configuration files to be used on all machines thus
reducing the administrative overhead. Amd ensures that it will not hang if a
remote server goes down. Moreover, Amd can determine when a remote server has
become inaccessible and then mount replacement file systems as and when they
become available.

--Apple-Mail-4-491054270
Content-Transfer-Encoding: 7bit
Content-Type: application/octet-stream;
	x-unix-mode=0644;
	name=distinfo
Content-Disposition: attachment;
	filename=distinfo

$NetBSD$

SHA1 (am-utils-6.1.5.tar.gz) = 21185e86a3de1c6fb8bfe922899391b1f46ed899
RMD160 (am-utils-6.1.5.tar.gz) = ab1485aaa65c522cc5db7c7917ec59d3b47e0803
Size (am-utils-6.1.5.tar.gz) = 1922684 bytes

--Apple-Mail-4-491054270
Content-Transfer-Encoding: 7bit
Content-Type: application/octet-stream;
	x-unix-mode=0755;
	name=amd.sh
Content-Disposition: attachment;
	filename=amd.sh

#!@RCD_SCRIPTS_SHELL@
#
# $NetBSD: amd,v $
#
# Am-Utils Automounting daemon

# PROVIDE: amd
# REQUIRE: rpcbind mountall ypbind
# BEFORE:  DAEMON

$_rc_subr_loaded . /etc/rc.subr

name="amd"
rcvar=$name
command="@PREFIX@/sbin/${name}"
reload_cmd="@PREFIX@/sbin/amq -f"
extra_commands="reload"

load_rc_config $name

command_args='-p -a '$amd_dir' -F @PKG_SYSCONFDIR@/amd.conf > /var/run/amd.pid'
required_files="@PKG_SYSCONFDIR@/amd.conf"
required_dirs="$amd_dir"
required_vars="rpcbind"

load_rc_config_var rpcbind rpcbind

run_rc_command "$1"

--Apple-Mail-4-491054270
Content-Transfer-Encoding: 7bit
Content-Type: application/octet-stream;
	x-unix-mode=0644;
	name=Makefile
Content-Disposition: attachment;
	filename=Makefile

# $NetBSD$
#

DISTNAME=	am-utils-6.1.5
CATEGORIES=	sysutils
MASTER_SITES=	ftp://ftp.am-utils.org/pub/am-utils/

MAINTAINER=	ef@math.uni-bonn.de
HOMEPAGE=	http://www.am-utils.org/
COMMENT=	The Berkeley Automounter Suite of Utilities

GNU_CONFIGURE=	yes
USE_LIBTOOL=	yes
INFO_FILES=	yes

USE_TOOLS+=	perl:run
CONFIGURE_ARGS+=PERL=${LOCALBASE}/bin/perl

CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}

.include "options.mk"

#AMD_DOCDIR=		${PREFIX}/share/doc/am-utils
AMD_EGDIR=		${PREFIX}/share/examples/am-utils
CONF_FILES=		${AMD_EGDIR}/amd.conf-sample ${PKG_SYSCONFDIR}/amd.conf
CONF_FILES+=		${AMD_EGDIR}/lostaltmail.conf-sample ${PKG_SYSCONFDIR}/lostaltmail.conf
#FILES_SUBST+=		${AMD_DOCDIR:Q}

INSTALL_MAKE_FLAGS+=	${MAKE_FLAGS} sysconfdir=${AMD_EGDIR:Q}

RCD_SCRIPTS+=		amd

pre-install:
	${INSTALL_DATA_DIR} ${AMD_EGDIR}

.include "../../mk/bsd.pkg.mk"

--Apple-Mail-4-491054270
Content-Transfer-Encoding: 7bit
Content-Type: application/octet-stream;
	x-unix-mode=0644;
	name=options.mk
Content-Disposition: attachment;
	filename=options.mk

# $NetBSD: options.mk $

PKG_OPTIONS_VAR=	PKG_OPTIONS.am-utils
#PKG_SUPPORTED_OPTIONS=	ldap hesiod gdbm
PKG_SUPPORTED_OPTIONS=	ldap hesiod
.include "../../mk/bsd.options.mk"

.if !empty(PKG_OPTIONS:Mldap)
.  include "../../databases/openldap-client/buildlink3.mk"
# looks like the am-utils configure script ignores this:
#CONFIGURE_ARGS+=	--enable-ldap=${BUILDLINK_PREFIX.openldap-client}
CONFIGURE_ARGS+=	--with-ldap
.else
CONFIGURE_ARGS+=	--without-ldap
.endif

.if !empty(PKG_OPTIONS:Mhesiod)
.  include "../../net/hesiod/buildlink3.mk"
# see above
#CONFIGURE_ARGS+=	--enable-hesiod=${BUILDLINK_PREFIX.hesiod}
CONFIGURE_ARGS+=	--with-hesiod
.else
CONFIGURE_ARGS+=	--without-hesiod
.endif

#.if !empty(PKG_OPTIONS:Mgdbm)
#.  include "../../databases/gdbm/buildlink3.mk"
#CONFIGURE_ARGS+=	--enable-ndbm=${BUILDLINK_PREFIX.gdbm}
#.endif

--Apple-Mail-4-491054270
Content-Transfer-Encoding: 7bit
Content-Type: application/octet-stream;
	x-unix-mode=0644;
	name=PLIST
Content-Disposition: attachment;
	filename=PLIST

@comment $NetBSD$
bin/expn
bin/pawd
info/am-utils.info
lib/libamu.la
man/man1/expn.1
man/man1/pawd.1
man/man5/amd.conf.5
man/man8/amd.8
man/man8/amq.8
man/man8/automount2amd.8
man/man8/fixmount.8
man/man8/fsinfo.8
man/man8/hlfsd.8
man/man8/mk-amd-map.8
man/man8/wire-test.8
sbin/am-eject
sbin/amd
sbin/amd2ldif
sbin/amd2sun
sbin/amq
sbin/automount2amd
sbin/ctl-amd
sbin/ctl-hlfsd
sbin/fix-amd-map
sbin/fixmount
sbin/fixrmtab
sbin/fsinfo
sbin/hlfsd
sbin/lostaltmail
sbin/mk-amd-map
sbin/wait4amd
sbin/wait4amd2die
sbin/wire-test
share/examples/am-utils/amd.conf-sample
share/examples/am-utils/lostaltmail.conf-sample
@dirrm share/examples/am-utils

--Apple-Mail-4-491054270--