Bug 83318 - [update] bring sysutils/nut to v2.0.2 and more
Summary: [update] bring sysutils/nut to v2.0.2 and more
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: Sergey Matveychuk
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-07-12 11:10 UTC by Joerg Pulz
Modified: 2005-07-14 09:45 UTC (History)
1 user (show)

See Also:


Attachments
sysutils_nut-snmp.shar (1.03 KB, text/plain)
2005-07-12 11:10 UTC, Joerg Pulz
no flags Details
file.shar (1.24 KB, text/plain)
2005-07-12 11:10 UTC, Joerg Pulz
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joerg Pulz 2005-07-12 11:10:19 UTC
	- update sysutils/nut to v2.0.2 and turn it into a MASTER port

sysutils/nut part:
	  - prepared Makefile to accept SLAVE ports
	  - updated pkg-plist and MAN sections for new ups drivers
	  - reordered MASTER_SITES as the eu1 server is more up to date
	  - make portlint(1) happier about the localstatedir
	  - removed creation of the localstatedir from pkg-plist,
	    this is already done in the Makefile
	  - added a line to forcestop nut when deinstalling this port
	    to pkg-plist
	  - modified the rcNG script
	    - added required_dirs and required_files
	    - turned start_cmd into start_postcmd to let the rc.subr test for
	      required_dirs and required_files actually happen
	  - removed files/patch-man_Makefile.in, as the SNMPPAGES are installed
	    by a SLAVE port now (installing this manpage was wrong anyway)
	  - added files/patch-Makefile.in, add and modify build and install
	    targets for the SLAVE ports
	The sysutils/nut port has not changes its behavior

SLAVE ports
 sysutils/nut-libupsclient
	  - added new port to build and install the libupsclient archive and
	    some headers
	  - this allows other/future ports to depend on this SLAVE port and
	    provides statically linking to the libupsclient archive
	  - this SLAVE port depends on devel/pkgconfig

 sysutils/nut-snmp
	  - added new port to build and install the SNMP ups driver and
	    manpages
	  - the snmp driver is marked as experimental but we are using it here
	    without any flaws
	  - this SLAVE port depends on sysutils/nut (without it the driver is
	    useless) and net-mgmt/net-snmp

 sysutils/nut-usb
	  - added new port to build and install the USB ups driver and
	    manpages
	  - this driver allows to communicate with ups systems connected via
	    the USBus (some MGE ups systems provide this interface)
	  - this SLAVE port depends on sysutils/nut (without it the driver is
	    useless) and devel/libusb

Fix: - apply the sysutils_nut.diff patch to sysutils/nut
	- remove sysutils/nut/files/patch-man_Makefile.in from CVS
	- add sysutils/nut/files/patch-Makefile.in to CVS

	- extract the three shar(1) archives in sysutils/ and add the newly
	  created nut-libupsclient, nut-snmp and nut-usb directories and their
	  files to CVS


# 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:
#
#	nut-libupsclient
#	nut-libupsclient/Makefile
#	nut-libupsclient/pkg-plist
#
echo c - nut-libupsclient
mkdir -p nut-libupsclient > /dev/null 2>&1
echo x - nut-libupsclient/Makefile
sed 's/^X//' >nut-libupsclient/Makefile << 'END-of-nut-libupsclient/Makefile'
X# New ports collection makefile for:    nut-libupsclient
X# Date created:         08 Jul 2005
X# Whom:                 Joerg Pulz <Joerg.Pulz@frm2.tum.de>
X#
X# $FreeBSD$
X#
X
XCOMMENT=	Network UPS Tools - upsclient library
X
X# Local variables
X#
X
XUSE_GNOME=	pkgconfig
XUSE_REINPLACE=	yes
X
XPLIST=		${.CURDIR}/pkg-plist
XSUBSYS=		libupsclient
X
X# Local overrides
X#
X
XMASTERDIR=	${.CURDIR}/../nut
X
X.include "${MASTERDIR}/Makefile"
END-of-nut-libupsclient/Makefile
echo x - nut-libupsclient/pkg-plist
sed 's/^X//' >nut-libupsclient/pkg-plist << 'END-of-nut-libupsclient/pkg-plist'
Xbin/libupsclient-config
Xinclude/parseconf.h
Xinclude/upsclient.h
Xlib/libupsclient.a
Xlibdata/pkgconfig/libupsclient.pc
END-of-nut-libupsclient/pkg-plist
exit
--- sysutils_nut-libupsclient.shar ends here ---



