From owner-freebsd-bugs@FreeBSD.ORG Tue Jun 25 13:30:00 2013 Return-Path: Delivered-To: freebsd-bugs@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 83F60D29 for ; Tue, 25 Jun 2013 13:30:00 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 651551B19 for ; Tue, 25 Jun 2013 13:30:00 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id r5PDU0Vj070544 for ; Tue, 25 Jun 2013 13:30:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id r5PDU063070543; Tue, 25 Jun 2013 13:30:00 GMT (envelope-from gnats) Resent-Date: Tue, 25 Jun 2013 13:30:00 GMT Resent-Message-Id: <201306251330.r5PDU063070543@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Mark Felder Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 80C37A91 for ; Tue, 25 Jun 2013 13:22:17 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from oldred.freebsd.org (oldred.freebsd.org [8.8.178.121]) by mx1.freebsd.org (Postfix) with ESMTP id 71AEB1AC8 for ; Tue, 25 Jun 2013 13:22:17 +0000 (UTC) Received: from oldred.freebsd.org ([127.0.1.6]) by oldred.freebsd.org (8.14.5/8.14.7) with ESMTP id r5PDMGTS034146 for ; Tue, 25 Jun 2013 13:22:16 GMT (envelope-from nobody@oldred.freebsd.org) Received: (from nobody@localhost) by oldred.freebsd.org (8.14.5/8.14.5/Submit) id r5PDMGjv034130; Tue, 25 Jun 2013 13:22:16 GMT (envelope-from nobody) Message-Id: <201306251322.r5PDMGjv034130@oldred.freebsd.org> Date: Tue, 25 Jun 2013 13:22:16 GMT From: Mark Felder To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Subject: misc/179964: net/rwhoisd: do not overwrite configs X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Jun 2013 13:30:00 -0000 >Number: 179964 >Category: misc >Synopsis: net/rwhoisd: do not overwrite configs >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Jun 25 13:30:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Mark Felder >Release: >Organization: >Environment: >Description: net/rwhoisd overwrites configs by default because a previous maintainer decided to remove the etc/rwhoisd/samples directory and put the configs directly in /etc/rwhoisd which unfortunately overwrites the live configs upon each reinstall. This patch does the following: - restores sample configs, copies the necessary samples to the right place during @exec if no live configs exist - removes both the sample and live configs during @unexec if they are identical - echo a message to notify user of need for net.inet6.ip6.v6only=0 if running with ipv6 - redundant mkdir/chown in post-install and @exec; use @exec but change to install -d instead of mkdir/chown - rc script now passes rclint https://redports.org/buildarchive/20130625130400-7240/ >How-To-Repeat: >Fix: Patch attached with submission follows: Index: Makefile =================================================================== --- Makefile (revision 321736) +++ Makefile (working copy) @@ -3,7 +3,7 @@ PORTNAME= rwhoisd PORTVERSION= 1.5.9.6 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net ipv6 MASTER_SITES= http://projects.arin.net/rwhois/ftp/ \ http://www.rwhois.net/ftp/ \ @@ -34,6 +34,10 @@ PORTDOCS= INSTALL.html TODO UPGRADE operations_guide.html \ operations_guide.txt rfc2167.txt security.html security.txt +ETCFILES= rwhoisd.allow rwhoisd.auth_area rwhoisd.conf rwhoisd.deny \ + rwhoisd.dir rwhoisd.root rwhoisd.x.dir +PLIST_SUB+= ETCFILES="${ETCFILES}" + .include .if empty(PORT_OPTIONS:MIPV6) @@ -45,8 +49,6 @@ .endif post-patch: - @${REINPLACE_CMD} -e 's,rwhoisd/samples,rwhoisd,' \ - ${WRKSRC}/sample.data/Makefile.in @${REINPLACE_CMD} -e 's,userid: rwhoisd,userid: nobody,' \ -e 's,pid-file: rwhoisd.pid,pid-file: /var/run/rwhoisd/rwhoisd.pid,' \ ${WRKSRC}/sample.data/rwhoisd.conf @@ -54,8 +56,6 @@ ${WRKSRC}/common/conf.h post-install: - @${MKDIR} /var/log/rwhoisd /var/run/rwhoisd - @${CHOWN} -R nobody /var/log/rwhoisd /var/run/rwhoisd ${INSTALL_MAN} ${WRKSRC}/doc/rwhois_indexer.8 ${PREFIX}/man/man8 ${INSTALL_MAN} ${WRKSRC}/doc/rwhoisd.8 ${PREFIX}/man/man8 .if ${PORT_OPTIONS:MDOCS} Index: files/rwhoisd.in =================================================================== --- files/rwhoisd.in (revision 321736) +++ files/rwhoisd.in (working copy) @@ -1,5 +1,7 @@ #!/bin/sh - +# +# $FreeBSD$ +# # PROVIDE: rwhoisd # REQUIRE: LOGIN # KEYWORD: shutdown @@ -15,18 +17,17 @@ . /etc/rc.subr -name="rwhoisd" +name=rwhoisd rcvar=rwhoisd_enable - -command=%%PREFIX%%/sbin/${name} -pidfile=${rwhoisd_pidfile} - load_rc_config $name -: ${rwhoisd_enable="NO"} +: ${rwhoisd_enable:=NO} : ${rwhoisd_config="%%PREFIX%%/etc/rwhoisd/rwhoisd.conf"} : ${rwhoisd_pidfile="/var/run/${name}/${name}.pid"} +command=%%PREFIX%%/sbin/${name} +pidfile=${rwhoisd_pidfile} + command_args="-d -c $rwhoisd_config" run_rc_command "$1" Index: pkg-plist =================================================================== --- pkg-plist (revision 321736) +++ pkg-plist (working copy) @@ -2,66 +2,70 @@ bin/rwhois_indexer bin/rwhois_repack sbin/rwhoisd -etc/rwhoisd/a.com/attribute_defs/asn.tmpl -etc/rwhoisd/a.com/attribute_defs/contact.tmpl -etc/rwhoisd/a.com/attribute_defs/domain.tmpl -etc/rwhoisd/a.com/attribute_defs/guardian.tmpl -etc/rwhoisd/a.com/attribute_defs/host.tmpl -etc/rwhoisd/a.com/attribute_defs/org.tmpl -etc/rwhoisd/a.com/attribute_defs/referral.tmpl -etc/rwhoisd/a.com/data/asn/asn.txt -etc/rwhoisd/a.com/data/contact/contact.txt -etc/rwhoisd/a.com/data/domain/domain.txt -etc/rwhoisd/a.com/data/guardian/guardian.txt -etc/rwhoisd/a.com/data/host/host.txt -etc/rwhoisd/a.com/data/org/org.txt -etc/rwhoisd/a.com/data/referral/referral.txt -etc/rwhoisd/a.com/schema -etc/rwhoisd/a.com/soa -etc/rwhoisd/net-10.0.0.0-8/attribute_defs/contact.tmpl -etc/rwhoisd/net-10.0.0.0-8/attribute_defs/guardian.tmpl -etc/rwhoisd/net-10.0.0.0-8/attribute_defs/host.tmpl -etc/rwhoisd/net-10.0.0.0-8/attribute_defs/network.tmpl -etc/rwhoisd/net-10.0.0.0-8/attribute_defs/referral.tmpl -etc/rwhoisd/net-10.0.0.0-8/data/network/network.txt -etc/rwhoisd/net-10.0.0.0-8/data/referral/referral.txt -etc/rwhoisd/net-10.0.0.0-8/schema -etc/rwhoisd/net-10.0.0.0-8/soa -etc/rwhoisd/net-fd00:1234::-32/attribute_defs/host.tmpl -etc/rwhoisd/net-fd00:1234::-32/attribute_defs/referral.tmpl -etc/rwhoisd/net-fd00:1234::-32/attribute_defs/contact.tmpl -etc/rwhoisd/net-fd00:1234::-32/attribute_defs/guardian.tmpl -etc/rwhoisd/net-fd00:1234::-32/attribute_defs/network.tmpl -etc/rwhoisd/net-fd00:1234::-32/data/referral/referral.txt -etc/rwhoisd/net-fd00:1234::-32/data/network/network.txt -etc/rwhoisd/net-fd00:1234::-32/soa -etc/rwhoisd/net-fd00:1234::-32/schema -etc/rwhoisd/rwhoisd.allow -etc/rwhoisd/rwhoisd.auth_area -etc/rwhoisd/rwhoisd.conf -etc/rwhoisd/rwhoisd.deny -etc/rwhoisd/rwhoisd.dir -etc/rwhoisd/rwhoisd.root -etc/rwhoisd/rwhoisd.x.dir -@dirrm etc/rwhoisd/net-10.0.0.0-8/data/referral -@dirrm etc/rwhoisd/net-10.0.0.0-8/data/network -@dirrm etc/rwhoisd/net-10.0.0.0-8/data -@dirrm etc/rwhoisd/net-10.0.0.0-8/attribute_defs -@dirrm etc/rwhoisd/net-10.0.0.0-8 -@dirrm etc/rwhoisd/net-fd00:1234::-32/attribute_defs -@dirrm etc/rwhoisd/net-fd00:1234::-32/data/referral -@dirrm etc/rwhoisd/net-fd00:1234::-32/data/network -@dirrm etc/rwhoisd/net-fd00:1234::-32/data -@dirrm etc/rwhoisd/net-fd00:1234::-32 -@dirrm etc/rwhoisd/a.com/data/referral -@dirrm etc/rwhoisd/a.com/data/org -@dirrm etc/rwhoisd/a.com/data/host -@dirrm etc/rwhoisd/a.com/data/guardian -@dirrm etc/rwhoisd/a.com/data/domain -@dirrm etc/rwhoisd/a.com/data/contact -@dirrm etc/rwhoisd/a.com/data/asn -@dirrm etc/rwhoisd/a.com/data -@dirrm etc/rwhoisd/a.com/attribute_defs -@dirrm etc/rwhoisd/a.com +etc/rwhoisd/samples/a.com/attribute_defs/asn.tmpl +etc/rwhoisd/samples/a.com/attribute_defs/contact.tmpl +etc/rwhoisd/samples/a.com/attribute_defs/domain.tmpl +etc/rwhoisd/samples/a.com/attribute_defs/guardian.tmpl +etc/rwhoisd/samples/a.com/attribute_defs/host.tmpl +etc/rwhoisd/samples/a.com/attribute_defs/org.tmpl +etc/rwhoisd/samples/a.com/attribute_defs/referral.tmpl +etc/rwhoisd/samples/a.com/data/asn/asn.txt +etc/rwhoisd/samples/a.com/data/contact/contact.txt +etc/rwhoisd/samples/a.com/data/domain/domain.txt +etc/rwhoisd/samples/a.com/data/guardian/guardian.txt +etc/rwhoisd/samples/a.com/data/host/host.txt +etc/rwhoisd/samples/a.com/data/org/org.txt +etc/rwhoisd/samples/a.com/data/referral/referral.txt +etc/rwhoisd/samples/a.com/schema +etc/rwhoisd/samples/a.com/soa +etc/rwhoisd/samples/net-10.0.0.0-8/attribute_defs/contact.tmpl +etc/rwhoisd/samples/net-10.0.0.0-8/attribute_defs/guardian.tmpl +etc/rwhoisd/samples/net-10.0.0.0-8/attribute_defs/host.tmpl +etc/rwhoisd/samples/net-10.0.0.0-8/attribute_defs/network.tmpl +etc/rwhoisd/samples/net-10.0.0.0-8/attribute_defs/referral.tmpl +etc/rwhoisd/samples/net-10.0.0.0-8/data/network/network.txt +etc/rwhoisd/samples/net-10.0.0.0-8/data/referral/referral.txt +etc/rwhoisd/samples/net-10.0.0.0-8/schema +etc/rwhoisd/samples/net-10.0.0.0-8/soa +etc/rwhoisd/samples/net-fd00:1234::-32/attribute_defs/host.tmpl +etc/rwhoisd/samples/net-fd00:1234::-32/attribute_defs/referral.tmpl +etc/rwhoisd/samples/net-fd00:1234::-32/attribute_defs/contact.tmpl +etc/rwhoisd/samples/net-fd00:1234::-32/attribute_defs/guardian.tmpl +etc/rwhoisd/samples/net-fd00:1234::-32/attribute_defs/network.tmpl +etc/rwhoisd/samples/net-fd00:1234::-32/data/referral/referral.txt +etc/rwhoisd/samples/net-fd00:1234::-32/data/network/network.txt +etc/rwhoisd/samples/net-fd00:1234::-32/soa +etc/rwhoisd/samples/net-fd00:1234::-32/schema +etc/rwhoisd/samples/rwhoisd.allow +etc/rwhoisd/samples/rwhoisd.auth_area +etc/rwhoisd/samples/rwhoisd.conf +etc/rwhoisd/samples/rwhoisd.deny +etc/rwhoisd/samples/rwhoisd.dir +etc/rwhoisd/samples/rwhoisd.root +etc/rwhoisd/samples/rwhoisd.x.dir +@dirrm etc/rwhoisd/samples/net-10.0.0.0-8/data/referral +@dirrm etc/rwhoisd/samples/net-10.0.0.0-8/data/network +@dirrm etc/rwhoisd/samples/net-10.0.0.0-8/data +@dirrm etc/rwhoisd/samples/net-10.0.0.0-8/attribute_defs +@dirrm etc/rwhoisd/samples/net-10.0.0.0-8 +@dirrm etc/rwhoisd/samples/net-fd00:1234::-32/attribute_defs +@dirrm etc/rwhoisd/samples/net-fd00:1234::-32/data/referral +@dirrm etc/rwhoisd/samples/net-fd00:1234::-32/data/network +@dirrm etc/rwhoisd/samples/net-fd00:1234::-32/data +@dirrm etc/rwhoisd/samples/net-fd00:1234::-32 +@dirrm etc/rwhoisd/samples/a.com/data/referral +@dirrm etc/rwhoisd/samples/a.com/data/org +@dirrm etc/rwhoisd/samples/a.com/data/host +@dirrm etc/rwhoisd/samples/a.com/data/guardian +@dirrm etc/rwhoisd/samples/a.com/data/domain +@dirrm etc/rwhoisd/samples/a.com/data/contact +@dirrm etc/rwhoisd/samples/a.com/data/asn +@dirrm etc/rwhoisd/samples/a.com/data +@dirrm etc/rwhoisd/samples/a.com/attribute_defs +@dirrm etc/rwhoisd/samples/a.com +@dirrm etc/rwhoisd/samples @dirrmtry etc/rwhoisd -@exec mkdir -p /var/log/rwhoisd /var/run/rwhoisd; chown -R nobody /var/log/rwhoisd /var/run/rwhoisd +@exec install -d -o nobody /var/log/rwhoisd /var/run/rwhoisd +@exec for f in %%ETCFILES%%; do [ -f %D/%%ETCDIR%%/$f ] || cp -p %D/%%ETCDIR%%/samples/$f %D/%%ETCDIR%%/$f; done +@exec echo "If built with IPv6 enabled you will want to set ipv6_ipv4mapping="YES" in rc.conf or sysctl net.inet6.ip6.v6only=0 so the daemon isn't IPv6 only." +@unexec for f in %%ETCFILES%%; do cmp -s %D/%%ETCDIR%%/$f %D/%%ETCDIR%%/samples/$f && rm -f %D/%%ETCDIR%%/$f; done >Release-Note: >Audit-Trail: >Unformatted: