Re: new expr(1) behaviour breaks libtool

2002-04-24 Thread John Hay

 
 I have just committed code to expr which will cause it to behave more
 like the old expr did in the presence of an EXPR_COMPAT environment
 variable.  Ports can then be set up to build with this variable
 defined until the libtool maintainers fix up their act.

Thanks, with this and some patches to the ghostscript-gnu and jade ports,
I can now build releases with docs.

John
-- 
John Hay -- [EMAIL PROTECTED] / [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: new expr(1) behaviour breaks libtool

2002-04-22 Thread Terry Lambert

John Hay wrote:
   I see the new new behaviour of expr(1) requires you to add '--' if your
   commandline arguments might start with a '-'. This does break things
   a little because our old expr(1) does not understand a '--' in the
   beginning and the new one don't work right without it. :-(((
 
  I'm almost positive this issue was discussed before.  Check the follow
  ups to the commit.
 
 The only one I could find was in -current, where Kris asked if w3m or
 expr is to blame and Garrett said w3m is to blame.

Garrett is right.  The expr is being called with non-POSIX
arguments by the w3c scripts.


 H. I can understand the requirement to eat '--', but to throw a
 tantrum just because the commandline started with a '-' is a little
 too much. BTW, was the response posted somewhere? I searched through
 -standards, -commit and -current but couldn't find it. Maybe I just
 didn't ask the right question to the search engine or maybe it was
 in another list.

The correct way to handle the continuing brokenness is to provide
patches that will get applied to libtool.

Also, you complaint about different versionsion of FreeBSD being
different is wrong: POSIX compliant scripts will call the command
with POSIX compliant arguments, regardless of the FreeBSD version.
Just because you can get away with it on older versions of FreeBSD
doesn't mean that the patches shouldn't be applied there, too: they
should, because it's important that the resulting scripts be
standards compliant, even if the particular version of FreeBSD you
are using has an implementation of expr that illegally extends
the standard.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: new expr(1) behaviour breaks libtool

2002-04-22 Thread Garrett Wollman

On Sun, 21 Apr 2002 20:17:29 +0200 (SAT), John Hay [EMAIL PROTECTED] said:

  expr -lgrove : -l\(.*\)
  expr -- -L/export/ports/textproc/jade/work/jade-1.2.1/lib/.libs : -l\(.*\)

  If we are going to leave this behaviour, we will have to teach libtool
  how to call expr(1) differently on -stable and -current and it looks
  like yet again different from the rest of the world. :-(((

No, you just have to teach libtool to properly protect the arguments
to expr(1).  libtool 1.4 does this for some numeric operations, but
not for string parsing.  expr(1) goes into some detail about this, but
the simple answer is:

expr X$arg : 'X-l\(.*\)'

is what's required.  (There is nothing special about the character
`X', other than it not being a hyphen.)

I have just committed code to expr which will cause it to behave more
like the old expr did in the presence of an EXPR_COMPAT environment
variable.  Ports can then be set up to build with this variable
defined until the libtool maintainers fix up their act.

-GAWollman


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



new expr(1) behaviour breaks libtool

2002-04-21 Thread John Hay

Hi,

I see the new new behaviour of expr(1) requires you to add '--' if your
commandline arguments might start with a '-'. This does break things
a little because our old expr(1) does not understand a '--' in the
beginning and the new one don't work right without it. :-(((

The place where I noticed it was when libtool started to complain
when compiling jade. Libtool does things like:

expr -L/export/ports/textproc/jade/work/jade-1.2.1/lib/.libs : -l\(.*\)
expr -lsp : -l\(.*\)
expr -lm : -l\(.*\)
expr -lgrove : -l\(.*\)

On -current this now have to be:

expr -- -L/export/ports/textproc/jade/work/jade-1.2.1/lib/.libs : -l\(.*\)
expr -- -lsp : -l\(.*\)
expr -- -lm : -l\(.*\)
expr -- -lgrove : -l\(.*\)

If we are going to leave this behaviour, we will have to teach libtool
how to call expr(1) differently on -stable and -current and it looks
like yet again different from the rest of the world. :-(((

Yes, I did read the commit message, but I still think the behaviour
of the new expr(1) is wrong.

John
-- 
John Hay -- [EMAIL PROTECTED] / [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: new expr(1) behaviour breaks libtool

2002-04-21 Thread Mike Barcroft

John Hay [EMAIL PROTECTED] writes:
 I see the new new behaviour of expr(1) requires you to add '--' if your
 commandline arguments might start with a '-'. This does break things
 a little because our old expr(1) does not understand a '--' in the
 beginning and the new one don't work right without it. :-(((

I'm almost positive this issue was discussed before.  Check the follow
ups to the commit.

 The place where I noticed it was when libtool started to complain
 when compiling jade. Libtool does things like:
 
 expr -L/export/ports/textproc/jade/work/jade-1.2.1/lib/.libs : -l\(.*\)
 expr -lsp : -l\(.*\)
 expr -lm : -l\(.*\)
 expr -lgrove : -l\(.*\)
 
 On -current this now have to be:
 
 expr -- -L/export/ports/textproc/jade/work/jade-1.2.1/lib/.libs : -l\(.*\)
 expr -- -lsp : -l\(.*\)
 expr -- -lm : -l\(.*\)
 expr -- -lgrove : -l\(.*\)
 
 If we are going to leave this behaviour, we will have to teach libtool
 how to call expr(1) differently on -stable and -current and it looks
 like yet again different from the rest of the world. :-(((

This should exactly match the behavior of any certified UNIX system.

 Yes, I did read the commit message, but I still think the behaviour
 of the new expr(1) is wrong.

Not according to the Standard, or the response from Garrett's request
for clarification of the Standard.

Best regards,
Mike Barcroft

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: new expr(1) behaviour breaks libtool

2002-04-21 Thread John Hay

  I see the new new behaviour of expr(1) requires you to add '--' if your
  commandline arguments might start with a '-'. This does break things
  a little because our old expr(1) does not understand a '--' in the
  beginning and the new one don't work right without it. :-(((
 
 I'm almost positive this issue was discussed before.  Check the follow
 ups to the commit.

The only one I could find was in -current, where Kris asked if w3m or
expr is to blame and Garrett said w3m is to blame.

 
  The place where I noticed it was when libtool started to complain
  when compiling jade. Libtool does things like:
  
  expr -L/export/ports/textproc/jade/work/jade-1.2.1/lib/.libs : -l\(.*\)
  expr -lsp : -l\(.*\)
  expr -lm : -l\(.*\)
  expr -lgrove : -l\(.*\)
  
  On -current this now have to be:
  
  expr -- -L/export/ports/textproc/jade/work/jade-1.2.1/lib/.libs : -l\(.*\)
  expr -- -lsp : -l\(.*\)
  expr -- -lm : -l\(.*\)
  expr -- -lgrove : -l\(.*\)
  
  If we are going to leave this behaviour, we will have to teach libtool
  how to call expr(1) differently on -stable and -current and it looks
  like yet again different from the rest of the world. :-(((
 
 This should exactly match the behavior of any certified UNIX system.

Well libtool is still broken, so maybe if systems like that do exist,
they don't need libtool? :-)))

  Yes, I did read the commit message, but I still think the behaviour
  of the new expr(1) is wrong.
 
 Not according to the Standard, or the response from Garrett's request
 for clarification of the Standard.

H. I can understand the requirement to eat '--', but to throw a
tantrum just because the commandline started with a '-' is a little
too much. BTW, was the response posted somewhere? I searched through
-standards, -commit and -current but couldn't find it. Maybe I just
didn't ask the right question to the search engine or maybe it was
in another list.

John
-- 
John Hay -- [EMAIL PROTECTED] / [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: new expr(1) behaviour breaks libtool

2002-04-21 Thread Kris Kennaway

On Sun, Apr 21, 2002 at 05:58:22PM +0200, John Hay wrote:
 Hi,
 
 I see the new new behaviour of expr(1) requires you to add '--' if your
 commandline arguments might start with a '-'. This does break things
 a little because our old expr(1) does not understand a '--' in the
 beginning and the new one don't work right without it. :-(((

I have a patch for this, but unfortunately it's on a HD I can't access
right now.  I need to test it on the cluster soon and commit it.

Kris



msg37498/pgp0.pgp
Description: PGP signature