Skip site navigation (1)Skip section navigation (2)
Date:      Tue,  6 Jun 2006 12:04:46 +0400 (MSD)
From:      "Andrey V. Elsukov" <bu7cher@yandex.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/98582: [patch][maintainer-update] devel/cvsd
Message-ID:  <20060606080446.E83E415C4A@mail.heavennet.ru>
Resent-Message-ID: <200606060810.k568AOLr003060@freefall.freebsd.org>

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

>Number:         98582
>Category:       ports
>Synopsis:       [patch][maintainer-update] devel/cvsd
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jun 06 08:10:23 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Andrey V. Elsukov
>Release:        FreeBSD
>Organization:
>Environment:
	Tested on FreeBSD 6.1 and 4.11
>Description:
	Take maintainership for the port devel/cvsd. 
	Add rc.subr support.
>How-To-Repeat:
>Fix:

--- cvsd.diff begins here ---
--- cvsd/Makefile	Tue Jun  6 11:33:45 2006
+++ cvsd/Makefile	Tue Jun  6 11:34:58 2006
@@ -8,10 +8,11 @@
 
 PORTNAME=	cvsd
 PORTVERSION=	1.0.12
+PORTREVISION=	1
 CATEGORIES=	devel
 MASTER_SITES=	http://ch.tudelft.nl/~arthur/cvsd/
 
-MAINTAINER=	ports@FreeBSD.org
+MAINTAINER=	bu7cher@yandex.ru
 COMMENT=	CVS pserver daemon
 
 USE_GPG?=	yes
@@ -27,16 +28,22 @@
 MAN5=		cvsd.conf.5
 MAN8=		cvsd.8 cvsd-buginfo.8 cvsd-buildroot.8 cvsd-passwd.8
 PORTDOCS=	README
-PLIST_FILES=	etc/cvsd/cvsd.conf.sample etc/rc.d/cvsd.sh.sample \
-		sbin/cvsd sbin/cvsd-buginfo sbin/cvsd-buildroot sbin/cvsd-passwd
+PLIST_FILES=	etc/cvsd/cvsd.conf.sample sbin/cvsd sbin/cvsd-buginfo \
+		sbin/cvsd-buildroot sbin/cvsd-passwd
 PLIST_DIRS=	etc/cvsd
+USE_RC_SUBR=	cvsd.sh
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} > 500000
+EXTRA_PATCHES+=	${FILESDIR}/extra-cvsd-buildroot.in
+.endif
 
 do-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/cvsd ${PREFIX}/sbin/cvsd
 .for FILE in cvsd-buginfo cvsd-buildroot cvsd-passwd
 	${INSTALL_SCRIPT} ${WRKSRC}/${FILE} ${PREFIX}/sbin
 .endfor
-	${INSTALL_DATA} ${WRKSRC}/cvsd.init ${PREFIX}/etc/rc.d/cvsd.sh.sample
 	@${MKDIR} ${PREFIX}/etc/cvsd
 	${INSTALL_DATA} ${WRKSRC}/cvsd.conf-dist ${PREFIX}/etc/cvsd/cvsd.conf.sample
 .for FILE in ${MAN5}
@@ -51,4 +58,4 @@
 .endif
 	@${CAT} ${PKGMESSAGE}
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
--- cvsd/files/cvsd.sh.in	Thu Jan  1 03:00:00 1970
+++ cvsd/files/cvsd.sh.in	Tue Jun  6 11:34:58 2006
@@ -0,0 +1,52 @@
+#!/bin/sh
+# $FreeBSD:
+#
+# PROVIDE: cvsd
+# REQUIRE: NETWORKING
+# KEYWORD: nojail
+
+. %%RC_SUBR%%
+
+name="cvsd"
+rcvar=`set_rcvar`
+command="%%PREFIX%%/sbin/$name"
+
+load_rc_config $name
+
+: ${cvsd_enable="NO"}
+: ${cvsd_config="%%PREFIX%%/etc/$name/$name.conf"}
+
+command_args="-f $cvsd_config"
+
+start_precmd="cvsd_prestart"
+stop_postcmd="cvsd_poststop"
+
+cvsd_prestart()
+{
+	if [ $osreldate -gt 500000 ]; then
+		mount -t devfs devfs $jail/dev
+		devfs -m $jail/dev rule apply hide
+		devfs -m $jail/dev rule apply path null unhide
+		devfs -m $jail/dev rule apply path zero unhide
+	fi
+}
+
+cvsd_poststop()
+{
+	if [ $osreldate -gt 500000 ]; then
+		umount -t devfs $jail/dev
+	fi
+}
+
+jail=`sed -n 's/^ *RootJail *\([^ ]*\) *$/\1/p' < $cvsd_config`
+pidfile=`sed -n 's/^ *PidFile *\([^ ]*\) *$/\1/p' < $cvsd_config`
+osreldate=`sysctl -n kern.osreldate`
+if [ "$jail" = "X$jail" ]; then
+	err 1 "RootJail is not specified in $cvsd_config"
+fi
+if [ "$pidfile" = "X$pidfile" ]; then
+	err 1 "PidFile is not specified in $cvsd_config"
+fi
+
+run_rc_command "$1"
+
--- cvsd/files/extra-cvsd-buildroot.in	Thu Jan  1 03:00:00 1970
+++ cvsd/files/extra-cvsd-buildroot.in	Tue Jun  6 11:39:24 2006
@@ -0,0 +1,42 @@
+--- cvsd-buildroot.in.orig	Thu Jun  1 23:57:20 2006
++++ cvsd-buildroot.in	Tue Jun  6 11:38:57 2006
+@@ -212,39 +212,6 @@
+   fi
+ done
+ 
+-# populate /dev (need root privileges for this)
+-echo $ECHO_N "creating $ROOT/dev devices... $ECHO_C"
+-DEVICES="null zero"
+-MISSINGDEVS=""
+-for d in $DEVICES
+-do
+-  if [ -r "$ROOT/dev/$d" ]
+-  then
+-    :
+-  else
+-    MISSINGDEVS="$MISSINGDEVS $d"
+-  fi
+-done
+-if [ -n "`echo $MISSINGDEVS`" ]
+-then
+-  if (cd /dev ; tar chpf - $MISSINGDEVS) | \
+-     ( cd "$ROOT/dev" ; tar xpf - > /dev/null 2>&1 )
+-  then
+-    # check if we can use the devices
+-    if ( echo TEST > "$ROOT/dev/null" && \
+-         echo TEST > "$ROOT/dev/zero" )  2> /dev/null
+-    then
+-      echo "done."
+-    else
+-      echo "FAILED (unable to use devices)"
+-    fi
+-  else
+-    echo "FAILED."
+-  fi
+-else
+-  echo "already there."
+-fi
+-
+ # update /etc/passwd
+ echo $ECHO_N "adding users to $ROOT/etc/passwd...$ECHO_C"
+ for i in $USERS
--- cvsd.diff ends here ---


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



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