Re: RFD: Essential packages, /, and /usr

2002-07-13 Thread Adam Heath
On Sun, 30 Jun 2002, Herbert Xu wrote:

 Adam Heath [EMAIL PROTECTED] wrote:

  There are minor non-posix issues.  The biggest is the use of echo -n(don't 
  say
  use printf, it's too slow for shoop's target audience).

 In the current Debian ash package, echo calls the printf builtin
 internally, and I'm yet to see a slow down.

ash is but one shell.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-30 Thread Herbert Xu
Adam Heath [EMAIL PROTECTED] wrote:

 There are minor non-posix issues.  The biggest is the use of echo -n(don't say
 use printf, it's too slow for shoop's target audience).

In the current Debian ash package, echo calls the printf builtin
internally, and I'm yet to see a slow down.
-- 
Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmVHI~} [EMAIL PROTECTED]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-30 Thread Clint Adams
 There are minor non-posix issues.  The biggest is the use of echo -n(don't say
 use printf, it's too slow for shoop's target audience).

It looks to me like the biggest is the use of 'local', actually.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-28 Thread Adam Heath
On Sat, 22 Jun 2002, Clint Adams wrote:

  Any chance of a rerun with posh (sources are in queue/new and readable)
  or pdksh?

 I don't think you'll be able to gauge posh that way; shoop isn't
 POSIX-compliant.

There are minor non-posix issues.  The biggest is the use of echo -n(don't say
use printf, it's too slow for shoop's target audience).


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-23 Thread Herbert Xu
Anthony Towns aj@azure.humbug.org.au wrote:

 If it's not to enable backwards and cross-Unix compatability, why do we
 care about POSIX at all?

 bash, /bin/echo and POSIXLY_CORRECT /bin/echo all treat \c as a literal,
 for reference.

GNU has always adopted the BSD behaviour of not interpreting back
slashes.  All SYSV shells behaved like

printf %b\n $*

This includes pdksh.
-- 
Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmVHI~} [EMAIL PROTECTED]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-23 Thread Ian Zimmerman

aj If it's not to enable backwards and cross-Unix compatability, why
aj do we care about POSIX at all?

aj bash, /bin/echo and POSIXLY_CORRECT /bin/echo all treat \c as a
aj literal, for reference.

Herbert GNU has always adopted the BSD behaviour of not interpreting
Herbert back slashes.  All SYSV shells behaved like

Herbert printf %b\n $*

Herbert This includes pdksh.

BTW, is the following of any import?

Andrew Submitted-by: [EMAIL PROTECTED] (Andrew Josey)

Andrew Austin Group Status Update Submitted by Andrew Josey, The Open
Andrew Group.  June 2002

[snip]

Andrew The ninth meeting of the joint technical working group
Andrew informally known as the Austin Group was held at The Open
Andrew Group facility in Reading, UK on May 8-9 2002. The meeting had
Andrew 20 attendees (nine of which via teleconference).

Andrew 120 aardvark defect reports were reviewed during the meeting.
Andrew It was agreed to form a subgroup to address the Regular
Andrew Expressions issues and that this would be chaired by David
Andrew Korn.  It was agreed that the definition of the echo utility
Andrew should revert to XCU5, thereby accomodating the historical
Andrew practice of BSD, and that this be a candidate change for TC1.

-- 
Ian Zimmerman, Oakland, California, U.S.A.
GPG: 433BA087  9C0F 194F 203A 63F7 B1B8  6E5A 8CA3 27DB 433B A087
EngSoc adopts market economy: cheap is wasteful, efficient is expensive.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-22 Thread Anthony Towns
On Fri, Jun 21, 2002 at 01:53:58PM -0400, Joey Hess wrote:
 Take shoop benchmarks (this is an old shoop tree I had lying around):
 
 bash: 1000 shoop 1st-stage resolver method calls  : 0:05.51
 ash : 1000 shoop 1st-stage resolver method calls  : 0:01.33
 bash: 1000 shoop 2nd-stage resolver method calls  : 0:08.33
 ash : 1000 shoop 2nd-stage resolver method calls  : 0:02.23
 bash: 1000 shoop 2nd-stage(nocache) resolver method calls : 0:08.19
 ash : 1000 shoop 2nd-stage(nocache) resolver method calls : 0:02.27
 
 (On a TM5800 with the cpu set to run at 333 to 533 mhz.)

Any chance of a rerun with posh (sources are in queue/new and readable)
or pdksh?

Cheers,
aj

-- 
Anthony Towns [EMAIL PROTECTED] http://azure.humbug.org.au/~aj/
I don't speak for anyone save myself. GPG signed mail preferred.

 ``BAM! Science triumphs again!'' 
-- http://www.angryflower.com/vegeta.gif


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-22 Thread Anthony Towns
On Fri, Jun 21, 2002 at 06:05:39PM -0400, Clint Adams wrote:
  sake. I understand the alleged benefits of ash (small, loads faster on a
  slow/small memory machine). Why would I, Debian user, benefit from being
  able to run pdksh as /bin/sh? (Remembering that standards compliance, in
  and of itself, does not give me a sexual thrill.)
 I answered this explicitly already.  It gives you a smaller,
 faster-loading shell and it supports brace expansions, which are the
 number one bug filed against #!/bin/sh scripts.

As far as I can tell there are two possibilities here:

(a) it is pdksh or posh, and it already works at least as well
as ash on the various #!/bin/sh scripts in Debian, or

(b) it is pdksh or posh or similar, and it doesn't yet work as
well as ash on the various #!/bin/sh scripts in Debian, due to
various POSIX extensions that we use and it doesn't support

In (a)'s case, this means that we can just say Actually, as it
turns out, we don't merely support ash and bash as /bin/sh at
present, actually we lucked out and we already support ash, bash
and pdksh! and have no more problems continuing to support pdksh as
we're going to have continuing to support ash. If this is the case,
then there's *still* no value in minimising /bin/sh: we can get the
smaller-faster-loading-more-reliable-shell that you're talking about
without having to fix all your various bugs. Whichever shell you're
talking obviously already supports kill -9, type and command, and whatever
other useful features that we currently use and you want us to stop using.

If this is supposedly the case, it'd be helpful to know which shell this
is, and if it does actually work as well as you're hypothesising.

 So, if someone needs to run a low-memory machine in production, [...]

In (b)'s case, on the other hand, you _can't_ run whatever shell you're
talking about on a production, because it _doesn't_ work as well as ash,
and this entire line of argument's erroneous.

 Is this not an answer?

Well, no, it really isn't. If some shell already works better with than
some other supported shell in practice, then it's supported de facto --
continuing to support it doesn't require signficant changes to current
practice, by definition. As such, it doesn't make sense to use that as
an argument about why we should change current practice.

Cheers,
aj

-- 
Anthony Towns [EMAIL PROTECTED] http://azure.humbug.org.au/~aj/
I don't speak for anyone save myself. GPG signed mail preferred.

 ``BAM! Science triumphs again!'' 
-- http://www.angryflower.com/vegeta.gif


pgpgl01DfMsVr.pgp
Description: PGP signature


Re: RFD: Essential packages, /, and /usr

2002-06-22 Thread Clint Adams
 Any chance of a rerun with posh (sources are in queue/new and readable)
 or pdksh?

I don't think you'll be able to gauge posh that way; shoop isn't
POSIX-compliant.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-22 Thread Clint Adams
 As far as I can tell there are two possibilities here:
 
   (a) it is pdksh or posh, and it already works at least as well
   as ash on the various #!/bin/sh scripts in Debian, or

It is pdksh.

   (b) it is pdksh or posh or similar, and it doesn't yet work as
   well as ash on the various #!/bin/sh scripts in Debian, due to
   various POSIX extensions that we use and it doesn't support

It is posh.

 Well, no, it really isn't. If some shell already works better with than
 some other supported shell in practice, then it's supported de facto --
 continuing to support it doesn't require signficant changes to current
 practice, by definition. As such, it doesn't make sense to use that as
 an argument about why we should change current practice.

So now the arbitrary criterion is breaks on less scripts than ash?

gnumail won't run if /bin/sh is ash.

The gnumail maintainer should
a) make the script POSIX-compliant
b) make the script a #!/bin/bash script
c) do neither and complain
?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-22 Thread Manoj Srivastava
Branden == Branden Robinson [EMAIL PROTECTED] writes:

 Branden If:

 Branden * Release critical bugs are _very_ rare.; and
 Branden * Release critical bugs should be the domain of the Release Manager,

 Branden Then we really don't need a tight connection between the
 Branden serious severity and release-criticality at all.
 Branden Release-criticality can be a tag -- whether that is
 Branden expressed in debbugs along with security, moreinfo,
 Branden patch and so forth or in a webpage like bugscan is
 Branden immaterial.

 Branden This tag -- no matter how it is expressed -- is the Release
 Branden Manager's domain.  People can propose that a bug be treated
 Branden as release-critical and, perhaps, if it seems warranted, we
 Branden can make this a debbugs tag and possibly automatically set
 Branden it for all critical, grave, and serious bugs.

 Branden The Release Manager can strip the release-critical tag off
 Branden of any bug he wants.  This is how things have *always*
 Branden worked in reality.  If a bug is truly a showstopper for a
 Branden release, we don't release with it.  We either wait, fix the
 Branden bug, or drop the package.

I find myself in strong and vehement agrement with Branden on
 this point.

manoj

-- 
 I think the sky is blue because it's a shift from black through
 purple to blue, and it has to do with where the light is.  You know,
 the farther we get into darkness, and there's a shifting of color of
 light into the blueness, and I think as you go farther and farther
 away from the reflected light we have from the sun or the light
 that's bouncing off this earth, uh, the darker it gets ... I think if
 you look at the color scale, you start at black, move it through
 purple, move it on out, it's the shifting of color.  We mentioned
 before about the stars singing, and that's one of the effects of the
 shifting of colors. Pat Robertson, The 700 Club
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bug#97671: RFD: Essential packages, /, and /usr

2002-06-22 Thread Anthony Towns
On Sat, Jun 22, 2002 at 02:02:00AM -0500, Manoj Srivastava wrote:
 Branden == Branden Robinson [EMAIL PROTECTED] writes:
  Branden * Release critical bugs are _very_ rare.; and
  Branden * Release critical bugs should be the domain of the Release Manager,
  Branden Then we really don't need a tight connection between the
  Branden serious severity and release-criticality at all.

Sorry, but this doesn't follow. Treating serious as a severity or a
tag is largely immaterial, and the fundamental point of the serious
severity or tag is as an aid to release management.

  Branden The Release Manager can strip the release-critical tag off
  Branden of any bug he wants.  This is how things have *always*
  Branden worked in reality.  

No, it's not. In reality, things have always just been ignored, rather
than being formally stripped of release-criticality.

   I find myself in strong and vehement agrement with Branden on
  this point.

Branden brought up a number of interesting and good points (and, even
better, simple) in the discussion he's referencing, but it was at the end
of a pretty long winded and vicious argument about the referenced bug,
and there was too much of an agree to anything just to get this over
with on my behalf. Which isn't to say I don't agree with much of it,
but I need some time to sit and look at this calmly before I can have
a considered opinion on it.

OTOH, there is one part that I have had plenty of opportunity to think
about: and personally I don't believe debian-policy should have _any_
influence over the severity of a bug. If there're already good reasons for
increasing the severity of a bug without policy, then that's good enough.
If there aren't, policy shouldn't be forcing them on people.

There're plenty of ways we can improve Debian without raising the members
of the policy list as being better or more powerful than other developers.

Beyond _all_ other things, this is the major problem with the serious
severity and release-critical bugs (and debian-policy@) at the moment.

And as much as I'd like to be able to say it's better to have -policy be
better and more powerful than the release manager for general democratic
and consensus principles, I'm sorry, but it simply hasn't worked, and
I'm yet to see *anyone* even remotely interested in making it work.

Cheers,
aj

-- 
Anthony Towns [EMAIL PROTECTED] http://azure.humbug.org.au/~aj/
I don't speak for anyone save myself. GPG signed mail preferred.

 ``BAM! Science triumphs again!'' 
-- http://www.angryflower.com/vegeta.gif


pgpweSghV8iHS.pgp
Description: PGP signature


Re: Bug#97671: RFD: Essential packages, /, and /usr

2002-06-22 Thread Branden Robinson
On Sat, Jun 22, 2002 at 09:29:42PM +1000, Anthony Towns wrote:
 Sorry, but this doesn't follow. Treating serious as a severity or a
 tag is largely immaterial, and the fundamental point of the serious
 severity or tag is as an aid to release management.

That may be its intent, but apparently that's not how it's being used a
large proportion of the time.

   Branden The Release Manager can strip the release-critical tag off
   Branden of any bug he wants.  This is how things have *always*
   Branden worked in reality.  
 
 No, it's not. In reality, things have always just been ignored, rather
 than being formally stripped of release-criticality.

My statement does not assert that the Release Manager has undertaken any
formal procedure.  I'm saying that it is the case that a bug isn't de
facto release critical if the Release Manager doesn't treat it thus.

 And as much as I'd like to be able to say it's better to have -policy be
 better and more powerful than the release manager for general democratic
 and consensus principles, I'm sorry, but it simply hasn't worked, and
 I'm yet to see *anyone* even remotely interested in making it work.

I think these are largely orthogonal issues.  Debian Policy is a great
tool, but ill-suited to determining release viability for an individual
package or for the distribution as a whole.

In my opinion and experience, a Debian Policy is better suited to
establishing and enforcing objective criteria that ultimately serve to
improve the quality of Debian packages, and of the distribution as a
whole.  Due to the objectivity and specificity of the criteria it
establishes, it is easy for a large number of people to participate in
the process of crafting Policy in a democratical and consensus-driven
manner.

Release management is a highly subjective process -- at least the way
Debian does it -- because we always settle for something significantly
less than perfection (IMO that's a good thing).  The establishment of
subjective criteria for good enough is often influenced by external
factors like upstream releases, security issues, Debian's non-package
infrastructure (automated security builds, the mirror network, etc.) and
the date on the calendar.  Due to that, I think it makes more sense for
release management by an individual or a small team of people who work
together well.

The bottom line for me is that it's difficult to achieve consensus on
subjective issues.  I think our approach to the twin nemeses of policy
and release management need to reflect this fact better than they do at
present.

-- 
G. Branden Robinson|
Debian GNU/Linux   |  If encryption is outlawed, only
[EMAIL PROTECTED] |  outlaws will @goH7Ok=q4fDj]Kz?.
http://people.debian.org/~branden/ |


pgpV6Xktse9NC.pgp
Description: PGP signature


Re: RFD: Essential packages, /, and /usr

2002-06-21 Thread Clint Adams
 9989  * An alias shall be written as a 
 command line that represents its alias definition.

cf. alias:

