From owner-freebsd-stable@FreeBSD.ORG Wed Jul 12 10:24:51 2006 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0910A16A4DA for ; Wed, 12 Jul 2006 10:24:51 +0000 (UTC) (envelope-from sem@FreeBSD.org) Received: from relay-er5.mbrd.ru (relay-er5.mbrd.ru [194.117.71.33]) by mx1.FreeBSD.org (Postfix) with ESMTP id B1BFC43D45 for ; Wed, 12 Jul 2006 10:24:39 +0000 (GMT) (envelope-from sem@FreeBSD.org) Received: from msd.mbrd.ru ([172.16.33.193]) by relay-er5.mbrd.ru with esmtpa (Exim 4.x) id 1G0btS-000GWN-7V; Wed, 12 Jul 2006 14:24:34 +0400 Message-ID: <44B4CDE3.60205@FreeBSD.org> Date: Wed, 12 Jul 2006 14:24:35 +0400 From: Sergey Matveychuk User-Agent: Thunderbird 1.5.0.4 (Windows/20060516) MIME-Version: 1.0 To: Atanas References: <44B40863.9060403@asd.aplus.net> <44B483B8.6000005@FreeBSD.org> <44B4A164.50003@asd.aplus.net> In-Reply-To: <44B4A164.50003@asd.aplus.net> X-Enigmail-Version: 0.93.2.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-stable@freebsd.org Subject: Re: portupgrade bug: -M no longer works after v2.1.0 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Jul 2006 10:24:51 -0000 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-args Specify 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.