--- sysutils_nut-libupsclient.shar ends here -----Oa9TreYPRTaGDCnwCrnuqwrsqurDeGKQU051rHlBHiUttF7i
Content-Type: text/plain; name="sysutils_nut.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="sysutils_nut.diff"

Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/sysutils/nut/Makefile,v
retrieving revision 1.28
diff -u -r1.28 Makefile
--- Makefile	25 Jun 2005 20:28:01 -0000	1.28
+++ Makefile	12 Jul 2005 09:24:40 -0000
@@ -6,36 +6,46 @@
 #
 
 PORTNAME=	nut
-PORTVERSION=	2.0.1
+PORTVERSION=	2.0.2
 CATEGORIES=	sysutils
-MASTER_SITES=	http://us1.networkupstools.org/source/${PORTVERSION:R}/ \
-		http://eu1.networkupstools.org/source/${PORTVERSION:R}/
+MASTER_SITES=	http://eu1.networkupstools.org/source/${PORTVERSION:R}/ \
+		http://us1.networkupstools.org/source/${PORTVERSION:R}/
 DISTFILES=	${DISTNAME}${EXTRACT_SUFX} ${DISTNAME}${EXTRACT_SUFX}.sig
 EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 
-
 MAINTAINER=	DougB@FreeBSD.org
-COMMENT=	Network UPS Tools
+COMMENT?=	Network UPS Tools
+
+SUBSYS?=	base
+.if ${SUBSYS} != base
+PKGNAMESUFFIX=	-${SUBSYS}
+.endif
 
 GNU_CONFIGURE=	yes
 CONFIGURE_ARGS=	--sysconfdir=${PREFIX}/etc/nut \
-		--localstatedir=/var/db/nut \
+		--localstatedir=${STATEDIR} \
 		--datadir=${PREFIX}/etc/nut \
 		--with-drvpath=${PREFIX}/libexec/nut \
-		--with-statepath=/var/db/nut \
-		--with-altpidpath=/var/db/nut \
-		--with-pidpath=/var/db/nut
+		--with-statepath=${STATEDIR} \
+		--with-altpidpath=${STATEDIR} \
+		--with-pidpath=${STATEDIR} \
+		--with-linux-hiddev=no
 USE_RC_SUBR=	yes
+STATEDIR=	${DESTDIR}/var/db/nut
+
+.include <bsd.port.pre.mk>
 
+.if ${SUBSYS} == base
 MAN5=		ups.conf.5 upsd.conf.5 upsd.users.5 upsmon.conf.5 \
 		upssched.conf.5
-MAN8=		apcsmart.8 belkin.8 belkinunv.8 bestuferrups.8 bestups.8 \
-		bestfcom.8 cpsups.8 cyberpower.8 etapro.8 everups.8 \
+MAN8=		apcsmart.8 bcmxcp.8 belkin.8 belkinunv.8 bestuferrups.8 \
+		bestups.8 bestfcom.8 cpsups.8 cyberpower.8 etapro.8 everups.8 \
 		fentonups.8 genericups.8 ippon.8 isbmex.8 liebert.8 \
 		masterguard.8 metasys.8 mge-shut.8 mge-utalk.8 mustek.8 \
 		nutupsdrv.8 oneac.8 powercom.8 powermust.8 safenet.8 sms.8 \
-		snmp-ups.8 tripplite.8 tripplitesu.8 upsc.8 upscmd.8 upsd.8 \
-		upsdrvctl.8 upslog.8 upsmon.8 upsrw.8 upssched.8 victronups.8 
+		solis.8 tripplite.8 tripplitesu.8 upsc.8 upscmd.8 upscode2.8 \
+		upsd.8 upsdrvctl.8 upslog.8 upsmon.8 upsrw.8 upssched.8 \
+		victronups.8
 
 ALL_TARGET=	all
 INSTALL_TARGET=	install install-conf
@@ -62,19 +72,52 @@
 PLIST_SUB+=	CGIDIRRM="@comment "
 PLIST_SUB+=	CGIETC="@comment "
 .endif
