Re: portupgrade bug: -M no longer works after v2.1.0
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
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
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
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
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
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
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
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
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
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
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
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
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]