Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Gentoo Portage Developer (http://www.linux-archive.org/gentoo-portage-developer/)
-   -   Implement host dependencies (HDEPEND) and dependencies only in affect when ROOT != / (targetroot flag). (http://www.linux-archive.org/gentoo-portage-developer/706830-implement-host-dependencies-hdepend-dependencies-only-affect-when-root-targetroot-flag.html)

Mike Frysinger 09-24-2012 04:39 AM

Implement host dependencies (HDEPEND) and dependencies only in affect when ROOT != / (targetroot flag).
 
On Sunday 23 September 2012 23:53:10 Zac Medico wrote:
> On 09/23/2012 08:44 PM, Mike Frysinger wrote:
> > On Sunday 23 September 2012 22:06:43 Ambroz Bizjak wrote:
> >> + case "$EAPI" in
> >
> > case ${EAPI} in
>
> If somebody manages to corrupt the EAPI with an invalid value containing
> space, then you can get a bash syntax error there if ${EAPI} is
> unquoted. Yeah, it's a user error, but it could confuse them even more
> than they are already if they see the syntax error and think that
> portage is at fault. Also, we might consider that a corrupt EAPI can
> come from a binary package (or /var/db/pkg) enviroment.bz2, and so it
> may not even be the current user who is at fault.

i don't think that's true. case is sane unlike `test` and `[`.
$ f='a b c'; case ${f} in *) echo yeah;; esac
yeah
-mike

Zac Medico 09-24-2012 04:49 AM

Implement host dependencies (HDEPEND) and dependencies only in affect when ROOT != / (targetroot flag).
 
On 09/23/2012 09:39 PM, Mike Frysinger wrote:
> On Sunday 23 September 2012 23:53:10 Zac Medico wrote:
>> On 09/23/2012 08:44 PM, Mike Frysinger wrote:
>>> On Sunday 23 September 2012 22:06:43 Ambroz Bizjak wrote:
>>>> + case "$EAPI" in
>>>
>>> case ${EAPI} in
>>
>> If somebody manages to corrupt the EAPI with an invalid value containing
>> space, then you can get a bash syntax error there if ${EAPI} is
>> unquoted. Yeah, it's a user error, but it could confuse them even more
>> than they are already if they see the syntax error and think that
>> portage is at fault. Also, we might consider that a corrupt EAPI can
>> come from a binary package (or /var/db/pkg) enviroment.bz2, and so it
>> may not even be the current user who is at fault.
>
> i don't think that's true. case is sane unlike `test` and `[`.
> $ f='a b c'; case ${f} in *) echo yeah;; esac
> yeah
> -mike

Sorry, my mistake. I could have sworn that I was able to trigger a
syntax error with this in the past.
--
Thanks,
Zac


All times are GMT. The time now is 09:10 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.