From: Ned Ludd <solar@gentoo.org>
To: Roy Marples <uberlord@gentoo.org>
Cc: gentoo-embedded@lists.gentoo.org
Subject: Re: [gentoo-embedded] init.d scripts and bash
Date: Fri, 09 Mar 2007 01:08:25 -0800 [thread overview]
Message-ID: <1173431305.6147.12.camel@here.linbsd.net> (raw)
In-Reply-To: <20070309073937.154cff79@uberpc.marples.name>
On Fri, 2007-03-09 at 07:39 +0000, Roy Marples wrote:
> On Thu, 08 Mar 2007 16:00:50 -0800
> Ned Ludd <solar@gentoo.org> wrote:
>
> > On Thu, 2007-03-08 at 17:00 +0100, Natanael Copa wrote:
> > > Hi,
> > >
> > > Are there anybody more than me that use the gentoo init.d scripts
> > > without using bash?
> > >
> > > Most init.d scripts runs just fine with a small runscript wrapper.
> > > A few needs patching to work, typically replacing:
> > >
> > > [[ expr || expr ]]
> > >
> > > with:
> > >
> > > [[ expr ]] || [[ expr ]]
>
> Well, not many shells support that either.
> [ expr -o expr ]
> or
> [ expr ] || [ expr]
> should work across the board.
>
> > > But sometimes arrays and such are used (very often its easy to work
> > > around)
>
> Yes it's easy to work around.
> Infact we had a discussion about this on -dev and posted the below
> function
>
> _get_array() {
> if [ -n "${BASH}" ] ; then
> case "$(declare -p "$1" 2>/dev/null)" in
> "declare -a "*)
> echo "set -- \"\${$1[@]}\""
> return
> ;;
> esac
> fi
>
> echo "eval set -- \"\$$1\""
> }
>
> eval "$(_get_array "config_${IFVAR}")"
> for cmd in "$@" ; do
> ...
> done
>
> Which means we can support bash arrays AND a non bash array
> config_eth0=( "one" "t w o" "three" )
> and
> config_eth0="'one' 't w o' 'three'"
>
> > >
> > > Are there any hope for setting a gentoo policy that says bash
> > > specific things should be avoided if possible in init.d scripts?
>
> There's no such policy. Our policy has always been init scripts should
> be parseable by a shell. The shell in question has always been bash
> because
> 1) baselayout-1 requires it
> 2) bash forces itself to be /bin/sh anyway
>
> The lastest bash in the tree no longer enforces it's /bin/sh - instead
> it only creates the link if it does not exist, allowing any shell to be
> used. Yay!
Sweet ass sweet...
I'm sure it will take time to get 99% of the misc remaining bash init
scripts converted over as we find them. If we mostly target server stuff
for now we will be fine..
> > That is a goal with baselayout-2. I'd be interested if we started a
> > tracker bug for such things. I think policy might be a bit far
> > reaching at this point. But it's for sure a worthwhile goal.
>
> baselayout-2 is pure C (except for the init scripts themselves) and is
> nearing the final stage of development before it enters the tree. It
> currently works with any shell in portage except for zsh and ksh. It
> can work with bb provided that some things are disabled.
Gimme bugs.. I need #'s if I'm going to work toward solving them.
I'd rather not disable vs update bb to conform with what you need.
Removing our s-s-d for us is very undesirable as long as we have an
alternative to the current bloated s-s-d. So please give us bugs
to work towards solving etc..
I think Natanael might also become one of your best testers and bug
reporters. He has been very helpful in the past and I'm sure he will
continue to be in the future.
>
> I'm making it a policy that all init scripts on my local machines have
> already been changed. Naughty me. I've filed bugs for a few other
> scripts too.
Natanael please search bugzilla for scripts you have noticed in which
Roy has not already filed bugs. If no bug exists please file one
(patches attached if you can)
> So for a desktop it should work off the bat. Not sure if
> I'll put baselayout-2 on my server right now as it's headless and it's a
> PITA to get a head to it.
>
> Once baselayout-2 hits portage then we can have a tracker bug.
>
> Thanks
>
> Roy
>
--
Ned Ludd <solar@gentoo.org>
Gentoo Linux
--
gentoo-embedded@gentoo.org mailing list
next prev parent reply other threads:[~2007-03-09 9:09 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-08 16:00 [gentoo-embedded] init.d scripts and bash Natanael Copa
2007-03-09 0:00 ` Ned Ludd
[not found] ` <20070309073937.154cff79@uberpc.marples.name>
2007-03-09 9:08 ` Ned Ludd [this message]
2007-03-09 10:06 ` Natanael Copa
2007-03-09 11:51 ` Natanael Copa
[not found] ` <20070309115825.52cd9d73@uberlaptop>
2007-03-09 12:58 ` Natanael Copa
[not found] ` <20070309142717.6373940c@uberlaptop.development.ltl>
2007-03-09 15:12 ` Natanael Copa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1173431305.6147.12.camel@here.linbsd.net \
--to=solar@gentoo.org \
--cc=gentoo-embedded@lists.gentoo.org \
--cc=uberlord@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox