public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* Re: [gentoo-dev]  Re: what happened to /etc/init.d/hal{d,daemon,whatever} script ?
@ 2008-12-24  5:58 Andrey Grozin
  2008-12-24  6:19 ` Jeremy Olexa
  2008-12-24 14:57 ` [gentoo-dev] List of ebuild functions that die/do not die Thomas Sachau
  0 siblings, 2 replies; 10+ messages in thread
From: Andrey Grozin @ 2008-12-24  5:58 UTC (permalink / raw
  To: gentoo-dev

On Wed, 24 Dec 2008, Petteri R?ty wrote:
> Who has been removing die statements? Is this a suggested way of action
> somewhere by someone?
As recently discussed on the list, econf dies by itself, and || die should 
better be removed after econf. The same is true for, e.g., eqmake4. It was 
discussed (don't have a reference to the thread at hand) that it would be 
useful to have a table which shows which functions die by themselves, and 
which not.

Andrey



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev]  Re: what happened to /etc/init.d/hal{d,daemon,whatever} script ?
  2008-12-24  5:58 [gentoo-dev] Re: what happened to /etc/init.d/hal{d,daemon,whatever} script ? Andrey Grozin
@ 2008-12-24  6:19 ` Jeremy Olexa
  2008-12-24 14:40   ` Ciaran McCreesh
  2008-12-29 12:56   ` Ben de Groot
  2008-12-24 14:57 ` [gentoo-dev] List of ebuild functions that die/do not die Thomas Sachau
  1 sibling, 2 replies; 10+ messages in thread
From: Jeremy Olexa @ 2008-12-24  6:19 UTC (permalink / raw
  To: gentoo-dev

Andrey Grozin wrote:
> On Wed, 24 Dec 2008, Petteri R?ty wrote:
>> Who has been removing die statements? Is this a suggested way of action
>> somewhere by someone?
> As recently discussed on the list, econf dies by itself, and || die 
> should better be removed after econf. The same is true for, e.g., 
> eqmake4. It was discussed (don't have a reference to the thread at hand) 
> that it would be useful to have a table which shows which functions die 
> by themselves, and which not.
> 
> Andrey
> 

I see this asked every X months and never quite figured out why, (this 
isn't personal against you, Andrey)

%% pwd
/usr/lib/portage/bin
%% grep -l die *
ebuild.sh
etc-update
isolated-functions.sh
misc-functions.sh
repoman

So, that means that none of these die:
%% ls do*
dobin*    dodoc*   dohard*  doinitd*  dolib.a*   domo*      dosed*
doconfd*  doenvd*  dohtml*  doins*    dolib.so*  donewins@  dosym*
dodir*    doexe*   doinfo*  dolib*    doman*     dosbin*

or

%% ls new*
newbin*    newdoc*   newexe*    newins*    newlib.so*  newsbin*
newconfd*  newenvd*  newinitd*  newlib.a*  newman*

etc.

Take a look for yourself and you will see why there has never been a 
"table" or anything created. (it is trivial - and you have the source on 
your computer already)

Maybe this should be a question asked on the new dev quizies.."How do I 
tell if something dies on its own or not?"

HTH,
Jeremy



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev]  Re: what happened to /etc/init.d/hal{d,daemon,whatever} script ?
  2008-12-24  6:19 ` Jeremy Olexa
@ 2008-12-24 14:40   ` Ciaran McCreesh
  2008-12-29 12:56   ` Ben de Groot
  1 sibling, 0 replies; 10+ messages in thread
From: Ciaran McCreesh @ 2008-12-24 14:40 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 362 bytes --]

On Wed, 24 Dec 2008 00:19:06 -0600
Jeremy Olexa <darkside@gentoo.org> wrote:
> Take a look for yourself and you will see why there has never been a 
> "table" or anything created. (it is trivial - and you have the source
> on your computer already)

It's even trivialler than you think. If it's an external program, it
can't die.

-- 
Ciaran McCreesh

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-dev] List of ebuild functions that die/do not die
  2008-12-24  5:58 [gentoo-dev] Re: what happened to /etc/init.d/hal{d,daemon,whatever} script ? Andrey Grozin
  2008-12-24  6:19 ` Jeremy Olexa
@ 2008-12-24 14:57 ` Thomas Sachau
  2008-12-24 16:13   ` Nirbheek Chauhan
  1 sibling, 1 reply; 10+ messages in thread
From: Thomas Sachau @ 2008-12-24 14:57 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 311 bytes --]

As it seems like noone else is doing something about it, i have started a list with some entries[1].
Please send me more functions and their place and error reports directly to me (via mail or irc).

[1]: http://dev.gentoo.org/~tommy/ebuild-functions.txt


-- 
Thomas Sachau

Gentoo Linux Developer


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 315 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] List of ebuild functions that die/do not die
  2008-12-24 14:57 ` [gentoo-dev] List of ebuild functions that die/do not die Thomas Sachau
@ 2008-12-24 16:13   ` Nirbheek Chauhan
  2008-12-24 16:20     ` Doug Goldstein
  0 siblings, 1 reply; 10+ messages in thread
From: Nirbheek Chauhan @ 2008-12-24 16:13 UTC (permalink / raw
  To: gentoo-dev

On Wed, Dec 24, 2008 at 8:27 PM, Thomas Sachau <tommy@gentoo.org> wrote:
> As it seems like noone else is doing something about it, i have started a list with some entries[1].
> Please send me more functions and their place and error reports directly to me (via mail or irc).

I thought that the rules for determination were pretty straightforward:

commands that die:
everything that is implemented as a function (ebuild.sh, eclasses, etc)

commands that don't die:
every external application (do*, cp, etc)


-- 
~Nirbheek Chauhan



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] List of ebuild functions that die/do not die
  2008-12-24 16:13   ` Nirbheek Chauhan
@ 2008-12-24 16:20     ` Doug Goldstein
  2008-12-24 16:43       ` Nirbheek Chauhan
  0 siblings, 1 reply; 10+ messages in thread
From: Doug Goldstein @ 2008-12-24 16:20 UTC (permalink / raw
  To: gentoo-dev

Nirbheek Chauhan wrote:
> On Wed, Dec 24, 2008 at 8:27 PM, Thomas Sachau <tommy@gentoo.org> wrote:
>   
>> As it seems like noone else is doing something about it, i have started a list with some entries[1].
>> Please send me more functions and their place and error reports directly to me (via mail or irc).
>>     
>
> I thought that the rules for determination were pretty straightforward:
>
> commands that die:
> everything that is implemented as a function (ebuild.sh, eclasses, etc)
>
> commands that don't die:
> every external application (do*, cp, etc)
>
>
>   
Technically the rule is that eclasses shouldn't die. At least that's the 
latest version of the rules that I remember.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev] List of ebuild functions that die/do not die
  2008-12-24 16:20     ` Doug Goldstein
@ 2008-12-24 16:43       ` Nirbheek Chauhan
  2008-12-24 17:18         ` [gentoo-dev] " Steve Long
  0 siblings, 1 reply; 10+ messages in thread
From: Nirbheek Chauhan @ 2008-12-24 16:43 UTC (permalink / raw
  To: gentoo-dev

On Wed, Dec 24, 2008 at 9:50 PM, Doug Goldstein <cardoe@gentoo.org> wrote:
> Nirbheek Chauhan wrote:
[snip]
>> commands that die:
>> everything that is implemented as a function (ebuild.sh, eclasses, etc)
[snip]
>
> Technically the rule is that eclasses shouldn't die. At least that's the
> latest version of the rules that I remember.
>

eclasses shouldn't die or functions inside eclasses shouldn't die? I
meant the latter:

s/(ebuild.sh/(inside ebuild.sh/

-- 
~Nirbheek Chauhan



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-dev]  Re: List of ebuild functions that die/do not die
  2008-12-24 16:43       ` Nirbheek Chauhan
@ 2008-12-24 17:18         ` Steve Long
  0 siblings, 0 replies; 10+ messages in thread
From: Steve Long @ 2008-12-24 17:18 UTC (permalink / raw
  To: gentoo-dev

Nirbheek Chauhan wrote:

> On Wed, Dec 24, 2008 at 9:50 PM, Doug Goldstein <cardoe@gentoo.org> wrote:
>> Nirbheek Chauhan wrote:
> [snip]
>>> commands that die:
>>> everything that is implemented as a function (ebuild.sh, eclasses, etc)
> [snip]
>>
>> Technically the rule is that eclasses shouldn't die. At least that's the
>> latest version of the rules that I remember.
>>
> 
> eclasses shouldn't die or functions inside eclasses shouldn't die? I
> meant the latter:
> 
> s/(ebuild.sh/(inside ebuild.sh/
> 
The only technical reason not to allow an --or-die (or the equivalent)
switch for everything is the issues with subshell die, for which I sent
some script to test but didn't hear back about, but more cogently that old
GNU heads think xargs is necessary as GNU find didn't implement -exec
correctly (according to POSIX) until a couple of years ago.

In BASH, one would use the equivalent loop (which will cope with any
filename):
while read -rd '' f; do foo --or-die "$f"; done < <(find .. -print0)

I usually show newbs this:
while read -rd ''; do arr+=("$REPLY"); done < <(find .. -print0)
..since it shows a bit more about read and gives the other usual
requirement.

This is compatible with the old broken GNU find as well as BSD, but -print0
is not required by POSIX.

I'm sure I've used that in a function somewhere amongst one of the patches I
filed with someone or the other. TBH a professional BASH scripter would
sneer (I can think of several) at needing to wrap it in a function: it's
like not knowing how to read a file line-by-line in POSIX sh.

Put it this way: if you actually need the filenames, or some other
information elsewhere in the script[1], chances are that the loop has more
meat to it.

I suppose you could pass directories and params for a find command/API
function, eg:
findE --or-die foo dirA/b dirC/d ! \( -type -l -o -name '*~' \)
..or the like, showing --or-die first for consistency but it could of course
come anywhere.

[1] /msg greybot faq disappear





^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [gentoo-dev]  Re: what happened to /etc/init.d/hal{d,daemon,whatever} script ?
  2008-12-24  6:19 ` Jeremy Olexa
  2008-12-24 14:40   ` Ciaran McCreesh
@ 2008-12-29 12:56   ` Ben de Groot
  2009-01-09 14:00     ` [gentoo-dev] " Steve Long
  1 sibling, 1 reply; 10+ messages in thread
From: Ben de Groot @ 2008-12-29 12:56 UTC (permalink / raw
  To: gentoo-dev

Jeremy Olexa wrote:
> Andrey Grozin wrote:
>> It was discussed (don't have a reference to the thread at
>> hand) that it would be useful to have a table which shows which
>> functions die by themselves, and which not.
>>
>> Andrey
>>
> 
> I see this asked every X months and never quite figured out why, (this
> isn't personal against you, Andrey)
[...]
> Take a look for yourself and you will see why there has never been a
> "table" or anything created. (it is trivial - and you have the source on
> your computer already)

It shouldn't be necessary to grep the source, if these things would
follow a simple logical rule, in accordance with the principle of least
surprise. It would be handy to be able to say: all e* functions die, but
do* and new* do not. But tommy's list shows that emake is an exception
to the rule. I'm not aware of any other exceptions, but I can't be sure
unless I go digging through the source. Which really should not be
necessary, in my opinion.

-- 
Ben de Groot
Gentoo Linux developer (lxde, media, qt, desktop-misc)
Gentoo Linux Release Engineering PR liaison
______________________________________________________

yngwin@gentoo.org
http://ben.liveforge.org/
irc://chat.freenode.net/#gentoo-media
irc://irc.oftc.net/#lxde
______________________________________________________




^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-dev]  Re: Re: what happened to /etc/init.d/hal{d,daemon,whatever} script ?
  2008-12-29 12:56   ` Ben de Groot
@ 2009-01-09 14:00     ` Steve Long
  0 siblings, 0 replies; 10+ messages in thread
From: Steve Long @ 2009-01-09 14:00 UTC (permalink / raw
  To: gentoo-dev

Ben de Groot wrote:
> Jeremy Olexa wrote:
>> Andrey Grozin wrote:
>>> It was discussed (don't have a reference to the thread at
>>> hand) that it would be useful to have a table which shows which
>>> functions die by themselves, and which not.
>>>
>> I see this asked every X months and never quite figured out why, (this
>> isn't personal against you, Andrey)
> [...]
>> Take a look for yourself and you will see why there has never been a
>> "table" or anything created. (it is trivial - and you have the source on
>> your computer already)
That's more an argument for putting the table on the web than continuing
without adequate documentation. If it's going to change, automate it using
the script you posted (assuming it's watertight.)
> 
> It shouldn't be necessary to grep the source
Agreed.





^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2009-01-09 14:11 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-24  5:58 [gentoo-dev] Re: what happened to /etc/init.d/hal{d,daemon,whatever} script ? Andrey Grozin
2008-12-24  6:19 ` Jeremy Olexa
2008-12-24 14:40   ` Ciaran McCreesh
2008-12-29 12:56   ` Ben de Groot
2009-01-09 14:00     ` [gentoo-dev] " Steve Long
2008-12-24 14:57 ` [gentoo-dev] List of ebuild functions that die/do not die Thomas Sachau
2008-12-24 16:13   ` Nirbheek Chauhan
2008-12-24 16:20     ` Doug Goldstein
2008-12-24 16:43       ` Nirbheek Chauhan
2008-12-24 17:18         ` [gentoo-dev] " Steve Long

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox