From owner-freebsd-rc@FreeBSD.ORG Mon Oct 9 12:09:40 2006 Return-Path: X-Original-To: freebsd-rc@freebsd.org Delivered-To: freebsd-rc@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DDF9416A40F; Mon, 9 Oct 2006 12:09:40 +0000 (UTC) (envelope-from yar@comp.chem.msu.su) Received: from comp.chem.msu.su (comp.chem.msu.su [158.250.32.97]) by mx1.FreeBSD.org (Postfix) with ESMTP id A031B43D8B; Mon, 9 Oct 2006 12:09:32 +0000 (GMT) (envelope-from yar@comp.chem.msu.su) Received: from comp.chem.msu.su (localhost [127.0.0.1]) by comp.chem.msu.su (8.13.4/8.13.3) with ESMTP id k99C7w9x003507; Mon, 9 Oct 2006 16:07:58 +0400 (MSD) (envelope-from yar@comp.chem.msu.su) Received: (from yar@localhost) by comp.chem.msu.su (8.13.4/8.13.3/Submit) id k99C7viE003506; Mon, 9 Oct 2006 16:07:57 +0400 (MSD) (envelope-from yar) Date: Mon, 9 Oct 2006 16:07:56 +0400 From: Yar Tikhiy To: Florent Thoumie Message-ID: <20061009120756.GA2805@comp.chem.msu.su> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1160391150.76522.33.camel@mayday.esat.net> User-Agent: Mutt/1.5.9i Cc: Andrey Simonenko , freebsd-rc@freebsd.org, bug-followup@freebsd.org Subject: Re: bin/104044: [patch] rc.d/cleartmp works incorrectly X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussion related to /etc/rc.d design and implementation." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Oct 2006 12:09:41 -0000 On Mon, Oct 09, 2006 at 11:52:30AM +0100, Florent Thoumie wrote: > On Mon, 2006-10-09 at 09:10 +0000, Andrey Simonenko wrote: > > The following reply was made to PR bin/104044; it has been noted by GNATS. > > > > From: Andrey Simonenko > > To: bug-followup@FreeBSD.org > > Cc: > > Subject: Re: bin/104044: [patch] rc.d/cleartmp works incorrectly > > Date: Mon, 9 Oct 2006 12:07:16 +0300 > > > > Updated version of cleartmp: > > > > 1. Change "rm -rf ..." to "rm -rf -- ..." > > > > 2. Remove cleartmp_X() and createtmp_X() functions. > > Haven't tested it yet but the patch looks good to me. Anybody else to > have a look? The patch looks _almost_ good to me. For the sake of style, I'd rather move the clear_tmp_X block to inside the start method. That would require renaming rcvar to, say, rcvar1 and checking it from the script. E.g.: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ... rcvar1=`set_rcvar clear_tmp` ... cleartmp_start() { if checkyesno ${rcvar1}; then echo "Clearing /tmp." ... elif checkyesno clear_tmp_X; then echo "Clearing /tmp (X related)." rm -rf /tmp/.X[0-9]-lock ${x11_socket_dirs} fi if checkyesno clear_tmp_X; then # Recreate X related directories. mkdir -m 1777 ${x11_socket_dirs} fi } run_rc_command "$1" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% My point is that well-behaved rc.d scripts don't do their job outside of their methods. -- Yar