From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Veillard Subject: Re: xendomains init script Date: Thu, 30 Mar 2006 16:21:28 -0500 Message-ID: <20060330212128.GQ14102@redhat.com> References: <20051019094439.GQ8705@tpkurt.tagung.uni-hamburg.de> <20060330060933.C26981@web.ray.net> Reply-To: veillard@redhat.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20060330060933.C26981@web.ray.net> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Florian Kirstein Cc: Xen development list List-Id: xen-devel@lists.xenproject.org On Thu, Mar 30, 2006 at 06:09:33AM +0200, Florian Kirstein wrote: > Hi, > > first: thanks for the nice script :) (second: resent, hope my first mail > using a wrong From: is ignored by the list daemon) > > I had a (more cosmetic) problem with it: > > The init script is somewhat SUSE-ish, but it should work on LSB > > compliant and on RH based distros as well. > Almost for the LSB-Part: LSB defines that the ini script functions > like "log_success_msg" can be defined as shell aliases: > http://www.linuxbase.org/spec/refspecs/LSB_3.0.0/LSB-Core-generic/LSB-Core-generic/iniscrptfunc.html > > The problem with that: shell aliases are usually not enabled in scripts > (so I'll have to blame LSB for allowing this in init script functions) > and the real problem, they are never used (at least for bash) in > if/then/else blocks or functions, which is exactly what your script > does. > > So, IF a distribution decides to implement log_success_msg LSB conforming > as alias, as current RedHat distributions (like RHEL4 and including > FC5) do, this will fail and give "log_success_msg: command not found". > I think this is a bad idea (see above), but can't blame RedHat for > following LSB by the word. And as you check for LSB first and then > for redhat, newer redhat distributions will take the LSB case. > > I don't think there's a nice way to make this fully LSB compatible > as these funtions are usually called within functions, but I'd > highly suggest to use a "specific before generic" approach for the > "distribution specific emulations". Means: test for the redhat > specific part first and then use LSB. For the LSB part I'd add > an if-test to check if log_success_msg is an alias and use the > generic emulation in case it is (assuming log_error_msg would be an > alias too when log_success_msg is). > > I attached a patch doing exactly this, resulting in a clean run on the > redhat based distributions and fixing it for possible others using an > alias in their LSB conformity scripts, leaving it unchanged for the > rest. Hopefully :) > > @Kurt: as this is your init-script, would you like to review the patch > and in case you think it's OK submit it to the official source tree? > Or whoever is responsible for this :) > > (:ul8er, r@y +1 Associated bug at Red Hat is https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=171056 yes this is a problem, but I didn't tried the patch yet, I assume you tested it on FC5, Daniel -- Daniel Veillard | Red Hat http://redhat.com/ veillard@redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/