+.endif
+
+.if ${SUBSYS} == usb
+LIB_DEPENDS=	usb-0.1.8:${PORTSDIR}/devel/libusb
+ALL_TARGET=	usb
+INSTALL_TARGET=	install-usb
+
+MAN8=		newhidups.8
+.endif
 
+.if ${SUBSYS} == snmp
+LIB_DEPENDS=	netsnmp.7:${PORTSDIR}/net-mgmt/net-snmp
+ALL_TARGET=	snmp
+INSTALL_TARGET=	install-snmp
+
+MAN8=		snmp-ups.8
+.endif
+
+.if ${SUBSYS} == libupsclient
+CONFIGURE_ARGS+=	--enable-pkg-config \
+			--with-pkgconfig-dir=${PREFIX}/libdata/pkgconfig
+ALL_TARGET=	lib
+INSTALL_TARGET=	install-lib
+
+MAN3=		upscli_connect.3 upscli_disconnect.3 upscli_readline.3 \
+		upscli_sendline.3 upscli_splitname.3 upscli_strerror.3
+
+post-patch:
+	@${REINPLACE_CMD} -e "s#@PKG_CFG_DIR@#${PREFIX}/libdata/pkgconfig#g" \
+		${WRKSRC}/lib/Makefile.in
+.endif
+
+.if ${SUBSYS} == base
 pre-install:
 .if !defined(WITH_NUT_CGI) && !defined(BATCH) && !defined(PACKAGE_BUILDING)
 	@${ECHO_MSG} "Type \"make -DWITH_NUT_CGI\" if you want to build CGI scripts."
 .endif
 	@${MKDIR} ${PREFIX}/libexec/nut
-	@${MKDIR} /var/db/nut
-	@${CHOWN} uucp:wheel /var/db/nut
-	@${CHMOD} 0750 /var/db/nut
+	@${MKDIR} ${STATEDIR}
+	@${CHOWN} uucp:wheel ${STATEDIR}
+	@${CHMOD} 0750 ${STATEDIR}
 
 post-install:
 	@${SED} -e "s#%%PREFIX%%#${PREFIX}#g" \
 		-e "s#%%RC_SUBR%%#${RC_SUBR}#g" \
+		-e "s#%%STATEDIR%%#${STATEDIR}#g" \
 		<${FILESDIR}/nut.sh.sample >${WRKSRC}/nut.sh
 	${INSTALL_SCRIPT} ${WRKSRC}/nut.sh ${PREFIX}/etc/rc.d/nut.sh
 .if !defined(NOPORTDOCS)
@@ -88,4 +131,6 @@
 .endfor
 .endif
 
-.include <bsd.port.mk>
+.endif
+
+.include <bsd.port.post.mk>
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/sysutils/nut/distinfo,v
retrieving revision 1.16
diff -u -r1.16 distinfo
--- distinfo	25 Jun 2005 20:28:01 -0000	1.16
+++ distinfo	12 Jul 2005 09:24:40 -0000
@@ -1,4 +1,4 @@
-MD5 (nut-2.0.1.tar.gz) = fe28e182ab31015cfcfad5870a2322a2
-SIZE (nut-2.0.1.tar.gz) = 564545
-MD5 (nut-2.0.1.tar.gz.sig) = 5a44399917dbb14cb939266aeafcaf61
-SIZE (nut-2.0.1.tar.gz.sig) = 65
+MD5 (nut-2.0.2.tar.gz) = 6560df8d0a42f0f585d34ed1ae8c6f67
+SIZE (nut-2.0.2.tar.gz) = 609977
+MD5 (nut-2.0.2.tar.gz.sig) = 65bfaa136df1b0a1b73f983f51d706b3
+SIZE (nut-2.0.2.tar.gz.sig) = 65
Index: pkg-plist
===================================================================
RCS file: /home/ncvs/ports/sysutils/nut/pkg-plist,v
retrieving revision 1.17
diff -u -r1.17 pkg-plist
--- pkg-plist	25 Jun 2005 20:28:01 -0000	1.17
+++ pkg-plist	12 Jul 2005 09:24:40 -0000
@@ -1,3 +1,4 @@
+@unexec %D/etc/rc.d/nut.sh forcestop 2>/dev/null || true
 bin/upsc
 bin/upscmd
 bin/upslog