| The following operands shall be supported:
| 
| alias-name
| Write the alias definition to standard output.

[...]

| The format for displaying aliases (when no operands or only name
| operands are specified) shall be:
| 
| %s=%s\n, name, value

| The value string shall be written with appropriate quoting so that it is
| suitable for reinput to the shell. See the description of shell quoting
| in Quoting .

I read that to mean that the output of alias history, for example,
should be something like

history=fc -l

So, if that's the alias definition, then what's the value of

%s, pathname or command

when pathname or command is a command line that represents its alias
definition.

I was assuming that fc -l was the command line representing the alias
definition, but if POSIX is documenting current practice, I am in the
minority.  Still, it seems as though fc -l is more useful in command
substitution than alias history='fc -l'.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-21 Thread Anthony Towns
On Thu, Jun 20, 2002 at 11:31:42PM -0400, Clint Adams wrote:
  Having echo aliased to `printf %s\n $*' would give you better POSIX
  compliance too.
 No, in fact, it would not.
 Compare the output of
 ash -c 'echo test\c'
 versus
 printf %s\n test\c

Ah, I see. So, POSIX recognises that there are two distinct traditional
behaviours, then specifies something that's specifically incompatible with
both of them, and the GNU utilities?

If it's not to enable backwards and cross-Unix compatability, why do we
care about POSIX at all?

bash, /bin/echo and POSIXLY_CORRECT /bin/echo all treat \c as a literal,
for reference.

  And facilitating system breakage is a win somehow?
 No, I'm pointing out that someone can use a POSIX-compliant shell as
 /bin/sh and have a system where fakeroot, debconf, and lots of package
 scripts don't work.

Yes, we can agree about this, evidently.

 Now this would be perfectly fine if the explicit requirement were ash
 or bash or there were a certification policyprocedure for /bin/sh.
 Since neither are true, [...]

I suspect this is just talking at cross-purposes, but we do have a
certification policyprocedure for changing what's allowable as /bin/sh,
viz editing policy and filing bugs and changing scripts. I don't see any
reason why that wouldn't be a perfectly reasonable way of doing things,
and, assuming we could avoid having the bugs gratuitously closed or
flamewars about them, I'm optimistic you'd agree.

And while the former isn't how policy's written, it *is* the practical
requirement for /bin/sh, and afaik ash is the only alternative shell
anyone's really considered up until now.

 I would assume something along the lines of the following:
 Bourne shells that make an attempt toward POSIX-compliance when called
 as /bin/sh may be installed as /bin/sh.

Certainly: I'd've assumed the same. It turns out we're wrong: our scripts
don't work with random POSIX-compliant shells, just with bash and ash.

 If the shell fails to accurately interpret a POSIX-compliant script, a
 bug should be filed against that shell's package.
 
 If the shell fails to accurately interpret a non-compliant #!/bin/sh
 script, a bug should be filed against that script's package.

Which is all very well if it's just one script, but it's not so great
when it's a whole bunch of scripts in a whole bunch of packages. That's
why we have a special case for mass-filed bugs: discussion and consensus
*first*, to make sure that that policy is what we actually *want*.

  No, I maintain that in practice, no matter what policy says, bash and
  ash are the only shells that work reliably on Debian, and thus are the
  only ones users should consider using as /bin/sh.
 I don't see what you've got against pdksh.  I imagine that it would work
 quite well.

I've never tried it, I haven't seen anyone else try it, and given that
there are a significant number of issues generally, I'd expect some of
them to cause pdksh problems. Additionally, I haven't seen anyone give
any reason why they'd want pdksh instead of bash or ash.

  I realise this isn't what policy might indicate, and given that I still
  haven't seen any particularly good reasons to use any other shell,
  I'm much more inclined to consider this a bug in policy than in all the
  various packages.
 Debian is about choice.  If someone wants to write a POSIX sh in Java,
 are going to prevent them from using it as /bin/sh because you find it
 offensive?

Debian's about choice: if someone wants to rm -rf /usr/bin/perl*, are
you going to prevent them from doing so because you're in love with perl
and you're going to marry it?

No, I'm not going to prevent them, and I'm not in love with perl, I'm
not going to marry it, and I don't find anything offensive about using
shells other than bash and ash as /bin/sh.

That, however, isn't the question being discussed. The question is whether
I'm going to *support* them in doing so: fix problems that wouldn't have
existed if they hadn't done so, or avoid creating them in the first place.

The other question which I've been implying for a couple of messages
now, is if we do support them, how should we prioritise it in relation
to other issues. And the answer to that should be, IMO, nowhere near as
highly as DFSG-freeness or security problems.

  So now you're offering good reasons why we shouldn't encourage people
  to use anything but bash as /bin/sh?
 No, that was a good reason not to use Linux 2.5.

Well, whether Linux 2.5 is nice or not seems pretty irrelevant.

  Considering I invented the serious severity and proposed the various
  changes to policy and the BTS to support it, I think I have some vague
  idea what I'm talking about, yes.
 As such, it's bizarre that you seem to object to it.

If it seems so bizarre, perhaps it's an indication that you're not
grokking what I'm saying.

  How, precisely? What practical benefits does using any shell other than
  bash or ash as /bin/sh bring you? I've asked this three or four times
  now 

Re: RFD: Essential packages, /, and /usr

2002-06-21 Thread Clint Adams
 Ah, I see. So, POSIX recognises that there are two distinct traditional
 behaviours, then specifies something that's specifically incompatible with
 both of them, and the GNU utilities?

No, it's specifically compatible with SysV echo.

 If it's not to enable backwards and cross-Unix compatability, why do we
 care about POSIX at all?

I don't know.  Do we care about POSIX at all?

 bash, /bin/echo and POSIXLY_CORRECT /bin/echo all treat \c as a literal,
 for reference.

You can file bugs against bash and shellutils if you think they should
comply.

 I suspect this is just talking at cross-purposes, but we do have a
 certification policyprocedure for changing what's allowable as /bin/sh,
 viz editing policy and filing bugs and changing scripts. I don't see any
 reason why that wouldn't be a perfectly reasonable way of doing things,
 and, assuming we could avoid having the bugs gratuitously closed or
 flamewars about them, I'm optimistic you'd agree.

Isn't that what we're doing?

 Certainly: I'd've assumed the same. It turns out we're wrong: our scripts
 don't work with random POSIX-compliant shells, just with bash and ash.

But they don't all work with ash.

 Which is all very well if it's just one script, but it's not so great
 when it's a whole bunch of scripts in a whole bunch of packages. That's
 why we have a special case for mass-filed bugs: discussion and consensus
 *first*, to make sure that that policy is what we actually *want*.

Calling it a mass-filing is a stretch, especially since I did them all
manually.

 I've never tried it, I haven't seen anyone else try it, and given that
 there are a significant number of issues generally, I'd expect some of
 them to cause pdksh problems. Additionally, I haven't seen anyone give
 any reason why they'd want pdksh instead of bash or ash.

Well, if it'll help, I'll try.  bash is large, and is slightly
POSIX-incompatible.  ash is slightly POSIX-incompatible.  pdksh seems to
be more POSIX-compatible than both right now.  But let's skip that right
now, since POSIX compatibility is in question, and I'm confident that
Herbert will have ash up to snuff shortly.  I would estimate that the
vast majority of severity:serious justification:11.4 bugs being filed
on packages contain bashism in the subject and cite brace expansions
being used in #!/bin/sh scripts.  While it's called a bashism and is
definitely not POSIX-compliant, all the other Bourne shells currently in
the archive support brace expressions.  That includes pdksh.

In summary, pdksh vs. bash gives you some of the size and speed
advantage and more bashism compatibility than ash vs. bash.  Perhaps
it's a compromise solution for those who want a smaller /bin/sh but
don't want the breakage.

 Debian's about choice: if someone wants to rm -rf /usr/bin/perl*, are
 you going to prevent them from doing so because you're in love with perl
 and you're going to marry it?

That's a great question.

 That, however, isn't the question being discussed. The question is whether
 I'm going to *support* them in doing so: fix problems that wouldn't have
 existed if they hadn't done so, or avoid creating them in the first place.

Well, no one's forcing you to comply with policy.

 The other question which I've been implying for a couple of messages
 now, is if we do support them, how should we prioritise it in relation
 to other issues. And the answer to that should be, IMO, nowhere near as
 highly as DFSG-freeness or security problems.

Fine.  Fix all the DFSG-freeness and security problems in your packages,
then change those daunting 6 octets.

 Well, whether Linux 2.5 is nice or not seems pretty irrelevant.

Of course it does.

 If it seems so bizarre, perhaps it's an indication that you're not
 grokking what I'm saying.

I'm not even close to grokking it.

 You've already given one example where bash is *more* compatible as
 /bin/sh than alternatives (ie, (some versions of?) the Linux 2.5 kernel),

More compatible with the Linux 2.5 kernel build system.  More compatible
with Debian #!/bin/sh scripts right now.  Less compatible with certain
ATT shell scripts, which special-case bash's allegedly buggy behavior.
Obviously no users running the latter really need something other than
bash as /bin/sh, so I can see that as being unimportant.

 and I'm far from knowing much about POSIX, but the specification for
 echo doesn't seem to be doing much to improve compatibility, as far as
 I can see.

No, the previous specifications haven't done much for compatibility.
They said we don't have a clue what echo will do when you give it crazy
things like arguments, so use printf instead.  Only nobody used printf.
Why?  Because echo is typically a builtin, and printf is a builtin in
only a few shells.

Now, if echo doesn't behave the way they say, it's buggy.  This makes it
suddenly useful for POSIX script writers.  I imagine that it might be
useful for people importing scripts from SysV too, but who really cares
about that?

 I 

Re: RFD: Essential packages, /, and /usr

2002-06-21 Thread Herbert Xu
On Fri, Jun 21, 2002 at 12:05:38AM -0400, Clint Adams wrote:
  9989  * An alias shall be written as a 
  command line that represents its alias definition.
 
 cf. alias:
 
 | The following operands shall be supported:
 | 
 | alias-name
 | Write the alias definition to standard output.
 
 [...]

ls=foo

is an alias definition.

alias ls=foo

is a command line that represents the alias definition.
-- 
Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmVHI~} [EMAIL PROTECTED]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-21 Thread Anthony Towns
On Fri, Jun 21, 2002 at 03:09:17AM -0400, Clint Adams wrote:

  That, however, isn't the question being discussed. The question is whether
  I'm going to *support* them in doing so: fix problems that wouldn't have
  existed if they hadn't done so, or avoid creating them in the first place.
 Well, no one's forcing you to comply with policy.

Yeesh. I don't know what so hard about this. The following statements are
true.

I am not an idiot.

I do not need to be forced to follow good advice.

Policy is by and large good advice.

You don't have to force me to follow policy, as long as you make it
sensible. If you've got a good reason to allow any POSIX compatible shell
as /bin/sh then *tell* me it, and I'll happily support you all the way.

  The other question which I've been implying for a couple of messages
  now, is if we do support them, how should we prioritise it in relation
  to other issues. And the answer to that should be, IMO, nowhere near as
  highly as DFSG-freeness or security problems.
 Fine.  Fix all the DFSG-freeness and security problems in your packages,
 then change those daunting 6 octets.

See the problem is that right from the start you've tried prioritising
them at the exact same level as DFSG-freeness and security
problems. That's what the release critical severities are there for.

  If it seems so bizarre, perhaps it's an indication that you're not
  grokking what I'm saying.
 I'm not even close to grokking it.

Then please, pay attention. I've explained this a dozen times on this
list already, so if you need a different wording surely there's someone
out there how can provide it.

Release critical bugs are _very_ rare. They're not for problems that we're
annoyed or embarrased about having, they're not for policy violations
in general, they're not for setting goals that need to be done in lots
of packages.

They are *purely* for those issues which are so severe that they're worth
removing packages because of, or saying I'm sorry, we can't release on the
day I said, because these issues are unresolved.

I had hoped that letting policy have some influence on which policy issues
should be considered release-critical would help ensure consistency
and a deeper analysis of potential release-critical issues. Instead it
seems to be an excuse for people to raise every other policy issue to
release-critical status, and I have to either repeatedly argue against
it and live with all the mistakes made anyway (like the must idiocy
related to /bin/sh).

And yes, after eighteen months to two years of having to explain this
again and again and again and again -- in spite of it being pretty
clearly written in policy itself -- my patience is pretty short on the
whole issue.

  and I'm far from knowing much about POSIX, but the specification for
  echo doesn't seem to be doing much to improve compatibility, as far as
  I can see.
 No, the previous specifications haven't done much for compatibility.
 They said we don't have a clue what echo will do when you give it crazy
 things like arguments, so use printf instead.  Only nobody used printf.
 Why?  Because echo is typically a builtin, and printf is a builtin in
 only a few shells.

 Now, if echo doesn't behave the way they say, it's buggy.

...and very few shells implement it the way POSIX says, so scripts that
want to be portable can't rely on what POSIX says.

  Because we're already able to support /bin/sh - ash,bash, and we're
  doing okay at keeping that support.
 A quick scan of the BTS suggests that at least 824 bugs are about ash
 not working with #!/bin/sh scripts.

How many of them are marked serious, exactly?

For that matter, how many of them are in base or standard packages?

  Which seems to support the no practical benefit argument, no? There're
  plenty of developers running different shells in places where it does
  matter (particularly their login shell).
 If it didn't matter, why did people fight for ash?  There was a fight,
 remember?

I don't really see why you need me to make your arguments for you, but
whatever. The argument for ash's utility is its self-evident smallness
and claims that it's (therefore) faster to use. I haven't actually seen
any benchmarks to back up the latter, but the theory certainly seems
reasonable. Further, some developers actually do run ash as there /bin/sh,
no matter what the majority of developers do.

  Hello, release-manager.
  You realise you filed most of those /bin/sh bugs as release-critical
  bugs, right?
 I filed them as severity serious.  I did not make 'serious' bugs RC.  I
 did not associate 'serious' with policy violation.  That being said, my
 conception was that RC bugs were those of priority serious or higher 
 which hadn't been specifically excepted by the release manager for
 arbitrary reasons.  Now, seeing as how woody is frozen, and testing is
 not running, I don't see how this has any practical impact anyway.

Yeesh. Testing's going to run again sooner or 

Re: RFD: Essential packages, /, and /usr

2002-06-21 Thread Branden Robinson
On Thu, Jun 20, 2002 at 11:31:42PM -0400, Clint Adams wrote:
 Unless policy is changed, indications are that the only packages using
 command -v by the time of woody+1's release will be XFree86.

Easy now.  I don't *like* the construction

if command -v foo  /dev/null 21; then
  foo
fi

I hate that nasty redirection that is imposed on me.

The only reason I am waiting to change it is because I think there's a
good chance a knucklehead POSIX or Policy lawyer is going to keep filing
or reopening bugs against my packages no matter what I do.[1]

If I change it to use type, one person will complain.
If I change it to use which, another person will complain.

You won't catch me doing test -x /usr/bin/foo.  I refuse to precariously
balance my scripts on my confidence that the package maintainer of the
package containing foo won't move it to /bin, /sbin, or /usr/sbin.

So, although the status quo got a bug filed against my package, I'm
sticking with it because the only reasonable alternatives also seem
objectionable to one or another of the various POSIX and Policy lawyers
in this discussion.

If you guys can broker a mutual peace by the time of woody+1's
release, you'll likely find me accomodating to the policy you come up
with...as long as you don't force me to hard-code paths to other
packages' executables.

[1] Unlike some folks in this Project, I don't enjoy the privilege of
being able to arbitrarily close, reassign, or downgrade actual, valid
bug reports against my package.

-- 
G. Branden Robinson| Q: How does a Unix guru have sex?
Debian GNU/Linux   | A: unzip;strip;touch;finger;mount;
[EMAIL PROTECTED] |fsck;more;yes;fsck;fsck;fsck;
http://people.debian.org/~branden/ |umount;sleep


pgpxUPhIIDQd0.pgp
Description: PGP signature


Re: RFD: Essential packages, /, and /usr

2002-06-21 Thread Branden Robinson
On Fri, Jun 21, 2002 at 02:49:00PM +1000, Anthony Towns wrote:
 If you can't justify a change without reference to policy, then you
 shouldn't be suggesting it,

!?

No more wishlist bugs?

-- 
G. Branden Robinson|I've made up my mind.  Don't try to
Debian GNU/Linux   |confuse me with the facts.
[EMAIL PROTECTED] |-- Indiana Senator Earl Landgrebe
http://people.debian.org/~branden/ |


pgpjTV2tq7fY7.pgp
Description: PGP signature


Re: RFD: Essential packages, /, and /usr

2002-06-21 Thread Branden Robinson
On Fri, Jun 21, 2002 at 03:09:17AM -0400, Clint Adams wrote:
 I didn't realize that policy compliance was some sort of buddy-boy
 system.

/me watches comprehension slowly, slowly wash over Clint's
countenance...

-- 
G. Branden Robinson|  It doesn't matter what you are
Debian GNU/Linux   |  doing, emacs is always overkill.
[EMAIL PROTECTED] |  -- Stephen J. Carpenter
http://people.debian.org/~branden/ |


pgpy7wo8IRzzO.pgp
Description: PGP signature


Re: RFD: Essential packages, /, and /usr

2002-06-21 Thread James Troup
Branden Robinson [EMAIL PROTECTED] writes:

 On Fri, Jun 21, 2002 at 02:49:00PM +1000, Anthony Towns wrote:
  If you can't justify a change without reference to policy, then you
  shouldn't be suggesting it,
 
 !?
 
 No more wishlist bugs?

Perhaps a rephrase would help?

If the _only_ justification for a change is policy, then you
 shouldn't be suggesting it.

-- 
James


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-21 Thread Branden Robinson
On Sat, Jun 22, 2002 at 01:13:47AM +1000, Anthony Towns wrote:
 Then please, pay attention. I've explained this a dozen times on this
 list already, so if you need a different wording surely there's someone
 out there how can provide it.
 
 Release critical bugs are _very_ rare. They're not for problems that we're
 annoyed or embarrased about having, they're not for policy violations
 in general, they're not for setting goals that need to be done in lots
 of packages.
 
 They are *purely* for those issues which are so severe that they're worth
 removing packages because of, or saying I'm sorry, we can't release on the
 day I said, because these issues are unresolved.
 
 I had hoped that letting policy have some influence on which policy issues
 should be considered release-critical would help ensure consistency
 and a deeper analysis of potential release-critical issues. Instead it
 seems to be an excuse for people to raise every other policy issue to
 release-critical status, and I have to either repeatedly argue against
 it and live with all the mistakes made anyway (like the must idiocy
 related to /bin/sh).
 
 And yes, after eighteen months to two years of having to explain this
 again and again and again and again -- in spite of it being pretty
 clearly written in policy itself -- my patience is pretty short on the
 whole issue.

If Mohammed cannot go to the mountain, perhaps the mountain must come to
Mohammed.

We discussed this on IRC a month or so ago.  For the benefit of everyone
else here, I'll re-hash it as I remember it.  Feel free to correct me if
I've misremembered.

If:

* Release critical bugs are _very_ rare.; and
* Release critical bugs should be the domain of the Release Manager,

Then we really don't need a tight connection between the serious
severity and release-criticality at all.  Release-criticality can be a
tag -- whether that is expressed in debbugs along with security,
moreinfo, patch and so forth or in a webpage like bugscan is
immaterial.

This tag -- no matter how it is expressed -- is the Release Manager's
domain.  People can propose that a bug be treated as release-critical
and, perhaps, if it seems warranted, we can make this a debbugs tag and
possibly automatically set it for all critical, grave, and serious bugs.

The Release Manager can strip the release-critical tag off of any bug
he wants.  This is how things have *always* worked in reality.  If a bug
is truly a showstopper for a release, we don't release with it.  We
either wait, fix the bug, or drop the package.

I honestly believe this mechanism would head off most of these catfights
at the pass.  Proper usage of must vs. should in the Policy manual?
Immaterial.  Mass-filing of serious bugs as public service or
masturbatory frenzy?  Immaterial.  Release-critical?  Release Manager's
call, period (unless someone bothers to appeal to the Technical
Committee -- not a process that is likely to get one a speedy remedy :).

And, while we're at it, this would enable us to re-establish a
maintainer's discretionary power over bug severities, even serious
ones.  As Josip Rodin noted in debian-devel, sometimes even a violation
of a must directive really isn't a big deal.  Sometimes it just
doesn't make that much difference.  Whether that's due to policy
inflating the importance of compliance with a certain detail, or due to
unusual circumstances doesn't matter.  The Release Manager gets to
attach the release-critical tag to any bug he wants, and the package
maintainer is expected to act on that bug if he wants his package to
release with Debian.  If he doesn't, he can alter the severities of his
bugs pretty much at his discretion.

There is a lot more discussion of this issue in the logs of Bug #97671.

http://bugs.debian.org/97671

N.B.: the above is my recollection of a conversation, and should not be
construed as representing the opinions of anyone else unless they say
so.

-- 
G. Branden Robinson|I've made up my mind.  Don't try to
Debian GNU/Linux   |confuse me with the facts.
[EMAIL PROTECTED] |-- Indiana Senator Earl Landgrebe
http://people.debian.org/~branden/ |


pgpOAqBhELoIR.pgp
Description: PGP signature


Re: RFD: Essential packages, /, and /usr

2002-06-21 Thread Joey Hess
Anthony Towns wrote:
 I haven't been able to observe any speed differences between ash and bash,
 so I don't expect I'd see any anywhere else. If you've got something
 where there's an observable improvement in speed in using some other
 shell compared to both ash and bash, I'd be interested.

Take shoop benchmarks (this is an old shoop tree I had lying around):

bash: 1000 shoop 1st-stage resolver method calls  : 0:05.51
ash : 1000 shoop 1st-stage resolver method calls  : 0:01.33
bash: 1000 shoop 2nd-stage resolver method calls  : 0:08.33
ash : 1000 shoop 2nd-stage resolver method calls  : 0:02.23
bash: 1000 shoop 2nd-stage(nocache) resolver method calls : 0:08.19
ash : 1000 shoop 2nd-stage(nocache) resolver method calls : 0:02.27

(On a TM5800 with the cpu set to run at 333 to 533 mhz.)

-- 
see shy jo


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-21 Thread Clint Adams
 Easy now.  I don't *like* the construction
 
 if command -v foo  /dev/null 21; then
   foo
 fi
 
 I hate that nasty redirection that is imposed on me.

Well, the popular proposal (which seems to be SUSv3+UP+XSI), will give
you type, and you'll need to redirect that as well.

If you want some sort of -q option, you'll need something else entirely.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-21 Thread Clint Adams
 If this is regarding the [ -a -o ] stuff, then sorry, but debhelper is just
 the tip of the iceberg, or at least of my personal iceberg. 

Hmm.. I must have grepped badly.

 There will be tens of thousands in all of debian, if this sample of 100
 packages is representative. I even find them in autoconf install-sh, which
 I'd expect to be portable.

I've emailed automake about this.  Perhaps they'll change it.  Perhaps
not.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-21 Thread Steve Greenland
I know I'm going to hate getting into this one, but:

On 21-Jun-02, 14:31 (CDT), Clint Adams [EMAIL PROTECTED] wrote: 
  (2) There's no benefit to anyone using a shell other than ash or
  bash as /bin/sh on a Debian system.
 
 No, you're being deliberately obtuse on this one.

Clint, Anthony has asked several times on this thread for you to state
the benefit of being able to use shells other than bash and ash as
/bin/sh. The only answer I've seen is the continued chanting of POSIX
is good, and I don't buy the idea of standards compliance for it's own
sake. I understand the alleged benefits of ash (small, loads faster on a
slow/small memory machine). Why would I, Debian user, benefit from being
able to run pdksh as /bin/sh? (Remembering that standards compliance, in
and of itself, does not give me a sexual thrill.)

Steve

-- 
Steve Greenland

The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the
world.   -- seen on the net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-21 Thread Clint Adams
 sake. I understand the alleged benefits of ash (small, loads faster on a
 slow/small memory machine). Why would I, Debian user, benefit from being
 able to run pdksh as /bin/sh? (Remembering that standards compliance, in
 and of itself, does not give me a sexual thrill.)

I answered this explicitly already.  It gives you a smaller,
faster-loading shell and it supports brace expansions, which are the
number one bug filed against #!/bin/sh scripts.

So, if someone needs to run a low-memory machine in production, and is
not interested in finding brace expansions in #!/bin/sh the hard way,
it's safer to use pdksh as /bin/sh than it is to use current ash, and
you will still get a memory benefit.

Is this not an answer?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-20 Thread Herbert Xu
On Wed, Jun 19, 2002 at 02:34:30AM -0400, Clint Adams wrote:
 
  The exact output of command -v is not given by POSIX.
 
 I believe it says
 
 When the -v option is specified, standard output shall be formatted as:
 
 %s\n, pathname or command

Are you referring to the extra new line that ash outputs after an alias?
If so that is indeed incorrect and will be fixed.

  More details please.
 
 %s=%s\n, name, value

Will fix.
-- 
Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmVHI~} [EMAIL PROTECTED]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-20 Thread Anthony Towns
On Wed, Jun 19, 2002 at 02:05:01PM -0400, Clint Adams wrote:
  Scenario A: Script works on bash and ash, which are the two main shells 
  anyone
  has a reason to use as /bin/sh on Debian.
  
  Scenario B: Script works on bash and ash, which are the two main shells 
  anyone
  has a reason to use as /bin/sh on Debian.
 Why on earth should this be so?  

I don't really care whether it should or shouldn't be so, but it certainly
seems like it *is* so. Using bash minimises the disk space used by shells
and is the most reliable, and using ash is faster. Are there any other
benefits to be had by using different shells?

 Is saying The standard shell
 interpreter `/bin/sh' can be a symbolic link to any POSIX compatible shell,
 if `echo -n' does not generate a newline. yet another of Policy's
 arrogant lies?

I'm not really sure why you're being quite so emotive as to
call it an arrogant lie. I'd've called it a bug or an
underspecification. Potato, potatoe, I guess...

And in any event that's my point: if you find a case where packages don't
match what policy says, you need to bring it up on -devel to make sure
it really is policy -- well, your reading of policy -- that's right.

 When I joined Debian, bash was the only choice for /bin/sh.  Back then,
 one would have said, Script works on bash, which is the only shell
 anyone as a reason to use as /bin/sh on Debian, and we don't support
 anything else.

And it worked pretty well, don't you think? Allowing people to use ash as
well wasn't too huge a step, so we made that. We overreached and thought
what we were doing would let people use random other shells as well,
but obviously we were wrong. Whether we want to go further is something
that we may wish to do, or we may not.

 Now, those poor people who read Policy or debconf messages might come to
 the silly conclusion that they could make pdksh or zsh their /bin/sh.
 Or perhaps they will obtain a copy of ksh93 and make that their /bin/sh.
 Perhaps that are even forced to do that to support some horribly-behaved
 commercial software.

Uh, are there any examples at all of the latter? If not, please don't
waste everyone's time by making up problems that don't exist.

(Considering that Linux systems tend not to run non-Linux binaries,
that commercial apps tend to not come as shell scripts, and that most
Linux distributions come with bash as /bin/sh, I can't say it's a very
credible problem)

 Some developers want our users to have this choice.  Others don't have
 this as a priority.

Imagine that. You realise there's not a problem with this, right? People
aren't meant to have to cede their priorities when they join Debian (well,
beyond Our users and free software perhaps). Filing release-critical
bugs is exactly that, though: forcing everyone to accept your priorities
as the most crucial things affecting their package. Sometimes that's
completely reasonable: for Debian's purposes, DFSG problems and security
bugs have to be considered to be the most important things to fix no
matter what the maintainers personal priorities might be; at other times
it can be questionable: take the FHS violation in #97671 / #143825,
which policy would say should be treated more importantly than (eg) all
the random segfaults in the X server -- which the X maintainer disagrees
with. At other times it's just ridiculous: being able to use zsh instead
of bash as your /bin/sh might be a neat trick if you're a zsh fanatic,
but it isn't any sort of significant practical win to anyone.

  It happens to be a lot of work to make something comply with the letter of
  POSIX's minimal specification for /bin/sh, especially since it seems to
 Then you'll appreciate that I did the work for you and gave you a
 POSIX-compliant alternative in the bug report.

No, I won't: what you've done for me is given my a little patch which
affects essentially no one, and given me a dozen new bugs in the RC bug
list that I'm going to have to go through and downgrade or close. Sorry,
but the plusses don't cancel out the minuses.

  be intent on becoming more minimal as time passes, and since it doesn't
  seem to worry itself too much with existing BSD or Linux systems.
 I don't get that impression.  POSIX actually seems to be improving with
 time.

With the new POSIX / SUSv3, we've found we need to add another exception
along with echo -n -- that we need the (non-interactive part of the)
UP featureset in order to ensure the type command is available.

  It's also a lot of work to do heaps of other useful things in Debian: make
  it release faster, improve it's security, have all the neat new GUI apps
  get a similar degree of reliability as our server programs tend to have,
 I'm sorry; is woody not released because I'm not spending my time
 working on GUI apps?

Huh? Why would you think that? Debian will be better if it releases
faster.  Debian will be better if it's security improves. Debian will be
better if all the neat new GUI apps blahblahblah. Does it make more 

Re: RFD: Essential packages, /, and /usr

2002-06-20 Thread Clint Adams
 Are you referring to the extra new line that ash outputs after an alias?
 If so that is indeed incorrect and will be fixed.

I also interpret the leading literal alias  to be incorrect.  It's
less useful, at any rate.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-20 Thread Clint Adams
 I don't really care whether it should or shouldn't be so, but it certainly
 seems like it *is* so. Using bash minimises the disk space used by shells
 and is the most reliable, and using ash is faster. Are there any other
 benefits to be had by using different shells?

Using pdksh will give you better POSIX compliance, though it looks as
though Herbert is working to solve this as we speak.  Using posh will
give you better POSIX compliance and facilitate system breakage.  Using
zsh, well, I don't know why anyone would want to do that.  Same goes for
ksh93.

 I'm not really sure why you're being quite so emotive as to
 call it an arrogant lie. I'd've called it a bug or an
 underspecification. Potato, potatoe, I guess...

So you maintain that policy really says that /bin/sh may be either bash
or ash, and nothing else.

 And in any event that's my point: if you find a case where packages don't
 match what policy says, you need to bring it up on -devel to make sure
 it really is policy -- well, your reading of policy -- that's right.

I brought up command -v on -devel.  What was the outcome of that?

 And it worked pretty well, don't you think? Allowing people to use ash as
 well wasn't too huge a step, so we made that. We overreached and thought
 what we were doing would let people use random other shells as well,
 but obviously we were wrong. Whether we want to go further is something
 that we may wish to do, or we may not.

As I recall, the ash-blessing was not as pleasant as you imply.

 (Considering that Linux systems tend not to run non-Linux binaries,
 that commercial apps tend to not come as shell scripts, and that most
 Linux distributions come with bash as /bin/sh, I can't say it's a very
 credible problem)

Most commercial apps that I've seen come with shell scripts, yes.  Some
Linux 2.5 kernels won't compile if /bin/sh is ash.  Is the bug in ash?

 beyond Our users and free software perhaps). Filing release-critical
 bugs is exactly that, though: forcing everyone to accept your priorities
 as the most crucial things affecting their package. Sometimes that's

You do realize that there's precedent for filing policy violations as
serious bugs, right?

 with. At other times it's just ridiculous: being able to use zsh instead
 of bash as your /bin/sh might be a neat trick if you're a zsh fanatic,
 but it isn't any sort of significant practical win to anyone.

No, being able to use a POSIX shell instead of bash as your /bin/sh is a
significant win.  One way you have a clearly defined interface.  The
other way you have aj saying that really just means bash or ash.

 No, I won't: what you've done for me is given my a little patch which
 affects essentially no one, and given me a dozen new bugs in the RC bug
 list that I'm going to have to go through and downgrade or close. Sorry,
 but the plusses don't cancel out the minuses.

So, in other words, maintainers shouldn't fix bashisms in #!/bin/sh
scripts either.

 With the new POSIX / SUSv3, we've found we need to add another exception
 along with echo -n -- that we need the (non-interactive part of the)
 UP featureset in order to ensure the type command is available.

We have?  type isn't part of UP; type is XSI.  Furthermore, if, in fact,
we need this exception, it should be added.  If, on the other hand, we
need policy to say scripts must be compatible with both ash and bash,
then the UP and XSI stuff is irrelevant.

 Huh? Why would you think that? Debian will be better if it releases
 faster.  Debian will be better if it's security improves. Debian will be
 better if all the neat new GUI apps blahblahblah. Does it make more sense
 if I spell it out as separate sentences? And really, none of the above
 have much to do with getting woody out at this point in time, either.

This entire paragraph makes even less sense to me.

 Well, you're welcome to enlighten me at any time.

Do you see a problem with a policy of packages only need to work for
the maintainer?

 It also violates a should directive in the previous sentence, and
 considering the second sentence is just a restatement of the first, that
 means policy's buggy. The correct resolution, the one that leads to the
 better distribution, is the one that resolves both those directives to
 being should.

Why haven't you filed such a bug against policy?  I think you should
not, actually, since changing both to should would make the whole
concept utterly pointless.

Perhaps you see value in the following scenario: aj uses bashisms which
don't work in ash in all his #!/bin/sh scripts.  Clint uses ashisms
which don't work in ash in all his #!/bin/sh scripts.  Apparently, now,
neither shell can be used as /bin/sh.  Both file bugs, and are told to
fuck off.  Everybody wins.

 Sure, and you can do that with ash already, which is 82kB compared to
 394kB for zsh. You can't do it incredibly reliably because scripts are
 allowed to randomly use bash wherever they want to.

Occasionally, citizens of certain countries 

Re: RFD: Essential packages, /, and /usr

2002-06-20 Thread Herbert Xu
On Thu, Jun 20, 2002 at 08:24:21AM -0400, Clint Adams wrote:
  Are you referring to the extra new line that ash outputs after an alias?
  If so that is indeed incorrect and will be fixed.
 
 I also interpret the leading literal alias  to be incorrect.  It's
 less useful, at any rate.

In the case of command -v, the alias prefix is required.
-- 
Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmVHI~} [EMAIL PROTECTED]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-20 Thread Clint Adams
 In the case of command -v, the alias prefix is required.

Reference?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-20 Thread Herbert Xu
On Thu, Jun 20, 2002 at 11:32:34PM -0400, Clint Adams wrote:
  In the case of command -v, the alias prefix is required.
 
 Reference?

9989  * An alias shall be written as a 
command line that represents its alias definition.
-- 
Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmVHI~} [EMAIL PROTECTED]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-19 Thread Herbert Xu
On Tue, Jun 18, 2002 at 03:56:12AM -0400, Clint Adams wrote:
 
 I'd be happy with SUSv3, UP relevant to non-interactive use, and the
 appropriate subset of XSI.  Of course, you realize that this reverses
 the 'echo -n' exception and that people will cry.

I have nothing against keeping the echo -n clause.

 The other problem, then, is that we will have a situation wherein no shell
 in Debian would be suitable as /bin/sh (unless I'm assuming incorrectly
 about pdksh).

Please be more specific.
-- 
Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmVHI~} [EMAIL PROTECTED]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-19 Thread Herbert Xu
Clint Adams [EMAIL PROTECTED] wrote:

 Apparently due to sleep-deprivation, I confused Herbert's assertion with
 fact.  It's set -h that's forbidden.  Debian does not need XSI for set -e.

I appologise for this incorrect assertion.  I had misread the canonical
form of set.  set -e is indeed specified by POSIX.

However, I still maintain that XSI extensions should be specified when it
comes to Debian's /bin/sh:

1. All the existing shells are already compliant AFAIK.
2. There are some features which are regularly used in maintainer
and other scripts which depend on them, e.g.,
the options -a and -o, as well as parentheses for the
test command or [.
the obsolescent forms of kill and trap: kill -INT or kill -9.
-- 
Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmVHI~} [EMAIL PROTECTED]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-19 Thread Herbert Xu
On Wed, Jun 19, 2002 at 02:00:36AM -0400, Clint Adams wrote:
  Please be more specific.
 
 ash:
 
 does not handle multiple heredocs

Thanks, this will be fixed.

 read-write fd's do not behave usefully[1]

Not specified by POSIX.

 treats $10 as ${1}0

Forbidden by POSIX:

1358   interpreted as a decimal value, even if there is a leading ze
ro. When a positional parameter with
1359   more than one digit is specified, the application shall enclo
se the digits in braces (see Section
1360   2.6.2 (on page 2239)).

 does not support cd -L
 does not support cd -P

It's on my todo list.

 echo -n

Required by the current Debian Policy.  Trivial to change should we
ever head in that direction.

 incorrect output for command -v

The exact output of command -v is not given by POSIX.

 incorrect output for alias

More details please.
-- 
Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmVHI~} [EMAIL PROTECTED]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-19 Thread Clint Adams
 2. There are some features which are regularly used in maintainer
 and other scripts which depend on them, e.g.,
   the options -a and -o, as well as parentheses for the
   test command or [.
   the obsolescent forms of kill and trap: kill -INT or kill -9.

I've already filed some bugs on 'trap'-misusing packages.
test -a, -o, and parentheses could easily be replaced by and-or listse


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-19 Thread Herbert Xu
On Wed, Jun 19, 2002 at 02:26:35AM -0400, Clint Adams wrote:
 
 I've already filed some bugs on 'trap'-misusing packages.
 test -a, -o, and parentheses could easily be replaced by and-or listse

Sure, so could command -v.  The problem is with the amount of scripts
that use them.
-- 
Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmVHI~} [EMAIL PROTECTED]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-19 Thread Clint Adams
 Forbidden by POSIX:

I see.  I'll correct the test.

 The exact output of command -v is not given by POSIX.

I believe it says

When the -v option is specified, standard output shall be formatted as:

%s\n, pathname or command

Am I looking in the wrong place?

 More details please.

%s=%s\n, name, value


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-19 Thread Clint Adams
 I'm surprised by how many package scripts use kill, but the number is
 not excessive.

On the other hand, no one seems to want to fix these.  Instead of a
one-line fix, histrionics, bug-closings, and references to Solaris seem
to be in order.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-19 Thread Anthony Towns
On Wed, Jun 19, 2002 at 05:20:19AM -0400, Clint Adams wrote:
  I'm surprised by how many package scripts use kill, but the number is
  not excessive.
 On the other hand, no one seems to want to fix these.  

Imagine, people actually wanting a justification beyond random document
X says so for bugs filed at a serious severity.

 Instead of a
 one-line fix, histrionics, bug-closings, and references to Solaris seem
 to be in order.

See, this would be an example of using policy as a stick to beat people
with. That some document somewhere -- be it POSIX, SUS, the LSB spec, or
debian-policy -- says you should do something one way means *absolutely
nothing*. The *only* reason to do things one way instead of another is
because doing them that way is *more effective*.

debian-policy is *only* useful in that almost all of its comments are
time-tested instructions on how to do things in the most effective way.

If you really want a document that says what features of the shell we
rely on, that's fine: write one. Base it on SUS, or POSIX as necessary,
but don't pretend POSIX or SUS is correct as it stands, least of all
when you find evidence that *directly contradicts* such an assumption.

Perhaps policy isn't a stick isn't the best way of phrasing these
things, maybe a better way of phrasing it is policy isn't the law. Every
time we find a contradiction between what we think is the right way of
doing things and what policy, POSIX, or whatever says, policy should be
put on trial just as much as any given developer.

Surely we're all here looking for the *right* way to do things, not
merely the documented way.

Cheers,
aj, getting sick of regretting anew the link between policy and
release-criticalness everytime there's any sort of thread on -policy

-- 
Anthony Towns [EMAIL PROTECTED] http://azure.humbug.org.au/~aj/
I don't speak for anyone save myself. GPG signed mail preferred.

 ``BAM! Science triumphs again!'' 
-- http://www.angryflower.com/vegeta.gif


pgpf27aWzNWPw.pgp
Description: PGP signature


Re: RFD: Essential packages, /, and /usr

2002-06-19 Thread Clint Adams
 Imagine, people actually wanting a justification beyond random document
 X says so for bugs filed at a serious severity.

How about I litter all my #!/bin/sh postinsts with useless zshisms?
Then when people file bugs, I say Haha, fuck you; it works for me.

 debian-policy -- says you should do something one way means *absolutely
 nothing*. The *only* reason to do things one way instead of another is
 because doing them that way is *more effective*.

I see.  You don't see adhering to standards as being effective.
Let's see.

Scenario A: Anthony Towns puts kill -s KILL $pid in preinst of
netkit-inetd.  Script works on all POSIX-compliant shells.

Scenario B: Anthony Towns puts kill -9 $pid in preinst of netkit-inetd.
Script BREAKS on some POSIX-compliant shells.

Why is one choice not obviously preferable to the other?

 debian-policy is *only* useful in that almost all of its comments are
 time-tested instructions on how to do things in the most effective way.

No.  That would be a best practices document.  Policy is useful in that
it ensures consistency and interoperability.  Or are you suggesting that
the policy document is really just a shadow of some real policy that
exists only in the minds of the developers?

 If you really want a document that says what features of the shell we
 rely on, that's fine: write one. Base it on SUS, or POSIX as necessary,
 but don't pretend POSIX or SUS is correct as it stands, least of all
 when you find evidence that *directly contradicts* such an assumption.

The only evidence I see that directly contradicts such an assumption is
the dearth of shell features mandated.

 Perhaps policy isn't a stick isn't the best way of phrasing these
 things, maybe a better way of phrasing it is policy isn't the law. Every
 time we find a contradiction between what we think is the right way of
 doing things and what policy, POSIX, or whatever says, policy should be
 put on trial just as much as any given developer.

Fine.  That doesn't mean you should go around pretending that there's
an exemption for 'kill -9' in Policy.

 Surely we're all here looking for the *right* way to do things, not
 merely the documented way.

Of course.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-19 Thread Anthony Towns
On Wed, Jun 19, 2002 at 07:59:33AM -0400, Clint Adams wrote:
  Imagine, people actually wanting a justification beyond random document
  X says so for bugs filed at a serious severity.
 How about I litter all my #!/bin/sh postinsts with useless zshisms?

How about we add I'm not such an idiot to break my packages just because
I get in an argument with aj? to the new-maintainer PP check?

 Scenario A: Anthony Towns puts kill -s KILL $pid in preinst of
 netkit-inetd.  Script works on all POSIX-compliant shells.
 
 Scenario B: Anthony Towns puts kill -9 $pid in preinst of netkit-inetd.
 Script BREAKS on some POSIX-compliant shells.

Scenario A: Script works on bash and ash, which are the two main shells anyone
has a reason to use as /bin/sh on Debian.

Scenario B: Script works on bash and ash, which are the two main shells anyone
has a reason to use as /bin/sh on Debian.

 Why is one choice not obviously preferable to the other?

Because you're biasses don't happen to be mine.

It happens to be a lot of work to make something comply with the letter of
POSIX's minimal specification for /bin/sh, especially since it seems to
be intent on becoming more minimal as time passes, and since it doesn't
seem to worry itself too much with existing BSD or Linux systems.

It's also a lot of work to do heaps of other useful things in Debian: make
it release faster, improve it's security, have all the neat new GUI apps
get a similar degree of reliability as our server programs tend to have,
and a bunch of other things. I can see obvious benefits from the latter,
I can't see *any* benefits from being as obsessive as you're being with
the former.

Well, no, that's not really true. I don't mind having random scripts
work on random other Unices, that's neat. And I wouldn't overly mind if
you'd taken the time to do a little polite write up of why kill -9
isn't something we should do, post it to -devel along with citations
people can easily check to the appropriate standards, and then file
minor or wishlist bugs about it.

Because, to be blunt, there are a million things that're a million
times more important than whether you can use something other than bash
as /bin/sh.

  debian-policy is *only* useful in that almost all of its comments are
  time-tested instructions on how to do things in the most effective way.
 No.  That would be a best practices document.

Which is what policy is, if you ask me.

 Policy is useful in that it ensures consistency and interoperability.  

No, the professionalism and commitment to excellence of Debian maintainers
is what ensures that.

  If you really want a document that says what features of the shell we
  rely on, that's fine: write one. Base it on SUS, or POSIX as necessary,
  but don't pretend POSIX or SUS is correct as it stands, least of all
  when you find evidence that *directly contradicts* such an assumption.
 The only evidence I see that directly contradicts such an assumption is
 the dearth of shell features mandated.

Perhaps you should look again at all the packages you've been filing bugs
against. If you make /bin/sh something else, and lots of stuff breaks,
that's evidence that you're missing a needed feature.

You do realise we use policy as an aid to developing a distribution,
not develop a distribution as an aid to writing policy, right?

  Perhaps policy isn't a stick isn't the best way of phrasing these
  things, maybe a better way of phrasing it is policy isn't the law. Every
  time we find a contradiction between what we think is the right way of
  doing things and what policy, POSIX, or whatever says, policy should be
  put on trial just as much as any given developer.
 Fine.  That doesn't mean you should go around pretending that there's
 an exemption for 'kill -9' in Policy.

That's nice. In future, before filing bugs against a bunch of packages
for something you think's a policy violation, gain a consensus on -devel
about it first. It's a simple rule, and it prevents a lot of annoyance.

You'd think the people who insist on rules being followed to the letter
would bother to read and follow them themselves, no?

Cheers,
aj

-- 
Anthony Towns [EMAIL PROTECTED] http://azure.humbug.org.au/~aj/
I don't speak for anyone save myself. GPG signed mail preferred.

 ``BAM! Science triumphs again!'' 
-- http://www.angryflower.com/vegeta.gif


pgpQoKxZNQ1aC.pgp
Description: PGP signature


Re: RFD: Essential packages, /, and /usr

2002-06-19 Thread Clint Adams
 Scenario A: Script works on bash and ash, which are the two main shells anyone
 has a reason to use as /bin/sh on Debian.
 
 Scenario B: Script works on bash and ash, which are the two main shells anyone
 has a reason to use as /bin/sh on Debian.

Why on earth should this be so?  Is saying The standard shell
interpreter `/bin/sh' can be a symbolic link to any POSIX compatible shell,
if `echo -n' does not generate a newline. yet another of Policy's
arrogant lies?

How are users to know that this is a farce?  It's only a farce, mind
you, because of people who think compliance is a bore.

When I joined Debian, bash was the only choice for /bin/sh.  Back then,
one would have said, Script works on bash, which is the only shell
anyone as a reason to use as /bin/sh on Debian, and we don't support
anything else.

Now, those poor people who read Policy or debconf messages might come to
the silly conclusion that they could make pdksh or zsh their /bin/sh.
Or perhaps they will obtain a copy of ksh93 and make that their /bin/sh.
Perhaps that are even forced to do that to support some horribly-behaved
commercial software.

Some developers want our users to have this choice.  Others don't have
this as a priority.

 It happens to be a lot of work to make something comply with the letter of
 POSIX's minimal specification for /bin/sh, especially since it seems to

Then you'll appreciate that I did the work for you and gave you a
POSIX-compliant alternative in the bug report.

 be intent on becoming more minimal as time passes, and since it doesn't
 seem to worry itself too much with existing BSD or Linux systems.

I don't get that impression.  POSIX actually seems to be improving with
time.

 It's also a lot of work to do heaps of other useful things in Debian: make
 it release faster, improve it's security, have all the neat new GUI apps
 get a similar degree of reliability as our server programs tend to have,

I'm sorry; is woody not released because I'm not spending my time
working on GUI apps?

 and a bunch of other things. I can see obvious benefits from the latter,
 I can't see *any* benefits from being as obsessive as you're being with
 the former.

Mind-boggling, that.

 Well, no, that's not really true. I don't mind having random scripts
 work on random other Unices, that's neat. And I wouldn't overly mind if
 you'd taken the time to do a little polite write up of why kill -9
 isn't something we should do, post it to -devel along with citations
 people can easily check to the appropriate standards, and then file
 minor or wishlist bugs about it.

Why do you think the bug severity levels are lies too?  It violates a
must directive.  If you really believe that the 'must' is a typo, why
don't you reopen the bug and reassign it to debian-policy where that
typo can be corrected?

 Because, to be blunt, there are a million things that're a million
 times more important than whether you can use something other than bash
 as /bin/sh.

No, it's the absolute most important thing in the two universes.  Have you
ever had need to put Debian on a small amount of flash, and wanted to be
as space-efficient as possible?  If you have only packages that use
#!/bin/sh scripts, you can get rid of the Essential bash, and save over
400K.  If you have inside knowledge that these scripts have ashisms, you
can avoid the headaches which would plague you had you believed Debian's
policy document.

 Which is what policy is, if you ask me.

This is also probably why you think violations of 'must' directives
should get priority 'wishlist' bugs.

 No, the professionalism and commitment to excellence of Debian maintainers
 is what ensures that.

Well, since we can't get that, perhaps we should set some sort of
policy.

 Perhaps you should look again at all the packages you've been filing bugs
 against. If you make /bin/sh something else, and lots of stuff breaks,
 that's evidence that you're missing a needed feature.

No, it's evidence that stuff isn't POSIX-compliant like it claims to be.

A feature is needed just because someone uses it?  kill -9 is needed
because you don't want to type -s ?

 That's nice. In future, before filing bugs against a bunch of packages
 for something you think's a policy violation, gain a consensus on -devel
 about it first. It's a simple rule, and it prevents a lot of annoyance.

I think that you're the only one who has bothered to claim that it's not
a policy violation to violate policy.

 You'd think the people who insist on rules being followed to the letter
 would bother to read and follow them themselves, no?

Manoj told me to file bugs; I didn't get the impression that he thought
must was a typo.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Steve == Steve Greenland [EMAIL PROTECTED] writes:
 Steve I wasn't discussing any particular command, and Manoj didn't
 Steve mention the FHS. I think if we (Debian) said Early running
 Steve init scripts can count on the FHS required commands being in
 Steve /bin:/sbin, and anything else might be in /usr/bin:/usr/sbin,
 Steve then Branden and I would be satisfied: at least we would know
 Steve where we stand. Manoj and Anthony have argued (to my
 Steve understanding) that the current situation of Early running
 Steve init scripts can on on whatever the maintainers feel like
 Steve putting in /bin:/sbin is acceptable. To me, it seems sloppy.


Since when have we stopped depending on the competence and
 common sense of our fellow developers, and ossifying into a
 bureaucracy limited by, and drawing its power from, words writ in
 stone? Branden, of all people, is a strange bed fellow for such
 arguments. 

Are we not all agreed that additions to / need be made with a
 great deal of thought and care, and perhaps we can expect our fellow
 developers to exercise a modicum of care?

manoj
-- 
 A beginning is the time for taking the most delicate care that
 balances are correct. Princess Irulan, Manual of Maud'Dib
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Moshe == Moshe Zadka [EMAIL PROTECTED] writes:

 Moshe I may be just stupid,

;-)

 Moshe but what does /usrness[1] have to do with embedded systems?
 Moshe After all, if the embedded system has no disk space for (say)

If you disallow things like this by axiom, you can prove
 whatever you wish to.

 Moshe X, it has no space for X on either / or /usr. Or is it a
 Moshe common case in embedded systems to mount /usr/ on a much
 Moshe larger medium?

Consider the ipaq: smallish built in ram, has expansion packs
 to add /usr on.

 Moshe The embedded systems argument sounds *extremely* relevant
 Moshe for Essentiality (we've talked about this), but completely
 Moshe *irrelevant* for /usrness?

I think not. Just because it is an embedded system does not
 preclude extensibility.

Adding unnecessary limitations to what you imagine merely
 limits what you can do. 

manoj
-- 
 If you can't be good, be careful.  If you can't be careful, give me a
 call.
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Steve == Steve Greenland [EMAIL PROTECTED] writes:

 Steve On 16-Jun-02, 22:04 (CDT), Manoj Srivastava [EMAIL PROTECTED] wrote: 
  Having an explicit, separate documentation of technical things
  that has to be maintained, or else it slips out of synchronization
  with reality, is certainly not to be preferred to haveing a
  deterministic way of inferring such information.

 Steve But it's not a reliable prediction. It's simply a repoort on
 Steve the present situation. There's nothing to prevent things from
 Steve being moved out of /bin (except those subject to the
 Steve FHS).

Except to break compatibility, and to change a public
 interface to the system.  Such changes are never made lightly, and if
 it is expected that debian developers exercise such piss poor
 judgment we may as well give up and migrate to another OS.

 Steve  Additionally, a list of these tools are guaranteed to
 Steve be available before /usr is mounted is not the same as a list
 Steve of these are the tools from Essential packages that are in
 Steve /bin:/sbin, and need not be particularly fluid.

I fail to see a technical reason behind this statement of
 opinion.  Any canonical list would require maintainence and perhaps
 central control, I see no reason why such ossification gains us
 anything. 

If I have an early running package, I look at what I need in
 /bin and /sbin; and depend on the non-essential packages providing
 the tools. I also trust, and depend on, the competence of my felloow
 developers not to move things out.

 Steve Because it's not reliable. At least some portion of it is
 Steve subject to the random whims of the package maintainers (or,
 Steve far more likely, the random whims of bug reporters and a
 Steve package maintainer who is (understandably) unaware that a few
 Steve of Debian's umpteen thousand packages rely on that particular
 Steve binary being in /bin).

If we have become the cess pit of such incompetence, we may as
 well give up, and no set of rules would stave off the mould and decay
 that shall inhabit the misasma that the OS  would have become.

manoj
-- 
 You can't get very far in this world without your dossier being
 there first. Arthur Miller
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
 I do not see why we should use which.  As I have stated previously, we
 already require feature sets (set -e in particular) in the new POSIX
 document which imply the existence of type(1).  So type should be

Can we codify this better?

 the preferred utility for this task.  Besides, as an external utility,
 which(1) does not know about shell builtins, which is actually bad.

This depends on the user's perspective.  I can't imagine ever wanting to
do anything other than 'test -x /absolute/path' in a postinst.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Branden Robinson
On Tue, Jun 18, 2002 at 01:00:25AM -0400, Clint Adams wrote:
 This depends on the user's perspective.  I can't imagine ever wanting to
 do anything other than 'test -x /absolute/path' in a postinst.

I can.  I just want to know if the command is available for my script to
use; I don't care about the latest flamewar that moved it in or out of
/usr or */sbin.

-- 
G. Branden Robinson|  Mob rule isn't any prettier just
Debian GNU/Linux   |  because you call your mob a
[EMAIL PROTECTED] |  government.
http://people.debian.org/~branden/ |


pgpXl4ubDG2uE.pgp
Description: PGP signature


Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Herbert Xu
On Tue, Jun 18, 2002 at 01:00:25AM -0400, Clint Adams wrote:
  I do not see why we should use which.  As I have stated previously, we
  already require feature sets (set -e in particular) in the new POSIX
  document which imply the existence of type(1).  So type should be
 
 Can we codify this better?

Certainly,

SUSv3

+

XSI (needed for set -e and other features)

The latter specifies type.

I would also support the addition of UP since all the POSIX shells in
Debian support it with the exception of ash which does not currently
support history.  Since history support is unlikely to affect scripting,
it would be acceptable for us to specify UP as well as XSI.
-- 
Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmVHI~} [EMAIL PROTECTED]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Clint == Clint Adams [EMAIL PROTECTED] writes:

  I do not see why we should use which.  As I have stated previously, we
  already require feature sets (set -e in particular) in the new POSIX
  document which imply the existence of type(1).  So type should be

 Clint Can we codify this better?

Codify what, please? I personally use which, since it is
 provided by am essential package, and I can live with it eing an
 external program, and missing aliases. People can also use POSIX type
 (umm, does zsh have type?). Why does this have to be codified? When
 do we want to stop codifying every little thing? 


 Clint This depends on the user's perspective.  I can't imagine ever
 Clint wanting to do anything other than 'test -x /absolute/path' in
 Clint a postinst.


I would possibly classify hard coded paths a bug in the
 package, since I may well be experimenting with PATH's. But hard
 coding paths is just asking for breakage, in case the FHS or the LSB
 or someone decrees the binary move. Since there is no need for such
 hard coded paths, doing so is bad design.

manoj
-- 
 What is wanted is not the will to believe, but the will to find out,
 which is the exact opposite. Bertrand Russell, Skeptical Essays,
 1928
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
 I can.  I just want to know if the command is available for my script to
 use; I don't care about the latest flamewar that moved it in or out of
 /usr or */sbin.

You are searching for a particular word, and that word may represent
a binary/script, a shell function, a shell alias, a shell builtin.
There may be many of the aforementioned things with the same name.
No mechanism exists to determine whether or not these things perform
similar actions or have similar interfaces.

Let's say that I want to run deathrampage in my postinst.  deathrampage
is a binary in a package of the same name, and this is the deathrampage
that I wish to have executed.  There are many ways for me to check for it:

(A) deathrampage || echo uh-oh, continuing without it

Advantages: portable
Disadvantages: requires running the program in question

(B) test -x /usr/sbin/deathrampage  /usr/sbin/deathrampage

Advantages: portable, will not execute the wrong deathrampage unless
  someone has placed an impostor in /usr/sbin
Disadvantages: will fail silently if deathrampage is moved to /usr/bin

(C) multiple tests, or loop of tests

Advantages: portable, will handle multiple finite locations
Disadvantages: will fail silently if deathrampage is moved beyond the
  finite list of locations

(D) command -v deathrampage 2/dev/null  deathrampage
 OR type deathrampage 2/dev/null  deathrampage

Advantages: will find and execute deathrampage anywhere
Disadvantages: will find and execute deathrampage anywhere, no matter if
  it is an alias to 'rm -rf /', a shell function that initiates
  immediate reboot, or some other bizarre and unexpected thing.  Not
  POSIX-compliant.

(E) which deathrampage 2/dev/null  command deathrampage

Advantages: will find and execute deathrampage on the command search path.
Disadvantages: not standardized at all.  builtin which's will not
  likely have the same interface.

(F) /usr/bin/which deathrampage 2/dev/null  command deathrampage

Advantages: will find and execute deathrampage on the command search path.
Disadvantages: requires faith in /usr/bin/which not moving or changing

(G) dpkg -S deathrampage  some other stuff

Advantages: will only find deathrampages tracked by the Debian packaging
  system.
Disadvantages: slow and cumbersome

(H) #!/bin/specific shell, and use known whence, which, type commands

Advantages: no portability problems, and you might get exactly what you
  want
Disadvantages: annoying to users everywhere

(I) invent a Debian-specific solution to this problem

Advantages: less confusion
Disadvantages: requires cognition, and people seem to feel differently
  about whether or not they want random shell aliases, functions, and
  binaries in /usr/local being executed by package scripts.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
 I would also support the addition of UP since all the POSIX shells in
 Debian support it with the exception of ash which does not currently
 support history.  Since history support is unlikely to affect scripting,
 it would be acceptable for us to specify UP as well as XSI.

I'd be happy with SUSv3, UP relevant to non-interactive use, and the
appropriate subset of XSI.  Of course, you realize that this reverses
the 'echo -n' exception and that people will cry.

The other problem, then, is that we will have a situation wherein no shell
in Debian would be suitable as /bin/sh (unless I'm assuming incorrectly
about pdksh).


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Richard Braakman
On Tue, Jun 18, 2002 at 03:50:23AM -0400, Clint Adams wrote:
 (F) /usr/bin/which deathrampage 2/dev/null  command deathrampage
 
 Advantages: will find and execute deathrampage on the command search path.
 Disadvantages: requires faith in /usr/bin/which not moving or changing
 
 (H) #!/bin/specific shell, and use known whence, which, type commands
 
 Advantages: no portability problems, and you might get exactly what you
   want
 Disadvantages: annoying to users everywhere

Since /usr/bin/which is a /bin/bash script, it shares the disadvantage
of (H).  More so, because now you're running *two* shells whereas a 
#!/bin/bash script would only need one :)

The irony is that the only reason to use which is to accomodate speed
freaks who want to be able to use non-bash shells.  Now they get hit
by the bash startup time anyway.  And those same speed freaks are
likely to be using ash, which has both type and command -v. 

I once again recommend a deathmatch between ash and zsh fans.  Let
the best shell win.

Richard Braakman


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
   Codify what, please? I personally use which, since it is
  provided by am essential package, and I can live with it eing an
  external program, and missing aliases. People can also use POSIX type

You don't have that with zsh, since which is a builtin.

  (umm, does zsh have type?). Why does this have to be codified? When

zsh has type as a builtin, though it isn't POSIX either.

  do we want to stop codifying every little thing? 

When there are no more problems?  There are numerous #!/bin/sh scripts
in Debian that are not POSIX-compliant.  One might get the idea, if one
were to read Debian's policy documents, that these scripts violate
Policy.  One might also get the idea, if one were to read the same
section, that one could install a POSIX-compliant shell as /bin/sh on
one's Debian system, and that one would experience no difficulties in
doing so.  Of course, this is a fallacy.

What is the common sense thing to do?  I would say that it's to have
bash as /bin/sh, since that's what most maintainers are using, and
that's what's most likely to work with the most scripts.

I, on the other hand, would rather have ash as /bin/sh.  What makes this
possible?  That policy has codified the requirement for /bin/sh scripts
to be POSIX-compliant, and ash, for the most part, does a good job
executing POSIX-compliant scripts.  If this were not codified, and we
were still living in the dark ages when someone would be lynched for
using ash as /bin/sh and having the gall to expect sympathy, then well,
lynching would be the least of problems.

   I would possibly classify hard coded paths a bug in the
  package, since I may well be experimenting with PATH's. But hard
  coding paths is just asking for breakage, in case the FHS or the LSB
  or someone decrees the binary move. Since there is no need for such
  hard coded paths, doing so is bad design.

And not doing so invites unexpected behaviors.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
 The irony is that the only reason to use which is to accomodate speed
 freaks who want to be able to use non-bash shells.  Now they get hit
 by the bash startup time anyway.  And those same speed freaks are
 likely to be using ash, which has both type and command -v. 

I believe that Herbert's proposal solves this.

 I once again recommend a deathmatch between ash and zsh fans.  Let
 the best shell win.

bash doesn't even get to compete?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Clint == Clint Adams [EMAIL PROTECTED] writes:

 Clint (A) deathrampage || echo uh-oh, continuing without it

 Clint Advantages: portable
 Clint Disadvantages: requires running the program in question

But if you doi want to run it, this is it,, end of story. So,
 now for when we want to merely test for presence.


 Clint (B) test -x /usr/sbin/deathrampage  /usr/sbin/deathrampage

 Clint Advantages: portable, will not execute the wrong deathrampage unless
 Clint   someone has placed an impostor in /usr/sbin
 Clint Disadvantages: will fail silently if deathrampage is moved to /usr/bin

Disadvantage: prevents the local sysadmin from using the
 common UNIX practice of modifying the environment by rearrranging the
 path, is not needed anyway since A would have worked, redundant.


 Clint (C) multiple tests, or loop of tests

 Clint Advantages: portable, will handle multiple finite locations
 Clint Disadvantages: will fail silently if deathrampage is moved beyond the
 Clint   finite list of locations

Also silly, since A would work.

 Clint (D) command -v deathrampage 2/dev/null  deathrampage
 Clint  OR type deathrampage 2/dev/null  deathrampage

 Clint Advantages: will find and execute deathrampage anywhere
 Clint Disadvantages: will find and execute deathrampage anywhere, no matter if
 Clint   it is an alias to 'rm -rf /', a shell function that
 Clint   initiates immediate reboot, or some other bizarre and
 Clint   unexpected thing.  Not POSIX-compliant.

So what? Who the hell is the postinst to tell me what I should
 or should not be doing with my machine? When I change the command on
 my machines, by gar, stupid postsinst should follow suit. Where does
 this overweening sense of the postinst always being right, the human
 who has changed the environment always is wrong coming from? This is
 certainly not the UNIX philosophy. 

Silly, since A would have worked.

 Clint (E) which deathrampage 2/dev/null  command deathrampage

 Clint Advantages: will find and execute deathrampage on the command
 Clint search path. 
 Clint Disadvantages: not standardized at all.  builtin which's will not
 Clint likely have the same interface.

Silly, since A is the correct answer, but what the heck do you
 mean it is not standardized?  POSIX is a standard, you know, and it
 has indeed standardized this. 

If we do not need to run the command, this is the
 answer. which is provided by an essential package. which has a well
 known standard behaviour.

If builtin which does not follow POSIX, file a bug.

 Clint (F) /usr/bin/which deathrampage 2/dev/null  command deathrampage

 Clint Advantages: will find and execute deathrampage on the command
 Clint search path.  Disadvantages: requires faith in /usr/bin/which
 Clint not moving or changing

Silly, since either A or E would do the trick.

 Clint (G) dpkg -S deathrampage  some other stuff

 Clint Advantages: will only find deathrampages tracked by the Debian
 Clint packaging   system.
 Clint Disadvantages: slow and cumbersome

This is not just silly, this is moronic, and wrong.

 Clint (H) #!/bin/specific shell, and use known whence, whwich, type
 Clint #commands

 Clint Advantages: no portability problems, and you might get exactly
 Clint what youwant
 Clint Disadvantages: annoying to users everywhere


SIlly, since A or  would work.

 Clint (I) invent a Debian-specific solution to this problem

 Clint Advantages: less confusion
 Clint Disadvantages: requires cognition, and people seem to feel differently
 Clint   about whether or not they want random shell aliases, functions, and
 Clint   binaries in /usr/local being executed by package scripts.


Oh yeah, the Not Invented Here syndrome. POSIX exists, and
 works for everyone else except Debian.

Can we please take this silly thread off policy now? 

manoj
-- 
 Perhaps the best way to characterize the relationship between DNA and
 meaning is to say that DNA is the source of meaning.  It takes
 information about the environment and turns it into behaviour - thus
 realizing meaning in the pragmatic sense of the word.  DNA is the
 place where the two sides of meaning meet, the place where reports
 become instructions.  DNA is thus what first gave meaning to life;
 or, perhaps, what first created meaning, and therefore life, or what
 first created life, and therefore meaning.  In any event, it is very
 impressive stuff. Robert Wright, Three Scientists and Their Gods
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
   But if you doi want to run it, this is it,, end of story. So,
  now for when we want to merely test for presence.

Perhaps if you want to test for multiple commands before executing them?

   So what? Who the hell is the postinst to tell me what I should
  or should not be doing with my machine? When I change the command on

Apparently if you have zsh as /bin/sh and try to install xdm, the
postinst will happily tell you what version of debianutils to install to
get readlink.

  my machines, by gar, stupid postsinst should follow suit. Where does
  this overweening sense of the postinst always being right, the human
  who has changed the environment always is wrong coming from? This is
  certainly not the UNIX philosophy. 

If you wanted to replace the update-menus command, you would have much
more success by dpkg-diverting it rather than putting your replacement
in /usr/local/bin.

I don't believe anything guarantees that the latter will work, whereas
the former is a good bet.

   Silly, since A is the correct answer, but what the heck do you
  mean it is not standardized?  POSIX is a standard, you know, and it
  has indeed standardized this. 

It has not.  The closest POSIX comes to which is to mention that it came
from csh.

   If we do not need to run the command, this is the
  answer. which is provided by an essential package. which has a well
  known standard behaviour.

Does it?  Last I checked the manpage did not accurately reflect the
actual behavior.
 
   If builtin which does not follow POSIX, file a bug.

First you'll need to get it into POSIX.


   Silly, since either A or E would do the trick.

For all Bournish shells in Debian of which I am aware, yes.

   Oh yeah, the Not Invented Here syndrome. POSIX exists, and
  works for everyone else except Debian.

Branden, for example, does not appear to be pleased with the options
POSIX provides him.

   Can we please take this silly thread off policy now? 

I imagine that amending policy would help that end.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Clint == Clint Adams [EMAIL PROTECTED] writes:

  Codify what, please? I personally use which, since it is
  provided by am essential package, and I can live with it eing an
  external program, and missing aliases. People can also use POSIX type

 Clint You don't have that with zsh, since which is a builtin.


I don't have what? which is present, either as a builtin, or
 provided by an essential package. What exactly do I not have?

  (umm, does zsh have type?). Why does this have to be codified? When

 Clint zsh has type as a builtin, though it isn't POSIX either.

Oh? How is it not POSIX? 

  do we want to stop codifying every little thing? 

 Clint When there are no more problems?

Then we should stop right here, since that is an impossible goal.

 Clint There are numerous #!/bin/sh scripts in Debian that are not
 Clint POSIX-compliant.  One might get the idea, if one were to read
 Clint Debian's policy documents, that these scripts violate Policy.

Yes. File bugs. 

 Clint One might also get the idea, if one were to read the same
 Clint section, that one could install a POSIX-compliant shell as
 Clint /bin/sh on one's Debian system, and that one would experience
 Clint no difficulties in doing so.  Of course, this is a fallacy.

File bugs. fix things. More documents saying this is wrong
 does not fix any bugs. Policy already talks about POSIX /bin/sh, yet
 another document just adds to the ossification, and solves nothing.

 Clint And not doing so invites unexpected behaviors.

Yeah, lefe sucvks, doesn't it? And damn Heisenburg.

manoj
-- 
 You shouldn't make my toaster angry. Household security explained
 in Johnny Quest
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
   I don't have what? which is present, either as a builtin, or
  provided by an essential package. What exactly do I not have?

You don't have a standard interface.  Any POSIX-compliant shell could
easily implement a 'which' builtin that returns success no matter what.
This would not violate POSIX.  This would not violate Debian policy.
Some postinsts might stop working properly.  Common sense might save you
on this one.

   Oh? How is it not POSIX? 

type is X/Open.

   Then we should stop right here, since that is an impossible goal.

That doesn't necessarily follow.

   Yes. File bugs. 

It would be silly to mass-file bugs if there's going to be a
modification of policy in the near future.

   File bugs. fix things. More documents saying this is wrong
  does not fix any bugs. Policy already talks about POSIX /bin/sh, yet
  another document just adds to the ossification, and solves nothing.

You seem to be happily ignoring the fact that certain people object to
the dearth of features in POSIX sh.

   Yeah, lefe sucvks, doesn't it? And damn Heisenburg.

Lefe certainly does sucvk.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Clint == Clint Adams [EMAIL PROTECTED] writes:

  But if you doi want to run it, this is it,, end of story. So,
  now for when we want to merely test for presence.

 Clint Perhaps if you want to test for multiple commands before
 Clint executing them? 

Umm, say what? You mean you want to test for presence of
 multiple commands and execute one or more? (not something you covered
 origiannly, but in that case go to case H

  So what? Who the hell is the postinst to tell me what I should
  or should not be doing with my machine? When I change the command on

 Clint Apparently if you have zsh as /bin/sh and try to install xdm,
 Clint the postinst will happily tell you what version of debianutils
 Clint to install to get readlink.

And what is the root cause of this problem? Seems like this is
 a bug somewhere, and should be fixed. 

  my machines, by gar, stupid postsinst should follow suit. Where does
  this overweening sense of the postinst always being right, the human
  who has changed the environment always is wrong coming from? This is
  certainly not the UNIX philosophy. 

 Clint If you wanted to replace the update-menus command, you would have much
 Clint more success by dpkg-diverting it rather than putting your replacement
 Clint in /usr/local/bin.

Yes, if proposals like yours take effect. Stuff that has
 worked for 30 years in UNIX is just to be tossed aside. NIH.

 Clint I don't believe anything guarantees that the latter will work, whereas
 Clint the former is a good bet.

  Silly, since A is the correct answer, but what the heck do you
  mean it is not standardized?  POSIX is a standard, you know, and it
  has indeed standardized this. 

 Clint It has not.  The closest POSIX comes to which is to mention
 Clint that it came from csh.

Fair enough. It is an utility provided by an essential
 package, and has a man page. If that is not good enough, use
 type. Surely people can manage their packages without having
 everything in policy?

 Clint I imagine that amending policy would help that end.


I am not sure this is likely to happen. I certainly do not see
 a consensus emerging. You may have better luck getting it into the
 Best Practices book.

manoj
-- 
 I believe that if people would learn to use LSD's vision-inducing
 capability more wisely, under suitable conditions, in medical
 practice and in conjunction with meditation, then in the future this
 problem child could become a wonder child. Dr. Albert Hoffman, the
 discoverer of LSD
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
   Umm, say what? You mean you want to test for presence of
  multiple commands and execute one or more? (not something you covered
  origiannly, but in that case go to case H

I'm hypothesizing.  I can think of no real-world examples where I'd need
to do anything fancy here.

   And what is the root cause of this problem? Seems like this is
  a bug somewhere, and should be fixed. 

The root cause is POSIX-incompliance in the postinst.  'command -v', in
particular.

   Yes, if proposals like yours take effect. Stuff that has
  worked for 30 years in UNIX is just to be tossed aside. NIH.

No, not if.  Now.  Try it.  You'll get very inconsistent results.

   Fair enough. It is an utility provided by an essential
  package, and has a man page. If that is not good enough, use
  type. Surely people can manage their packages without having
  everything in policy?

If I am filing bugs against scripts that use 'command -v', I'm certainly
going to file bugs against those that use 'type'.

   I am not sure this is likely to happen. I certainly do not see
  a consensus emerging. You may have better luck getting it into the
  Best Practices book.

I have no interest in getting these extensions mandated.  I would prefer
that either the scripts or policy move toward the other.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Richard Braakman
On Tue, Jun 18, 2002 at 04:18:58AM -0400, Clint Adams wrote:
  I once again recommend a deathmatch between ash and zsh fans.  Let
  the best shell win.
 
 bash doesn't even get to compete?

bash is sitting contentedly in a corner, with a smug smile that says
I am the default /bin/sh and you know it. :-)

Richard Braakman


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Josip Rodin
On Tue, Jun 18, 2002 at 03:50:23AM -0400, Clint Adams wrote:
 (D) command -v deathrampage 2/dev/null  deathrampage
  OR type deathrampage 2/dev/null  deathrampage
 
 Advantages: will find and execute deathrampage anywhere
 Disadvantages: will find and execute deathrampage anywhere, no matter if
   it is an alias to 'rm -rf /', a shell function that initiates
   immediate reboot, or some other bizarre and unexpected thing.

How are we to prevent this anyway? Who says any of the other solutions can't
be botched like this?

-- 
 2. That which causes joy or happiness.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
 How are we to prevent this anyway? Who says any of the other solutions can't
 be botched like this?

The difference is that I, as a user, would never expect for a postinst
to look for something called deathrampage, and by extension, would never
expect for a postinst to suddenly be running the 'deathrampage' script I
put in /usr/local/bin for later carnage.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Josip Rodin
On Tue, Jun 18, 2002 at 06:02:08AM -0400, Clint Adams wrote:
  How are we to prevent this anyway? Who says any of the other solutions can't
  be botched like this?
 
 The difference is that I, as a user, would never expect for a postinst
 to look for something called deathrampage, and by extension, would never
 expect for a postinst to suddenly be running the 'deathrampage' script I
 put in /usr/local/bin for later carnage.

What if the user puts tripwire or some other nice English word in the
path, not knowing this is also a command in Debian? It's really hard to
account for any of these weird scenarios...

-- 
 2. That which causes joy or happiness.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Josip Rodin
On Tue, Jun 18, 2002 at 06:11:00AM -0400, Clint Adams wrote:
  What if the user puts tripwire or some other nice English word in the
  path, not knowing this is also a command in Debian? It's really hard to
  account for any of these weird scenarios...
 
 What if?  I also wouldn't expect, nor want, to have Debian package scripts
 trying to execute some random tripwire program.

Notice or some other nice English word... when the admin puts binaries in
a $PATH, they need to be aware of the consequences. If they put something in
a place where it can replace a Debian binary, how do we know it's
intentional or not? If we assume it's unintentional, our scripts need to
hardcode paths, which makes moving stuff tedious. If we assume it's
intentional, we risk admins having a taste of their own medicine. I'd pick
the former.

-- 
 2. That which causes joy or happiness.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Josip == Josip Rodin [EMAIL PROTECTED] writes:

 Josip What if the user puts tripwire or some other nice English word in the
 Josip path, not knowing this is also a command in Debian? It's really hard to
 Josip account for any of these weird scenarios...

If the user has put soemthing in ***ROOT's*** path, they
 deserve what hey get -- and they may actually want this to happen.

manoj
-- 
 Date: 19 Apr 90 17:18:27 GMT From: [EMAIL PROTECTED] (Randal
 Schwartz) print ('Just ','anoth','er Pe','rl ha','cker,')[0..4]
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Clint == Clint Adams [EMAIL PROTECTED] writes:

  I don't have what? which is present, either as a builtin, or
  provided by an essential package. What exactly do I not have?

 Clint You don't have a standard interface.  Any POSIX-compliant
 Clint shell could easily implement a 'which' builtin that returns
 Clint success no matter what.  This would not violate POSIX.  This
 Clint would not violate Debian policy.  Some postinsts might stop
 Clint working properly.  Common sense might save you on this one.

And heaven forbid we have any in Debian.

  Oh? How is it not POSIX? 

 Clint type is X/Open.

Is POSIX + extention. 

  Then we should stop right here, since that is an impossible goal.

 Clint That doesn't necessarily follow.

Yes, it does. There are never going to be no problems.

  Yes. File bugs. 

 Clint It would be silly to mass-file bugs if there's going to be a
 Clint modification of policy in the near future.

Unlikely. The best you'll get it POSIX+extention, and that
 still means command -v is a bashism.


  File bugs. fix things. More documents saying this is wrong
  does not fix any bugs. Policy already talks about POSIX /bin/sh, yet
  another document just adds to the ossification, and solves nothing.

 Clint You seem to be happily ignoring the fact that certain people object to
 Clint the dearth of features in POSIX sh.

I have no interest in what certain people find pleasing,
 unless these certain people are identified, and then only after
 consideration. 

manoj
-- 
 So many men, so many opinions; every one his own way. Publius
 Terentius Afer (Terence)
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Clint == Clint Adams [EMAIL PROTECTED] writes:

  How are we to prevent this anyway? Who says any of the other
  solutions can't be botched like this?

 Clint The difference is that I, as a user, would never expect for a
 Clint postinst to look for something called deathrampage, and by
 Clint extension, would never expect for a postinst to suddenly be
 Clint running the 'deathrampage' script I put in /usr/local/bin for
 Clint later carnage.


And I would prefer the command I prefer to be run, as decided
 by the path argument. When I put something that comes in root's path
 ahead of the standard path, it is thre for a reason, and I would be
 extremely irked by some script pretending to know better than I.

In other words, if the human has gone out of their way to put
 a command that precedes the default for root, they should get what
 they want. period.

manoj
-- 
 The only solution is ... a balance of power.  We arm our side with
 exactly that much more.  A balance of power -- the trickiest, most
 difficult, dirtiest game of them all.  But the only one that
 preserves both sides. Kirk, A Private Little War, stardate 4211.8
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Clint == Clint Adams [EMAIL PROTECTED] writes:

  What if the user puts tripwire or some other nice English word in the
  path, not knowing this is also a command in Debian? It's really hard to
  account for any of these weird scenarios...

 Clint What if?  I also wouldn't expect, nor want, to have Debian
 Clint package scripts trying to execute some random tripwire
 Clint program.

So why are you putting something in roots path ahead of the
 standard path unless you want it to be run?

 Clint I can only imagine the tripwire package running tripwire in its
 Clint postinst, and I should hope it knows the absolute path.

I think that is a bug.

manoj
-- 
 Q: What's the difference between a car salesman and a computer
 salesman?  A: The car salesman can probably drive!  Joan McGalliard
 ([EMAIL PROTECTED])
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
 Notice or some other nice English word... when the admin puts binaries in
 a $PATH, they need to be aware of the consequences. If they put something in
 a place where it can replace a Debian binary, how do we know it's

Why would someone, being told that '/usr/local is for the administrator;
Debian doesn't touch it' assume that package scripts will go around
running things in /usr/local?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
   Is POSIX + extention. 

How is this relevant?

   Yes, it does. There are never going to be no problems.

Oh, I see your logic.  Therefore, we should never solve any problems.

   Unlikely. The best you'll get it POSIX+extention, and that
  still means command -v is a bashism.

Depends on the extensions.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
   So why are you putting something in roots path ahead of the
  standard path unless you want it to be run?

Under what circumstances?  In which context?  root has different paths
at different times.

   I think that is a bug.

I think that is a feature.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Steve Greenland
On 17-Jun-02, 21:51 (CDT), Anthony Towns aj@azure.humbug.org.au wrote: 
 
 It seems sloppy is a pretty poor argument for moving every binary not
 specifically mentioned in the FHS into /usr and gratuitously breaking
 any scripts that needed them where they are.

Yes, that would be a pretty poor argument, if I had indeed suggested
doing that. But I didn't. I haven't made any suggestions about moving
anything. All I've suggested is that we list what early running code can
rely on, and a couple of different ways to get there.

 Are you sloppy when you exercise your judgement about your packages? Why
 would you expect everyone else to be?

I don't. However, we already have cases of specific developers being,
shall we say, difficult. Not sloppy, but having very strong opinions
about how a particular thing should be done, despite a large number of
other experienced developers disagreeing.

What is the purpose of Debian Policy? I always thought it was a way to
decide/document choices, when more than one choice was reasonable, and
when that choice affected other developers and our users. This subject
falls into that definition, in my opinion.

Steve

-- 
Steve Greenland

The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the
world.   -- seen on the net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Josip Rodin
On Tue, Jun 18, 2002 at 07:58:21AM -0400, Clint Adams wrote:
  Notice or some other nice English word... when the admin puts binaries in
  a $PATH, they need to be aware of the consequences. If they put something in
  a place where it can replace a Debian binary, how do we know it's
 
 Why would someone, being told that '/usr/local is for the administrator;
 Debian doesn't touch it' assume that package scripts will go around
 running things in /usr/local?

Doesn't touch doesn't imply that the software will be impossible to be run
by the system scripts...

-- 
 2. That which causes joy or happiness.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Anthony Towns
On Tue, Jun 18, 2002 at 07:58:21AM -0400, Clint Adams wrote:
  Notice or some other nice English word... when the admin puts binaries in
  a $PATH, they need to be aware of the consequences. If they put something in
  a place where it can replace a Debian binary, how do we know it's
 Why would someone, being told that '/usr/local is for the administrator;
 Debian doesn't touch it' assume that package scripts will go around
 running things in /usr/local?

Just because they've been told Debian won't put things in there, that
doesn't mean the things in there won't be run if they're in the PATH.

I don't think anyone would be surprised or dismayed for particularly long
at having, say, /usr/local/bin/dpkg executed instead of /usr/bin/dpkg if
/usr/local/bin happens to be earlier in their PATH. If, as a sysadmin, you
don't ever want that to happen, you should remove /usr/local/{bin,sbin}
(and /opt/bin and whatever else) from your PATH before running
dpkg. That's not overly onerous.

Cheers,
aj

-- 
Anthony Towns [EMAIL PROTECTED] http://azure.humbug.org.au/~aj/
I don't speak for anyone save myself. GPG signed mail preferred.

 ``BAM! Science triumphs again!'' 
-- http://www.angryflower.com/vegeta.gif


pgpBhpzaTtNCR.pgp
Description: PGP signature


Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Anthony Towns
On Tue, Jun 18, 2002 at 03:56:12AM -0400, Clint Adams wrote:
  I would also support the addition of UP since all the POSIX shells in
  Debian support it with the exception of ash which does not currently
  support history.  Since history support is unlikely to affect scripting,
  it would be acceptable for us to specify UP as well as XSI.
 I'd be happy with SUSv3, UP relevant to non-interactive use, and the
 appropriate subset of XSI.  Of course, you realize that this reverses
 the 'echo -n' exception and that [...]

...you therefore have to say SUSv3, UP-noninteractive, XSI-something,
and a BSD echo (ie, with a functioning -n).

There're probably other exceptions too. Compatability with what we're
distributing, compatability with other distributions, compatability
with other free Unices are all more important than blind adherance to
the standard du jour.

Cheers,
aj

-- 
Anthony Towns [EMAIL PROTECTED] http://azure.humbug.org.au/~aj/
I don't speak for anyone save myself. GPG signed mail preferred.

 ``BAM! Science triumphs again!'' 
-- http://www.angryflower.com/vegeta.gif


pgpDpz4GFr3Wh.pgp
Description: PGP signature


Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Scott Dier

Richard Braakman wrote:

The irony is that the only reason to use which is to accomodate speed
freaks who want to be able to use non-bash shells.  Now they get hit
Or wackos who code using tcsh. :) (yes, i know about the csh programming 
considered harmful.  I guess I'll just use perl instead.)


--
Scott Dier [EMAIL PROTECTED] http://www.ringworld.org/



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Clint == Clint Adams [EMAIL PROTECTED] writes:

 Clint Why would someone, being told that '/usr/local is for the
 Clint administrator; Debian doesn't touch it' assume that package
 Clint scripts will go around running things in /usr/local?

The scripts should not, and this is why hard codiong paths is
 a bug.

manoj
-- 
 Bushydo -- the way of the shrub.  Bonsai!
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Josip == Josip Rodin [EMAIL PROTECTED] writes:

 Josip Notice or some other nice English word... when the admin
 Josip puts binaries in a $PATH, they need to be aware of the
 Josip consequences. If they put something in a place where it can
 Josip replace a Debian binary, how do we know it's intentional or
 Josip not? If we assume it's unintentional, our scripts need to
 Josip hardcode paths, which makes moving stuff tedious. If we assume
 Josip it's intentional, we risk admins having a taste of their own
 Josip medicine. I'd pick the former.

You reversed the order from the sentence:
  how do we know it's intentional or not?
and the rest of the explanation, so it is hard to know which
 one option you prefer (at least, I am fairly unclear).

I, for one, prefer not to think of my admin as incompetent
 bozos, and I would prefer to give them the benefit of doubt, and
 assume they know the situation better than a script does.

I prefer to let the sysadmin be empowered to modify what
 happens on their machine the traditional UNIX way, by placing
 binaries in paths.

manoj
-- 
 SHOP OR DIE, people of Earth! [offer void where prohibited]
 Capitalists from outer space, from Justice League Int'l comics
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Clint == Clint Adams [EMAIL PROTECTED] writes:

  So why are you putting something in roots path ahead of the
  standard path unless you want it to be run?

 Clint Under what circumstances?  In which context?  root has different paths
 Clint at different times.


Are you being delibrately obtuse? Is this soem arcane
 debating ploy? Or have you suddenly developed amnesia and no longer
 remember the context this discussion is taking place in?

  I think that is a bug.

 Clint I think that is a feature.

I have shown in a companion message why this should be
 considered a bug.

manoj  
-- 
 If your lover doesn't like garlic, get a new lover. Jeff Smith, The
 Frugal Gourmet
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Clint == Clint Adams [EMAIL PROTECTED] writes:

  Is POSIX + extention. 
 Clint How is this relevant?

  Yes, it does. There are never going to be no problems.

 Clint Oh, I see your logic.  Therefore, we should never solve any problems.

Managing to rember context does not seem to be your strong
 point. If you recall (well, perhaps you can't), this particual
 exchange started when I asked how long should we keep ossifying
 ourselves by creating writs in stone, if there was an end criteria,
 and you are the one who came up with the pie in the sky ``when there
 are no problems''. 

Since you manage to forget context from message to message, I
 guess it makes a weird kind of sense that now you attribute
 statements like the above to your opponents.

I suggest you keep these messages around, and peruse them
 prior to drafting a reply, so the context is in yourshort term memory.

  Unlikely. The best you'll get it POSIX+extention, and that
  still means command -v is a bashism.

 Clint Depends on the extensions.

XSI. 
 IEEE Std 1003.1-2001 describes utilities, functions, and facilities
 offered to application programs by the X/Open System Interface (XSI).
 Functionality marked XSI is also an extension to the ISO C
 standard. Application writers may confidently make use of an
 extension on all systems supporting the X/Open System Interfaces
 Extension.

manoj
-- 
 Crab apples may not be the best kind of fruit; but a tree which every
 year bears a great crop of crab apples is better worth cultivating
 than a tree which bears nothing.
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Steve == Steve Greenland [EMAIL PROTECTED] writes:

 Steve I don't. However, we already have cases of specific developers being,
 Steve shall we say, difficult. Not sloppy, but having very strong opinions
 Steve about how a particular thing should be done, despite a large number of
 Steve other experienced developers disagreeing.

 Steve What is the purpose of Debian Policy?

It certainly is not a stick to beat  difficult developers on
 the head with.

 Steve I always thought it was a way to decide/document choices, when
 Steve more than one choice was reasonable, and when that choice
 Steve affected other developers and our users. This subject falls
 Steve into that definition, in my opinion.

But that ought not to translate into ``every possible source
 of contention between developers is writ in stone in a static
 document, precluding any case by case mitigating factors, and not
 requiring common sense and human judgment.

In my opinion, it is going to be vcry hard to come up with a
 criteria that defines / and /usrness, one which can be predectively
 used for the future, and one that takes into account the shifting
 reality of real world hardware, and real world usage.

Human judgment. There still is a need for it, and this, I
 think, is one such case -- this is why robots have not yet taken over
 the world (that,, and, of course, the 3 laws of robotics).

manoj
-- 
 Date: 20 Mar 90 01:21:37 GMT From: [EMAIL PROTECTED] (Randal
 Schwartz) $_=',Pr0e=kRcza0hb 5lOr+ePE :rBe}hRtho]nhaj
 nt.s[u=J@';s/../unshift(a,$)/eg;chop(@a);[EMAIL PROTECTED];
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Branden Robinson
On Tue, Jun 18, 2002 at 05:14:23AM -0400, Clint Adams wrote:
 Apparently if you have zsh as /bin/sh and try to install xdm, the
 postinst will happily tell you what version of debianutils to install to
 get readlink.

?

First I've heard of this.  What's going on?

Oh, I know.

if ! command -v readlink  /dev/null 21; then
  message The readlink command was not found.  Please install version \
  1.13.1 or later of the debianutils package.
  readlink () {
# returns what symlink in $1 actually points to
perl -e '$l = shift; exit 1 unless -l $l; $r = readlink $l; exit 1 unless 
$r; print $r\n' $1;
  }
fi

Yeah, well, I'll be happy to change this once we have some official
Policy, or an offical Best Current Practice statement.

I'll let the shell maintainers finish their penis war first, though.

-- 
G. Branden Robinson|  You live and learn.
Debian GNU/Linux   |  Or you don't live long.
[EMAIL PROTECTED] |  -- Robert Heinlein
http://people.debian.org/~branden/ |


pgpfb0d7RsD09.pgp
Description: PGP signature


Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Ian Zimmerman

Manoj and you are the one who came up with the pie in the
Manoj sky ``when there are no problems''.

Manoj Since you manage to forget context from message to message, I
Manoj guess it makes a weird kind of sense that now you attribute
Manoj statements like the above to your opponents.

No, Manoj, it's you who missed the context here.

He said ...when there are no problems.

You said That will never happen, therefore we should stop trying.

He said That doesn't follow.

IOW, your statement had the form of a logical implication, and he
questioned (quite rightly) whether that relation between the logical
parts actually took place.

There'll always be wars and war crimes, does that mean we should stop
trying to put in place laws forbidding them?

-- 
Ian Zimmerman, Oakland, California, U.S.A.
GPG: 433BA087  9C0F 194F 203A 63F7 B1B8  6E5A 8CA3 27DB 433B A087
EngSoc adopts market economy: cheap is wasteful, efficient is expensive.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Josip Rodin
On Tue, Jun 18, 2002 at 10:51:27AM -0500, Manoj Srivastava wrote:
  Josip Notice or some other nice English word... when the admin
  Josip puts binaries in a $PATH, they need to be aware of the
  Josip consequences. If they put something in a place where it can
  Josip replace a Debian binary, how do we know it's intentional or
  Josip not? If we assume it's unintentional, our scripts need to
  Josip hardcode paths, which makes moving stuff tedious. If we assume
  Josip it's intentional, we risk admins having a taste of their own
  Josip medicine. I'd pick the former.
 
   You reversed the order from the sentence:
   how do we know it's intentional or not?
 and the rest of the explanation, so it is hard to know which
  one option you prefer (at least, I am fairly unclear).

Oh, right, sorry :) I'd pick the option where we should assume it's
intentional and not hardcode our paths.

-- 
 2. That which causes joy or happiness.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
   The scripts should not, and this is why hard codiong paths is
  a bug.

A policy violation, or just a bug?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
   XSI. 
  IEEE Std 1003.1-2001 describes utilities, functions, and facilities
  offered to application programs by the X/Open System Interface (XSI).
  Functionality marked XSI is also an extension to the ISO C
  standard. Application writers may confidently make use of an
  extension on all systems supporting the X/Open System Interfaces
  Extension.

Are you suggesting that Debian support this extension, or a subset
thereof?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
 Yeah, well, I'll be happy to change this once we have some official
 Policy, or an offical Best Current Practice statement.

We DO have an official Policy.  It makes 'command -v' unusable in
#!/bin/sh scripts.  That's 688 packages in violation.  It makes 'set -e'
unusable in #!/bin/sh scripts.  That's 6810 packages in violation.
At least 7498 packages in sid have preinsts, prerms, postinsts, or postrms
which violate Debian policy.

Manoj suggests that I file bugs.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Clint == Clint Adams [EMAIL PROTECTED] writes:

  Yeah, well, I'll be happy to change this once we have some official
  Policy, or an offical Best Current Practice statement.

 Clint We DO have an official Policy.  It makes 'command -v' unusable in
  !/bin/sh scripts.  That's 688 packages in violation.
  It makes 'set -e'
 Clint unusable in #!/bin/sh scripts.  That's 6810 packages in
 Clint violation.  At least 7498 packages in sid have preinsts,
 Clint prerms, postinsts, or postrms which violate Debian policy.

The policy explicitly mentions that set -e is to be used. Have
 we collectively taken leave of common sense?

 Clint Manoj suggests that I file bugs.

For the former. For the latter, if it really confuses soemone
 whether set -e is to be used or not, I suggest they stop
 being a developer and take up some other hobby, like being a lawyer.

manoj
-- 
 A gentleman is a man who wouldn't hit a lady with his hat on. Evan
 Esar [ And why not?  For why does she have his hat on?  Ed.]
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Hi,
Clint == Clint Adams [EMAIL PROTECTED] writes:

  Yeah, well, I'll be happy to change this once we have some official
  Policy, or an offical Best Current Practice statement.

 Clint It makes 'set -e' unusable in #!/bin/sh scripts.

Umm, could you explain why this is so?

manoj
-- 
 We prefer to believe that the absence of inverted commas guarantees
 the originality of a thought, whereas it may be merely that the
 utterer has forgotten its source. Clifton Fadiman, Any Number Can
 Play
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Ian == Ian Zimmerman [EMAIL PROTECTED] writes:

 Manoj Since you manage to forget context from message to message, I
 Manoj guess it makes a weird kind of sense that now you attribute
 Manoj statements like the above to your opponents.

 Ian No, Manoj, it's you who missed the context here.

Rubbish.

 Ian He said ...when there are no problems.

 Ian You said That will never happen, therefore we should stop trying.

 Ian He said That doesn't follow.


Full context:
 
Manoj  do we want to stop codifying every little thing? 
Clint When there are no more problems? 
Manoj Then we should stop right here, since that is an impossible goal.
Clint That doesn't necessarily follow.
Manoj Yes, it does. There are never going to be no problems.

I was asking if there was an exit criteria, and the proposed
 exit criteria was an impossibility.

 Ian There'll always be wars and war crimes, does that mean we should stop
 Ian trying to put in place laws forbidding them?

False anology. We are talking about adding codicils to the
 law, constantly finagling to it, not prosecuting violations of
 current law.

manoj
-- 
 He who enters his wife's dressing room is a philosopher or a
 fool. Balzac
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Clint == Clint Adams [EMAIL PROTECTED] writes:

 Clint Are you suggesting that Debian support this extension, or a subset
 Clint thereof?

Ah. Before I provide my impramatur of approval over words that
 shall be writ in stone, are there any shells that have POSIX+XSI
 extensions+UP-in-interactive-mode? If so, this could be a useful
 criteria. If there are no such shells, well, we live with what we
 have, and reassess when POSIX compliance is reached.

Writing in stone the current state of the shells at hand, ad
 updating the stone tablet from release to release of each of the
 candidate shells is not what I wish to do.

manoj
-- 
 Take your work seriously but never take yourself seriously; and do
 not take what happens either to yourself or your work
 seriously. Booth Tarkington
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Richard Braakman
On Tue, Jun 18, 2002 at 07:58:21AM -0400, Clint Adams wrote:
  Notice or some other nice English word... when the admin puts binaries in
  a $PATH, they need to be aware of the consequences. If they put something in
  a place where it can replace a Debian binary, how do we know it's
 
 Why would someone, being told that '/usr/local is for the administrator;
 Debian doesn't touch it' assume that package scripts will go around
 running things in /usr/local?

Maybe said someone has read Policy section 10.1.2, Site-specific programs :)

[...]
 However, the package may create empty directories below `/usr/local'
 so that the system administrator knows where to place site-specific
 files.  These directories should be removed on package removal if they
 are empty.
[...]
 If you do create a directory in `/usr/local' for local additions to a
 package, you should ensure that settings in `/usr/local' take
 precedence over the equivalents in `/usr'.
[...]

This is the general policy for /usr/local, and I see no reason why it
shouldn't apply to /usr/local/bin as well.

Richard Braakman


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
   The policy explicitly mentions that set -e is to be used. Have
  we collectively taken leave of common sense?

No, it mentions that set -e SHOULD be used in some cases.  The fact that
it mentions /bin/sh in context with 'set -e' might be a bit confusing,
but I don't think that that overrides the declaration that #!/bin/sh
scripts MUST not use set -e.

   For the former. For the latter, if it really confuses soemone
  whether set -e is to be used or not, I suggest they stop
  being a developer and take up some other hobby, like being a lawyer.

There's no confusion.  set -e is expressly forbidden.  Perhaps those
persons who prefer forbidding something while claiming that common
sense allows it, to achieving some sort of consistency, should
become lawyers or perhaps government officials.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Manoj Srivastava
Clint == Clint Adams [EMAIL PROTECTED] writes:

  The policy explicitly mentions that set -e is to be used. Have
  we collectively taken leave of common sense?

 Clint No, it mentions that set -e SHOULD be used in some cases.  The fact that
 Clint it mentions /bin/sh in context with 'set -e' might be a bit confusing,
 Clint but I don't think that that overrides the declaration that #!/bin/sh
 Clint scripts MUST not use set -e.

Show me. Which section?

  For the former. For the latter, if it really confuses soemone
  whether set -e is to be used or not, I suggest they stop
  being a developer and take up some other hobby, like being a lawyer.

 Clint There's no confusion.  set -e is expressly forbidden.

You keep asserting this, with no supporting evidence. 

2.4.5. Error trapping in makefiles
--
 Every time you put more than one shell command (this includes using a
 loop) in a makefile command you must make sure that errors are
 trapped.  For simple compound commands, such as changing directory and
 then running a program, using `' rather than semicolon as a command
 separator is sufficient.  For more complex commands including most
 loops and conditionals you should include a separate `set -e' command
 at the start of every makefile command that's actually one of these
 miniature shell scripts.


6.1. Introduction to package maintainer scripts
---

 The package management system looks at the exit status from these
 scripts.  It is important that they exit with a non-zero status if
 there is an error, so that the package management system can stop its
 processing.  For shell scripts this means that you _almost always_
 need to use `set -e' (this is usually true when writing shell scripts,
 in fact).  It is also important, of course, that they don't exit with
 a non-zero status if everything went well.

11.4. Scripts
-

 Shell scripts (`sh' and `bash') should almost certainly start with
 `set -e' so that errors are detected.  Every script should use `set
 -e' or check the exit status of _every_ command.


 Clint Perhaps those persons who prefer forbidding something while
 Clint claiming that common sense allows it, to achieving some sort
 Clint of consistency, should become lawyers or perhaps government
 Clint officials.

Back it up, buddy. Where is your proof?  I have given three
 explicit references from policy strongly recommending set -e. Where
 the heck is it forbidden?


manoj
-- 
 This is a logical analogy too... anyone who's been around, knows the
 world is run by paenguins.  Always a paenguin behind the curtain,
 really getting things done.  And paenguins in politics--who can deny
 it? Kevin M. Bealer, commenting on the penguin Linux logo
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: RFD: Essential packages, /, and /usr

2002-06-18 Thread Clint Adams
   Ah. Before I provide my impramatur of approval over words that
  shall be writ in stone, are there any shells that have POSIX+XSI
  extensions+UP-in-interactive-mode? If so, this could be a useful
  criteria. If there are no such shells, well, we live with what we
  have, and reassess when POSIX compliance is reached.

I've whipped up a little test suite, to assess POSIX compliance.
It is by no means near complete.

The shells tested:

ii  ash0.3.8-37   NetBSD /bin/sh
ii  bash   2.05a-11   The GNU Bourne Again SHell
ii  pdksh  5.2.14-6   A public domain version of the Korn
shell
ii  zsh4.0.4-43   A shell with lots of features.
ii  zsh-beta   4.1.0-dev-4+cv A shell with lots of features (dev
tree)


This is for SUSv3 compliance.  The number represents lines of diff
output from the proper output.  These lines are not weighted, nor do
they reflect a number of violations.

ash 33
bash10
bash (posix mode)   10
ksh  5
ksh (posix mode) 5
zsh 30
zsh (sh mode)   20
zsh-beta28
zsh-beta (sh mode)  18

Now, for SUSv3 + UP + XSI:

ash 42
bash20
bash (posix mode)   18
ksh  9
ksh (posix mode) 9
zsh 36
zsh (sh mode)   26
zsh-beta34
zsh-beta (sh mode)  24



I should note that the 5 for ksh represents conformance with Debian's
echo policy.

I'll put the tests on http://people.debian.org/~schizo/
in case anyone's interested.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



  1   2   >