Bug 86178 - New port: devel/sfslite - async development libraries from the self-certifying filesystem (SFS)
Summary: New port: devel/sfslite - async development libraries from the self-certifyin...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Pav Lucistnik
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-15 19:40 UTC by Maxwell N. Krohn
Modified: 2005-09-17 12:05 UTC (History)
1 user (show)

See Also:


Attachments
file.shar (8.81 KB, text/plain)
2005-09-15 19:40 UTC, Maxwell N. Krohn
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Maxwell N. Krohn 2005-09-15 19:40:15 UTC
Shell Archive included for new port
Comment 1 Pav Lucistnik freebsd_committer freebsd_triage 2005-09-16 19:28:57 UTC
State Changed
From-To: open->feedback

The way this port is creating sfs user is unacceptable. Please create a script 
that will create a user with fixed UID, so the package is universally useful 
(at this moment, sfs user will have different UID on different computers). 

There is already a reserved UID 171 for sfs user. 

Also create a pkg-install script, that will create the sfs user when installing 
from the package. 


Comment 2 Pav Lucistnik freebsd_committer freebsd_triage 2005-09-16 19:28:57 UTC
Responsible Changed
From-To: freebsd-ports-bugs->pav

Track
Comment 3 Maxwell N. Krohn 2005-09-17 01:27:55 UTC
Pav Lucistnik (pav@FreeBSD.org) wrote:
> Synopsis: New port: devel/sfslite - async development libraries from the self-certifying filesystem (SFS)
> 
> State-Changed-From-To: open->feedback
> State-Changed-By: pav
> State-Changed-When: Fri Sep 16 18:28:57 GMT 2005
> State-Changed-Why: 
> The way this port is creating sfs user is unacceptable. Please create a script
> that will create a user with fixed UID, so the package is universally useful
> (at this moment, sfs user will have different UID on different computers).
> 
> There is already a reserved UID 171 for sfs user.
> 
> Also create a pkg-install script, that will create the sfs user when installing
> from the package.
> 
> 
> Responsible-Changed-From-To: freebsd-ports-bugs->pav
> Responsible-Changed-By: pav
> Responsible-Changed-When: Fri Sep 16 18:28:57 GMT 2005
> Responsible-Changed-Why: 
> Track
> 
> http://www.freebsd.org/cgi/query-pr.cgi?pr=86178

Hi Pav, Thanks for your help.  I fixed the port with the changes you
requested.  I've included the new shell archive at the end of this mail.

Regards, Max

# 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:
#
#	/usr/ports/devel/sfslite
#	/usr/ports/devel/sfslite/Makefile
#	/usr/ports/devel/sfslite/pkg-descr
#	/usr/ports/devel/sfslite/pkg-plist
#	/usr/ports/devel/sfslite/pkg-install
#
echo c - /usr/ports/devel/sfslite
mkdir -p /usr/ports/devel/sfslite > /dev/null 2>&1
echo x - /usr/ports/devel/sfslite/Makefile
sed 's/^X//' >/usr/ports/devel/sfslite/Makefile << 'END-of-/usr/ports/devel/sfslite/Makefile'
X# New ports collection makefile for:  sfslite
X# Date created:        10 September 2005
X# Whom:                max
X#
X# $FreeBSD$
X#
X
XPORTNAME=	sfslite
X
X#
X# SFS version 0.8 => sfslite versions 0.8.1, 0.8.2, 0.8.3, ....
X# since it will be updated more frequently.
X#
XPORTVERSION=	0.8.1
XCATEGORIES=	devel
XMASTER_SITES=	http://dist.okws.org/dist/
X
XMAINTAINER=	ports@okws.org
XCOMMENT= 	Standard version of the sfslite library
X
XGNU_CONFIGURE=	yes
XUSE_GMAKE=	yes
XUSE_REINPLACE=	yes
XCONFIGURE_ARGS+=--with-sfsuser=sfs \
X		--with-sfsgroup=sfs 
X#
X# rpcc does not work with byacc, so just require BISON
X#
XUSE_BISON=	yes
X
X.include <bsd.port.pre.mk>
X.if ${ARCH} != "i386"
XBROKEN=		"Does not compile on !i386"
X.endif
X
X.if ${OSVERSION} > 500000
XLIB_DEPENDS+=	gmp.6:${PORTSDIR}/math/libgmp4
XCONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
X.else
XCONFIGURE_ARGS+=--with-gmp=/usr
X.endif
X
X#
X# Map X.Y.Z.Q => X.Y
X#
XSHORTVERSION!=	${ECHO} ${PORTVERSION} | sed -Ee 's/([^.]+\.[^.]+).*/\1/'
X
X#
X# if being called from one of the slave distributions (like
X# sfslite-dbg), then the build-mode will be set, and we should
X# rename the port accordingly so that more than one of them can
X# be built.
X#
X.if defined(BUILD_MODE)
XPKGNAMESUFFIX+= -${BUILD_MODE}
XRPCC_BIN?=      lib/${PORTNAME}-${SHORTVERSION}/${BUILD_MODE}
X.else
XBUILD_MODE?=    shopt
XRPCC_BIN?=      bin
X.endif # define(BUILD_MODE)
X
XINSTALLS_SHLIB= yes
XLDCONFIG_DIRS=  %%PREFIX%%/lib/${PORTNAME}/${BUILD_MODE}
X
XCONFIGURE_TARGET=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
XCONFIGURE_ARGS+=  --with-mode=${BUILD_MODE}
X
XPLIST_SUB+=      VERSION=${SHORTVERSION}
XPLIST_SUB+=      TAG=${BUILD_MODE}
XPLIST_SUB+=      RPCC_BIN=${RPCC_BIN}
X
X#
X# Slave distributions might override this since they won't have a 
X# pkg-install script in their directory.
X#
XPKG_INSTALL?=    pkg-install
X
Xpre-install:
X	PKG_PREFIX=${PREFIX} ${SH} ${PKG_INSTALL} ${PKGNAME} PRE-INSTALL
X
X.include <bsd.port.post.mk>
END-of-/usr/ports/devel/sfslite/Makefile
echo x - /usr/ports/devel/sfslite/pkg-descr
sed 's/^X//' >/usr/ports/devel/sfslite/pkg-descr << 'END-of-/usr/ports/devel/sfslite/pkg-descr'
XThis is a port of the SFS-Lite development libraries.  The SFS toolkit
Xwas developed to support the SFS distributed file system (see
Xhttp://www.fs.net).  But because others use the toolkit for other
Xreasons, we're making SFS's libraries available as a separate,
Xlightweight package.  sfslite compiles much faster and can be
Xinstalled as different non-conflicting build modes (such as
Xsfslite-dbg or sfslite-noopt) so might be better for some applications
Xthat need the SFS libraries but not SFS.
X
XMaintained as port of the OKWS distribution by Maxwell Krohn.
X
XWWW: http://www.okws.org
X
X- Max
Xports@okws.org
END-of-/usr/ports/devel/sfslite/pkg-descr
echo x - /usr/ports/devel/sfslite/pkg-plist
sed 's/^X//' >/usr/ports/devel/sfslite/pkg-plist << 'END-of-/usr/ports/devel/sfslite/pkg-plist'
X%%RPCC_BIN%%/rpcc
Xinclude/sfslite
Xinclude/sfslite-%%VERSION%%/%%TAG%%/aclnt.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/aes.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/afsnode.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/agentconn.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/agentmisc.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/aiod.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/aiod_prot.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/aios.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/amisc.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/arc4.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/arena.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/arpc.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/array.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/asrv.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/async.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/autoconf.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/axprt.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/axprt_crypt.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/backoff.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/bbuddy.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/bench.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/bigint.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/bitvec.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/blowfish.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/callback.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/cbuf.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/crypt.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/crypt_prot.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/crypt_prot.x
Xinclude/sfslite-%%VERSION%%/%%TAG%%/crypthash.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/dns.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/dnsimpl.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/dnsparse.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/err.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/esign.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/fdlim.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/getfh3.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/hashcash.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/ihash.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/init.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/itree.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/keyfunc.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/list.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/litetime.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/modalg.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/msb.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/nfs3_nonnul.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/nfsserv.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/nfstrans.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/ocb.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/opnew.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/parseopt.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/password.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/pcre.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/pmap_prot.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/pmap_prot.x
Xinclude/sfslite-%%VERSION%%/%%TAG%%/prime.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/prng.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/qhash.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/rabin.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/refcnt.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/rex.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/rpctypes.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/rsa.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/rwfd.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/rxx.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/schnorr.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/seqno.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/serial.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/sfsclient.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/sfsconnect.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/sfscrypt.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/sfsgroupmgr.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/sfskeymgr.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/sfskeymisc.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/sfsmisc.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/sfsschnorr.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/sfsserv.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/sfstty.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/sha1.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/stllike.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/str.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/suio++.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/sysconf.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/tiger.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/union.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/uvfstrans.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/vatmpl.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/vec.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/wmstr.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/xdr_suio.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/xdrmisc.h
Xinclude/sfslite-%%VERSION%%/%%TAG%%/xhinfo.h
Xlib/sfslite
Xlib/sfslite-%%VERSION%%/%%TAG%%/aiod
Xlib/sfslite-%%VERSION%%/%%TAG%%/env.mk
Xlib/sfslite-%%VERSION%%/%%TAG%%/libarpc.a
Xlib/sfslite-%%VERSION%%/%%TAG%%/libarpc.la
Xlib/sfslite-%%VERSION%%/%%TAG%%/libarpc.so
Xlib/sfslite-%%VERSION%%/%%TAG%%/libarpc.so.0
Xlib/sfslite-%%VERSION%%/%%TAG%%/libasync.a
Xlib/sfslite-%%VERSION%%/%%TAG%%/libasync.la
Xlib/sfslite-%%VERSION%%/%%TAG%%/libasync.so
Xlib/sfslite-%%VERSION%%/%%TAG%%/libasync.so.0
Xlib/sfslite-%%VERSION%%/%%TAG%%/libsfscrypt.a
Xlib/sfslite-%%VERSION%%/%%TAG%%/libsfscrypt.la
Xlib/sfslite-%%VERSION%%/%%TAG%%/libsfscrypt.so
Xlib/sfslite-%%VERSION%%/%%TAG%%/libsfscrypt.so.0
Xlib/sfslite-%%VERSION%%/%%TAG%%/libsfsmisc.a
Xlib/sfslite-%%VERSION%%/%%TAG%%/libsfsmisc.la
Xlib/sfslite-%%VERSION%%/%%TAG%%/libsfsmisc.so
Xlib/sfslite-%%VERSION%%/%%TAG%%/libsfsmisc.so.0
Xlib/sfslite-%%VERSION%%/%%TAG%%/mallock.o
Xlib/sfslite-%%VERSION%%/%%TAG%%/mmcd
Xshare/nls/POSIX
Xshare/nls/en_US.US-ASCII
X@dirrm lib/sfslite-%%VERSION%%/%%TAG%%
X@unexec rmdir %D/lib/sfslite-%%VERSION%% 2>/dev/null || true
X@dirrm include/sfslite-%%VERSION%%/%%TAG%%
X@unexec rmdir %D/include/sfslite-%%VERSION%% 2>/dev/null || true
END-of-/usr/ports/devel/sfslite/pkg-plist
echo x - /usr/ports/devel/sfslite/pkg-install
sed 's/^X//' >/usr/ports/devel/sfslite/pkg-install << 'END-of-/usr/ports/devel/sfslite/pkg-install'
X#!/bin/sh
X
Xif [ -n "${PACKAGE_BUILDING}" ]; then
X	exit 0
Xfi
X
XUSER=sfs
XGROUP=sfs
XUID=171
XGID=171
XPW=/usr/sbin/pw
XCOMMENT='Self-Certifying File System'
X
Xif [ "$2" = "PRE-INSTALL" ]; then
X	echo -n "Checking for group '$GROUP'... "
X
X	if ! ${PW} groupshow $GROUP >/dev/null 2>&1; then
X		echo -n "doesn't exist, adding... "
X		if ${PW} groupadd $GROUP -g ${GID}; then
X			echo "success."
X		else
X			echo "FAILED!"
X			exit 1
X		fi
X	else
X		echo "exists."
X	fi
X
X	echo -n "Checking for user '$USER'... "
X
X	if ! ${PW} usershow $USER >/dev/null 2>&1; then
X		echo -n "doesn't exist, adding... "
X		if ${PW} useradd $USER -u ${UID} -c ${COMMENT} \
X                   -d /nonexistent -g $GROUP -s /sbin/nologin -h -; then
X			echo "success."
X		else
X			echo "FAILED!"
X			exit 1
X		fi
X	else
X		echo "exists."
X	fi
Xfi
X
Xexit 0
END-of-/usr/ports/devel/sfslite/pkg-install
exit
Comment 4 Pav Lucistnik freebsd_committer freebsd_triage 2005-09-17 12:05:29 UTC
State Changed
From-To: feedback->closed

New port added with modifications. Most notably I removed the !i386 check, 
as I was able to compile it successfully on my amd64 systems.