@@ -12,6 +13,7 @@
 @unexec rmdir %D/etc/nut 2>/dev/null || true
 etc/rc.d/nut.sh
 libexec/nut/apcsmart
+libexec/nut/bcmxcp
 libexec/nut/belkin
 libexec/nut/belkinunv
 libexec/nut/bestfcom
@@ -38,8 +40,10 @@
 libexec/nut/powermust
 libexec/nut/safenet
 libexec/nut/sms
+libexec/nut/solis
 libexec/nut/tripplite
 libexec/nut/tripplitesu
+libexec/nut/upscode2
 libexec/nut/upsdrvctl
 libexec/nut/victronups
 sbin/upsd
@@ -94,7 +98,6 @@
 %%PORTDOCS%%@dirrm %%DOCSDIR%%/cables
 %%PORTDOCS%%@dirrm %%DOCSDIR%%/drivers
 %%PORTDOCS%%@dirrm %%DOCSDIR%%
-@dirrm libexec/nut
-@exec if [ ! -d /var/db/nut ]; then mkdir /var/db/nut; chown uucp:wheel /var/db/nut; chmod 0755 /var/db/nut; fi
+@unexec rmdir %D/libexec/nut 2>/dev/null || true
 @unexec rmdir /var/db/nut 2>/dev/null || true
 %%CGIDIRRM%%
Index: files/nut.sh.sample
===================================================================
RCS file: /home/ncvs/ports/sysutils/nut/files/nut.sh.sample,v
retrieving revision 1.4
diff -u -r1.4 nut.sh.sample
--- files/nut.sh.sample	25 Jun 2005 20:28:01 -0000	1.4
+++ files/nut.sh.sample	12 Jul 2005 09:24:41 -0000
@@ -17,7 +17,7 @@
 #
 nut_enable=${nut_enable-"NO"}
 nut_prefix=${nut_prefix-"%%PREFIX%%"}
-nut_pidfile=${nut_pidfile-"/var/db/nut/nut.pid"}
+nut_pidfile=${nut_pidfile-"%%STATEDIR%%/nut.pid"}
 nut_upslog=${nut_upslog-"/var/log/ups.log"}
 nut_upsloginterval=${nut_upsloginterval-"300"}
 nut_upslogmail=${nut_upslogmail-"backups@localhost"}
@@ -27,7 +27,10 @@
 name="nut"
 rcvar=`set_rcvar`
 
