Re: portupgrade bug: -M no longer works after v2.1.0

2006-07-13 Thread Atanas

Sergey Matveychuk said the following on 7/12/06 10:57 PM:

Atanas wrote:

Please, don't get me wrong. I'm not asking for help or for a workaround.
I'm actually trying to help identifying a problem or regression.

If this is not a bug, but a feature change, please have it documented.


It was a bug. Fixed. Thanks.


Thank you!
Atanas

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: portupgrade bug: -M no longer works after v2.1.0

2006-07-12 Thread Atanas

Sergey Matveychuk said the following on 7/11/2006 10:08 PM:

Atanas wrote:

Recent portupgrade versions no longer obey the -M command line switch,
i.e. any optional arguments to be prepended to each make command.

How to reproduce:

# portinstall -M APACHE_HARD_SERVER_LIMIT=1024 www/apache13


Everything work file. Use -m for getting what you want.

For www/apache13 the -m switch could give the same result as -M would, 
but I'm not sure whether it's not just a coincidence. The -m switch was 
supposed to serve a different purpose:


  -m
  --make-argsSpecify arguments to append to each make(1) com-
 mand line.
  -M
  --make-env Specify arguments to prepend to each make(1) com-
 mand line.

I tried testing another port where I used both:

# portinstall -M 'WITH_SYSLOG_FACILITY=local5' -m '-DWITHOUT_IPV6' 
mail/courier-imap


With portupgrade-2.0.1_1,1 (the stock 6.1-RELEASE package) it worked. 
With portupgrade-2.1.3.2,2 it failed (ignoring the -M part like for 
www/apache13 before).


Then I joined both in one -m switch:

# portinstall -m 'WITH_SYSLOG_FACILITY=local5 -DWITHOUT_IPV6' 
mail/courier-imap


and the latest portupgrade-2.1.3.2,2 did it just fine.

So, like you suggested, the -m switch seems to cover the functionality 
that -M used to provide. I'm not sure however whether this prepend to 
append conversion would work for all ports. But for these that I use it 
appears to work, so I have no problem and will update my scripts to use 
-m only.


The no longer working (obsolete?) -M switch would need to be removed 
from the man page though.


Thanks,
Atanas
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: portupgrade bug: -M no longer works after v2.1.0

2006-07-12 Thread Sergey Matveychuk
Atanas wrote:
 Sergey Matveychuk said the following on 7/11/2006 10:08 PM:
 Atanas wrote:
 Recent portupgrade versions no longer obey the -M command line switch,
 i.e. any optional arguments to be prepended to each make command.

 How to reproduce:

 # portinstall -M APACHE_HARD_SERVER_LIMIT=1024 www/apache13

 Everything work file. Use -m for getting what you want.

 For www/apache13 the -m switch could give the same result as -M would,
 but I'm not sure whether it's not just a coincidence. The -m switch was
 supposed to serve a different purpose:
 
   -m
   --make-argsSpecify arguments to append to each make(1) com-
  mand line.
   -M
   --make-env Specify arguments to prepend to each make(1) com-
  mand line.
 
 I tried testing another port where I used both:
 
 # portinstall -M 'WITH_SYSLOG_FACILITY=local5' -m '-DWITHOUT_IPV6'
 mail/courier-imap
 
 With portupgrade-2.0.1_1,1 (the stock 6.1-RELEASE package) it worked.
 With portupgrade-2.1.3.2,2 it failed (ignoring the -M part like for
 www/apache13 before).
 
 Then I joined both in one -m switch:
 
 # portinstall -m 'WITH_SYSLOG_FACILITY=local5 -DWITHOUT_IPV6'
 mail/courier-imap
 
 and the latest portupgrade-2.1.3.2,2 did it just fine.
 
 So, like you suggested, the -m switch seems to cover the functionality
 that -M used to provide. I'm not sure however whether this prepend to
 append conversion would work for all ports. But for these that I use it
 appears to work, so I have no problem and will update my scripts to use
 -m only.
 
 The no longer working (obsolete?) -M switch would need to be removed
 from the man page though.

Both -m and -M works fine but do different things. -m pass its argument
as make file argument(s) and -M pass its argument as environment
variable(s). You can't set make variable with environment variable. They
are different!

-M has never worked as you expected. You can test it with a command:
%cd /usr/ports/www/apache13
%env APACHE_HARD_SERVER_LIMIT=1024 make
against of
% make APACHE_HARD_SERVER_LIMIT=1024

I think you confuse the two variables types.

-- 
Dixi.
Sem.
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: portupgrade bug: -M no longer works after v2.1.0

