From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by nuthatch.gentoo.org with esmtp (Exim 4.62) (envelope-from ) id 1HPc0u-0000V5-Ab for garchives@archives.gentoo.org; Fri, 09 Mar 2007 10:07:52 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.14.0/8.14.0) with SMTP id l29A6u7J019111; Fri, 9 Mar 2007 10:06:56 GMT Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.175]) by robin.gentoo.org (8.14.0/8.14.0) with ESMTP id l29A6tC7019106 for ; Fri, 9 Mar 2007 10:06:55 GMT Received: by ug-out-1314.google.com with SMTP id z38so1351529ugc for ; Fri, 09 Mar 2007 02:06:54 -0800 (PST) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:subject:from:to:cc:in-reply-to:references:content-type:date:message-id:mime-version:x-mailer:content-transfer-encoding; b=Wr4FTcPmSNjV2I21uFhNAwx0b6mo79aH68A+1unfxLyWSeuMUEwJxoFvChGaW5LRDxGJ6PhvNwWDfbPh/Psl01VvT6nppLcmKi0HvO1i/nfiENCW2xukppbV0UI79quQZIVpeUN5s5OhOp3J5+X/doJPSS/x7sSlx8ERcruabyQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:subject:from:to:cc:in-reply-to:references:content-type:date:message-id:mime-version:x-mailer:content-transfer-encoding; b=mK80w9kOpcCfEotblO1lnWgr/OTZm8Zt6NUJGIdY7whnCRSzNrmvpiDT+kwNzVAd/q8ybgtH7KtZJdtnx39Ibt8n99fYr0Uni9J2nSWe3DYJX0XtD2QLYgvvqPeiUGQkJ9KlhOyhYFxq9ir5QEBTA/A5aySlQAEX8FofAe56UMA= Received: by 10.67.117.18 with SMTP id u18mr9189080ugm.1173434814294; Fri, 09 Mar 2007 02:06:54 -0800 (PST) Received: from ?192.168.65.211? ( [213.234.126.134]) by mx.google.com with ESMTP id z40sm6423007ikz.2007.03.09.02.06.52; Fri, 09 Mar 2007 02:06:53 -0800 (PST) Subject: Re: [gentoo-embedded] init.d scripts and bash From: Natanael Copa To: gentoo-embedded@lists.gentoo.org Cc: Roy Marples In-Reply-To: <1173431305.6147.12.camel@here.linbsd.net> References: <1173369604.5480.20.camel@localhost> <1173398450.31695.26.camel@onyx.private.gni.com> <20070309073937.154cff79@uberpc.marples.name> <1173431305.6147.12.camel@here.linbsd.net> Content-Type: text/plain Date: Fri, 09 Mar 2007 11:06:51 +0100 Message-Id: <1173434811.5390.13.camel@localhost> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-embedded@gentoo.org Reply-to: gentoo-embedded@lists.gentoo.org Mime-Version: 1.0 X-Mailer: Evolution 2.8.3 Content-Transfer-Encoding: 7bit X-Archives-Salt: 7ef8b36f-4c6b-4877-96c3-42b7baa7ec4e X-Archives-Hash: 4f14af9a7db920dba0cde32b29b30a87 On Fri, 2007-03-09 at 01:08 -0800, Ned Ludd wrote: > On Fri, 2007-03-09 at 07:39 +0000, Roy Marples wrote: > > On Thu, 08 Mar 2007 16:00:50 -0800 > > Ned Ludd 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. Sweeeet!!!! How can I getting envolved in the baselayout-2 development? > Gimme bugs.. I need #'s if I'm going to work toward solving them. I have a bunch of of them and patches too. I will start reporting 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'm not sure I understood. Bugs where use of s-s-d dont work with busybox s-s-d? They are few. I patched busybox s-s-d to support --chuid user:group and the problems I had went away. I think there is still need to fix the verbosity of busybox s-s-d. I will look at it some day. > 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. Looks like I will :-) My alpinelinux project (distro based on gentoo) is going pretty well. > > 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) I have a bunch of patches. Will do! > > 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 > Gentoo Linux > -- gentoo-embedded@gentoo.org mailing list