-start_cmd="nut_start"
+required_dirs="%%STATEDIR%%"
+required_files="${nut_prefix}/etc/nut/ups.conf ${nut_prefix}/etc/nut/upsd.conf ${nut_prefix}/etc/nut/upsd.users ${nut_prefix}/etc/nut/upsmon.conf"
+
+start_postcmd="nut_start"
 stop_cmd="nut_stop"
 
 nut_start() {
Index: files/patch-Makefile.in
===================================================================
RCS file: files/patch-Makefile.in
diff -N files/patch-Makefile.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-Makefile.in	12 Jul 2005 09:24:41 -0000
@@ -0,0 +1,37 @@
+--- Makefile.in.orig	Thu Jan 27 15:33:15 2005
++++ Makefile.in	Fri Jul  8 21:45:32 2005
+@@ -90,6 +90,12 @@
+ install-cgi-conf:
+ 	@cd conf; $(MAKE) install-cgi-conf; cd ..;
+ 
++lib: build-lib
++
++build-lib:
++	@cd common ; $(MAKE) || exit 1; cd ..;
++	@cd clients; $(MAKE) libupsclient.a || exit 1; cd ..;
++
+ install-lib:
+ 	@cd clients; $(MAKE) install-lib; cd ..;
+ 	@cd man; $(MAKE) install-lib-man; cd ..;
+@@ -98,9 +104,8 @@
+ usb: build-usb
+ 
+ build-usb:
+-	@cd drivers; $(MAKE) hidups; cd ..;
+-	@cd drivers; $(MAKE) newhidups; cd ..;
+-	@cd drivers; $(MAKE) energizerups; cd ..;
++	@cd common ; $(MAKE) || exit 1; cd ..;
++	@cd drivers; $(MAKE) newhidups || exit 1; cd ..;
+ 
+ install-usb:
+ 	@cd drivers; $(MAKE) install-usb; cd ..;
+@@ -109,7 +114,8 @@
+ snmp: build-snmp
+ 
+ build-snmp:
+-	@cd drivers; $(MAKE) snmp-ups; cd ..;
++	@cd common ; $(MAKE) || exit 1; cd ..;
++	@cd drivers; $(MAKE) snmp-ups || exit 1; cd ..;
+ 
+ install-snmp: snmp install-snmp-man install-snmp-mgr
+ 
Index: files/patch-man_Makefile.in
===================================================================
RCS file: files/patch-man_Makefile.in
diff -N files/patch-man_Makefile.in
--- files/patch-man_Makefile.in	29 Aug 2004 01:55:45 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
---- man/Makefile.in.orig	Thu Nov 27 15:35:19 2003
-+++ man/Makefile.in	Sat Feb  7 23:09:21 2004
-@@ -47,7 +47,7 @@
- 		echo $(INSTALLCMD) -m $(INSTALLMODE) $$f $(MANDIR)/man5; \
- 		$(INSTALLCMD) -m $(INSTALLMODE) $$f $(MANDIR)/man5; \
- 	done
--	@for f in $(MAN8_PAGES) ; do \
-+	@for f in $(MAN8_PAGES) $(SNMPPAGES) ; do \
- 		echo $(INSTALLCMD) -m $(INSTALLMODE) $$f $(MANDIR)/man8; \
- 		$(INSTALLCMD) -m $(INSTALLMODE) $$f $(MANDIR)/man8; \
- 	done
Comment 1 Joerg Pulz 2005-07-12 12:54:22 UTC
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Hi again,

accidentally i have included the SLAVE ports shar(1) archive for 
nut-libupsclient twice instead of including the shar(1) archive for the 
nut-usb SLAVE port.

so here it is

- --- sysutils_nut-usb.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:
#
#	nut-usb
#	nut-usb/Makefile
#	nut-usb/pkg-plist
#
echo c - nut-usb
mkdir -p nut-usb > /dev/null 2>&1
echo x - nut-usb/Makefile
sed 's/^X//' >nut-usb/Makefile << 'END-of-nut-usb/Makefile'
X# New ports collection makefile for:    nut-usb
X# Date created:         08 Jul 2005
X# Whom:                 Joerg Pulz <Joerg.Pulz@frm2.tum.de>
X#
X# $FreeBSD$
X#
X
XCOMMENT=	Network UPS Tools - USB driver
X
X# Local variables
X#
X
XRUN_DEPENDS=	upsd:${PORTSDIR}/sysutils/nut
X
XPLIST=		${.CURDIR}/pkg-plist
XSUBSYS=		usb
X
X# Local overrides
X#
X
XMASTERDIR=	${.CURDIR}/../nut
X
X.include "${MASTERDIR}/Makefile"
END-of-nut-usb/Makefile
echo x - nut-usb/pkg-plist
sed 's/^X//' >nut-usb/pkg-plist << 'END-of-nut-usb/pkg-plist'
Xlibexec/nut/newhidups
END-of-nut-usb/pkg-plist
exit
- --- sysutils_nut-usb.shar ends here ---

sorry for this mistake.

Joerg

- -- 
The beginning is the most important part of the work.
 				-Plato
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (FreeBSD)

iD8DBQFC069wSPOsGF+KA+MRAt5jAJ9YEzW/szkCVKCeY3STKq1ZH0ltCgCeLPud
U6n+B5CTHLu77BUNsZuy/9c=
=Rg03
-----END PGP SIGNATURE-----
Comment 2 Sergey Matveychuk freebsd_committer freebsd_triage 2005-07-12 15:18:13 UTC
Responsible Changed
From-To: freebsd-ports-bugs->dougb

Over to maintainer
Comment 3 Sergey Matveychuk freebsd_committer freebsd_triage 2005-07-14 08:54:13 UTC
Responsible Changed
From-To: dougb->sem

dougb@ has dropped maintain the port. I'll care of the PR.
Comment 4 Sergey Matveychuk freebsd_committer freebsd_triage 2005-07-14 09:44:57 UTC
State Changed
From-To: open->closed

Committed, thanks!