2006-07-12 Thread John E Hein
Sergey Matveychuk wrote at 14:24 +0400 on Jul 12, 2006:
  Both -m and -M works fine but do different things. -m pass its argument
  as make file argument(s) and -M pass its argument as environment
  variable(s). You can't set make variable with environment variable. They
  are different!
 
  -M has never worked as you expected. You can test it with a command:
  %cd /usr/ports/www/apache13
  %env APACHE_HARD_SERVER_LIMIT=1024 make
  against of
  % make APACHE_HARD_SERVER_LIMIT=1024
  
  I think you confuse the two variables types.

This is incorrect.
make(1) looks at the environment for variables.
See the man page.

If you tested your example, you'd see that it works fine.

make APACHE_HARD_SERVER_LIMIT=22 -V CFLAGS
-O2 -fno-strict-aliasing -pipe  
-DDOCUMENT_LOCATION=\/usr/local/www/data\  
-DDEFAULT_PATH=\/bin:/usr/bin:/usr/local/bin\ -DHARD_SERVER_LIMIT=22

env APACHE_HARD_SERVER_LIMIT=22 make -V CFLAGS
-O2 -fno-strict-aliasing -pipe  
-DDOCUMENT_LOCATION=\/usr/local/www/data\  
-DDEFAULT_PATH=\/bin:/usr/bin:/usr/local/bin\ -DHARD_SERVER_LIMIT=22

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: portupgrade bug: -M no longer works after v2.1.0

2006-07-12 Thread Sergey Matveychuk
John E Hein wrote:
 This is incorrect.
 make(1) looks at the environment for variables.
 See the man page.

OK, something really broke in portupgrade then.

-- 
Dixi.
Sem.
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: portupgrade bug: -M no longer works after v2.1.0

2006-07-12 Thread Atanas

Sergey Matveychuk said the following on 7/12/06 3:24 AM:

Atanas wrote:

Sergey Matveychuk said the following on 7/11/2006 10:08 PM:

Atanas wrote:

Recent portupgrade versions no longer obey the -M command line switch,
i.e. any optional arguments to be prepended to each make command.

How to reproduce:

# portinstall -M APACHE_HARD_SERVER_LIMIT=1024 www/apache13

Everything work file. Use -m for getting what you want.


For www/apache13 the -m switch could give the same result as -M would,
but I'm not sure whether it's not just a coincidence. The -m switch was
supposed to serve a different purpose:

  -m
  --make-argsSpecify arguments to append to each make(1) com-
 mand line.
  -M
  --make-env Specify arguments to prepend to each make(1) com-
 mand line.

I tried testing another port where I used both:

# portinstall -M 'WITH_SYSLOG_FACILITY=local5' -m '-DWITHOUT_IPV6'
mail/courier-imap

With portupgrade-2.0.1_1,1 (the stock 6.1-RELEASE package) it worked.
With portupgrade-2.1.3.2,2 it failed (ignoring the -M part like for
www/apache13 before).

Then I joined both in one -m switch:

# portinstall -m 'WITH_SYSLOG_FACILITY=local5 -DWITHOUT_IPV6'
mail/courier-imap

and the latest portupgrade-2.1.3.2,2 did it just fine.

So, like you suggested, the -m switch seems to cover the functionality
that -M used to provide. I'm not sure however whether this prepend to
append conversion would work for all ports. But for these that I use it
appears to work, so I have no problem and will update my scripts to use
-m only.

The no longer working (obsolete?) -M switch would need to be removed
from the man page though.


Both -m and -M works fine but do different things. -m pass its argument
as make file argument(s) and -M pass its argument as environment
variable(s). You can't set make variable with environment variable. They
are different!

Yes, I know that. That's why I quoted the man page in my previous post 
(see above).



-M has never worked as you expected.

I expected -M to work exactly as documented, like it has been doing so 
for years.



You can test it with a command:
%cd /usr/ports/www/apache13
%env APACHE_HARD_SERVER_LIMIT=1024 make


Sure, the port build works:

% cd /usr/ports/www/apache13
% env APACHE_HARD_SERVER_LIMIT=1024 make
=== src/os/unixcc -c  -I../../os/unix -I../../include 
-I/usr/local/include  -funsigned-char -O2 -fno-strict-aliasing -pipe 
-DDOCUMENT_LOCATION=\/usr/local/www/data\ 
-DDEFAULT_PATH=\/bin:/usr/bin:/usr/local/bin\ -DHARD_SERVER_LIMIT=1024 
`../../apaci` os.c


while portupgrade -M fails:

% portinstall -M APACHE_HARD_SERVER_LIMIT=1024 www/apache13
=== src/os/unixcc -c  -I../../os/unix -I../../include 
-I/usr/local/include  -funsigned-char -O2 -fno-strict-aliasing -pipe 
-DDOCUMENT_LOCATION=\/usr/local/www/data\ 
-DDEFAULT_PATH=\/bin:/usr/bin:/usr/local/bin\ -DHARD_SERVER_LIMIT=512 
`../../apaci` os.c



against of
% make APACHE_HARD_SERVER_LIMIT=1024


This doesn't make much sense to me. Perhaps you meant:

% make -DAPACHE_HARD_SERVER_LIMIT=1024

But I wouldn't expect this to succeed either:

=== src/os/unixcc -c  -I../../os/unix -I../../include 
-I/usr/local/include  -funsigned-char -O2 -fno-strict-aliasing -pipe 
-DDOCUMENT_LOCATION=\/usr/local/www/data\ 
-DDEFAULT_PATH=\/bin:/usr/bin:/usr/local/bin\ -DHARD_SERVER_LIMIT=512 
`../../apaci` os.c


Your suggestion however (to replace -M with -m) surprisingly worked:

cc -c  -I../../os/unix -I../../include -I/usr/local/include 
-funsigned-char -O2 -fno-strict-aliasing -pipe 
-DDOCUMENT_LOCATION=\/usr/local/www/data\ 
-DDEFAULT_PATH=\/bin:/usr/bin:/usr/local/bin\ -DHARD_SERVER_LIMIT=1024 
`../../apaci` os.c


And this is what's confusing.


I think you confuse the two variables types.


No, I think I know what these are for.

But trying your suggestion to replace -M with -m and finding it to work 
(for some ports?), just threw some more fog into the case.


Let's say it clear again - I have found that all recent versions of 
portupgrade (2.1.0+) fail to obey the -M switch and ignore any optional 
port parameters (i.e. arguments to prepend to each make command line) 
supplied there.


Please, don't get me wrong. I'm not asking for help or for a workaround. 
I'm actually trying to help identifying a problem or regression.


If this is not a bug, but a feature change, please have it documented. 
What the portupgrade(1) man page says about the -M switch is incorrect, 
as it no longer prepends any arguments specified to each make(1) command 
line.


Regards,
Atanas

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: portupgrade bug: -M no longer works after v2.1.0

2006-07-12 Thread Sergey Matveychuk
Atanas wrote:
 Please, don't get me wrong. I'm not asking for help or for a workaround.
 I'm actually trying to help identifying a problem or regression.
 
 If this is not a bug, but a feature change, please have it documented.

It was a bug. Fixed. Thanks.

-- 
Dixi.
Sem.
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


portupgrade bug: -M no longer works after v2.1.0

2006-07-11 Thread Atanas
Recent portupgrade versions no longer obey the -M command line switch, 
i.e. any optional arguments to be prepended to each make command.


How to reproduce:

# portinstall -M APACHE_HARD_SERVER_LIMIT=1024 www/apache13
...
=== src/ap
cc -c  -I../os/unix -I../include -I/usr/local/include  -funsigned-char 
-O2 -fno-strict-aliasing -pipe 
-DDOCUMENT_LOCATION=\/usr/local/www/data\ 
-DDEFAULT_PATH=\/bin:/usr/bin:/usr/local/bin\ -DHARD_SERVER_LIMIT=512 
`../apaci` ap_cpystrn.c

...

Note the -DHARD_SERVER_LIMIT=512 above.

The stock version shipped with 6.1-RELEASE (2.0.1_1) seems to work as 
expected.


I tried all CVS versions after that (with portdowngrade) and found that 
the breakage has happened somewhere between 2.1.0 and 2.1.1 (2006/06/02 
- 2006/06/04).


Regards,
Atanas



___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: portupgrade bug: -M no longer works after v2.1.0

2006-07-11 Thread Matthias Andree
Atanas [EMAIL PROTECTED] writes:

 Recent portupgrade versions no longer obey the -M command line switch,
 i.e. any optional arguments to be prepended to each make command.

 How to reproduce:

 # portinstall -M APACHE_HARD_SERVER_LIMIT=1024 www/apache13
 ...
 === src/ap
 cc -c  -I../os/unix -I../include -I/usr/local/include  -funsigned-char
 -O2 -fno-strict-aliasing -pipe
 -DDOCUMENT_LOCATION=\/usr/local/www/data\
 -DDEFAULT_PATH=\/bin:/usr/bin:/usr/local/bin\ -DHARD_SERVER_LIMIT=512
 `../apaci` ap_cpystrn.c
 ...

 Note the -DHARD_SERVER_LIMIT=512 above.

Does it work if you type (you can omit the env in /bin/sh, bash, (pd)ksh
and other Bourne-like shells):

env APACHE_HARD_SERVER_LIMIT=1024 portinstall www/apache13

(Isn't it time to migrate to a newer Apache version anyways? 8-) )

-- 
Matthias Andree
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: portupgrade bug: -M no longer works after v2.1.0

2006-07-11 Thread Atanas

Matthias Andree said the following on 7/11/06 1:48 PM:

Atanas [EMAIL PROTECTED] writes:


Recent portupgrade versions no longer obey the -M command line switch,
i.e. any optional arguments to be prepended to each make command.

How to reproduce:

# portinstall -M APACHE_HARD_SERVER_LIMIT=1024 www/apache13
...
=== src/ap
cc -c  -I../os/unix -I../include -I/usr/local/include  -funsigned-char
-O2 -fno-strict-aliasing -pipe
-DDOCUMENT_LOCATION=\/usr/local/www/data\
-DDEFAULT_PATH=\/bin:/usr/bin:/usr/local/bin\ -DHARD_SERVER_LIMIT=512
`../apaci` ap_cpystrn.c
...

Note the -DHARD_SERVER_LIMIT=512 above.


Does it work if you type (you can omit the env in /bin/sh, bash, (pd)ksh
and other Bourne-like shells):

env APACHE_HARD_SERVER_LIMIT=1024 portinstall www/apache13

Of course it would, but this just bypasses the problem. There are other 
ways to work this around as well - like not using portupgrade at all and 
building everything with make.


The problem is that there's a bug introduced by some of the recent 
portupgrade versions that changes its documented behavior. The '-M' 
switch in partucular no longer works, thus causing any existing 
port/package installation scripts depending on that switch to build 
packages with incorrect optional parameters.


It's not a problem with a particular port. The www/apache13 port was 
given just as example how to reproduce the bug.


This affects _all_ ports when installed/upgraded/built via portupgrade 
and when the '-M' switch is used.



(Isn't it time to migrate to a newer Apache version anyways? 8-) )

(This is a long subject and kind of off-topic here. My short answer is 
no, or not yet. In some environments there are still legitimate reasons 
to use 1.3)


Regards,
Atanas
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: portupgrade bug: -M no longer works after v2.1.0

2006-07-11 Thread Jonathan Noack

Atanas wrote:

Matthias Andree said the following on 7/11/06 1:48 PM:

Atanas [EMAIL PROTECTED] writes:


Recent portupgrade versions no longer obey the -M command line switch,
i.e. any optional arguments to be prepended to each make command.

How to reproduce:

# portinstall -M APACHE_HARD_SERVER_LIMIT=1024 www/apache13
...
=== src/ap
cc -c  -I../os/unix -I../include -I/usr/local/include  -funsigned-char
-O2 -fno-strict-aliasing -pipe
-DDOCUMENT_LOCATION=\/usr/local/www/data\
-DDEFAULT_PATH=\/bin:/usr/bin:/usr/local/bin\ -DHARD_SERVER_LIMIT=512
`../apaci` ap_cpystrn.c
...

Note the -DHARD_SERVER_LIMIT=512 above.


Does it work if you type (you can omit the env in /bin/sh, bash, (pd)ksh
and other Bourne-like shells):

env APACHE_HARD_SERVER_LIMIT=1024 portinstall www/apache13

Of course it would, but this just bypasses the problem. There are other 
ways to work this around as well - like not using portupgrade at all and 
building everything with make.


The problem is that there's a bug introduced by some of the recent 
portupgrade versions that changes its documented behavior. The '-M' 
switch in partucular no longer works, thus causing any existing 
port/package installation scripts depending on that switch to build 
packages with incorrect optional parameters.


It's not a problem with a particular port. The www/apache13 port was 
given just as example how to reproduce the bug.


This affects _all_ ports when installed/upgraded/built via portupgrade 
and when the '-M' switch is used.


Try '-m' as a workaround.

-Jonathan
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: portupgrade bug: -M no longer works after v2.1.0

2006-07-11 Thread Sergey Matveychuk
Atanas wrote:
 Recent portupgrade versions no longer obey the -M command line switch,
 i.e. any optional arguments to be prepended to each make command.
 

It should. I'll investigate it.

-- 
Dixi.
Sem.
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: portupgrade bug: -M no longer works after v2.1.0

2006-07-11 Thread Sergey Matveychuk
Atanas wrote:
 Recent portupgrade versions no longer obey the -M command line switch,
 i.e. any optional arguments to be prepended to each make command.
 
 How to reproduce:
 
 # portinstall -M APACHE_HARD_SERVER_LIMIT=1024 www/apache13

Everything work file. Use -m for getting what you want.

-- 
Dixi.
Sem.
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]