Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Dec 2016 09:30:15 -0800
From:      Ravi Pokala <rpokala@mac.com>
To:        Eric van Gyzen <vangyzen@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r309625 - head/sbin/rcorder
Message-ID:  <D3F01801-07D7-4218-8ED7-E2D3ED9EE8D7@panasas.com>
In-Reply-To: <201612061549.uB6Fndxo044249@repo.freebsd.org>
References:  <201612061549.uB6Fndxo044249@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
For grins, I ran this on my build server. The resulting graph is... complex=
. But one thing was immediately clear: neither /etc/rc.d/dhclient and /etc/r=
c.d/natd depend on anything. That seems wrong: I would expect them to have s=
ome sort of dependency on NETWORKING, either BEFORE (since dhclient may be i=
nvolved in bringing up the network) or REQUIRE (since it doesn=E2=80=99t make sens=
e to run a networking daemon like natd before networking is up).

Or am I missing something?

Thanks,

Ravi (rpokala@)

-----Original Message-----
From: <owner-src-committers@freebsd.org> on behalf of Eric van Gyzen <vangy=
zen@FreeBSD.org>
Date: 2016-12-06, Tuesday at 07:49
To: <src-committers@freebsd.org>, <svn-src-all@freebsd.org>, <svn-src-head@=
freebsd.org>
Subject: svn commit: r309625 - head/sbin/rcorder

Author: vangyzen
Date: Tue Dec  6 15:49:39 2016
New Revision: 309625
URL: https://svnweb.freebsd.org/changeset/base/309625

Log:
  Add rcorder-visualize.sh, which generates graphviz from rc.d scripts
 =20
  This is imported from NetBSD.  The author--Joerg Sonnenberger--agreed
  to apply a two-clause BSD license, just so the license was clear.
 =20
  This source tree location matches NetBSD, and is the first place someone
  might look for such a tool.
 =20
  Obtained from:	Joerg Sonnenberger via NetBSD
  MFC after:	3 days
  Sponsored by:	Dell EMC

Added:
  head/sbin/rcorder/rcorder-visualize.sh   (contents, props changed)

Added: head/sbin/rcorder/rcorder-visualize.sh
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sbin/rcorder/rcorder-visualize.sh	Tue Dec  6 15:49:39 2016	(r30962=
5)
@@ -0,0 +1,52 @@
+#!/bin/sh
+# $NetBSD: rcorder-visualize.sh,v 1.5 2009/08/09 17:08:53 apb Exp $
+#
+# Copyright (c) 2009 by Joerg Sonnenberger
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIE=
S
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE=
,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# $FreeBSD$
+#
+# Simple script to show the dependency graph for rc scripts.
+# Output is in the dot(1) language and can be rendered using
+#	sh rcorder-visualize | dot -T svg -o rcorder.svg
+# dot(1) can be found in graphics/graphviz in pkgsrc.
+
+rc_files=3D${*:-/etc/rc.d/*}
+
+{
+echo ' digraph {'
+for f in $rc_files; do
+< $f awk '
+/# PROVIDE: /	{ provide =3D $3 }
+/# REQUIRE: /	{ for (i =3D 3; i <=3D NF; i++) requires[$i] =3D $i }
+/# BEFORE: /	{ for (i =3D 3; i <=3D NF; i++) befores[$i] =3D $i }
+
+END {
+	print "    \"" provide "\";"
+	for (x in requires) print "    \"" provide "\"->\"" x "\";"
+	for (x in befores) print "    \"" x "\"->\"" provide "\";"
+}
+'
+done
+echo '}'
+}







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D3F01801-07D7-4218-8ED7-E2D3ED9EE8D7>