From owner-freebsd-ports@FreeBSD.ORG Thu Apr 17 06:34:01 2014 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 76BC7BEC; Thu, 17 Apr 2014 06:34:01 +0000 (UTC) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 01A9D1BAF; Thu, 17 Apr 2014 06:34:01 +0000 (UTC) Received: from AlfredMacbookAir.local (unknown [50.204.88.5]) by elvis.mu.org (Postfix) with ESMTPSA id 7E12F1A3C1A; Wed, 16 Apr 2014 23:33:58 -0700 (PDT) Message-ID: <534F75D5.3040503@freebsd.org> Date: Wed, 16 Apr 2014 23:33:57 -0700 From: Alfred Perlstein Organization: FreeBSD User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Scot Hetzel Subject: Re: Please some help with port options in the new world order. References: <534F32A8.8010206@freebsd.org> In-Reply-To: Content-Type: multipart/mixed; boundary="------------020608090107010507050907" Cc: FreeBSD Ports , Baptiste Daroussin , Bryan Drewery X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Apr 2014 06:34:01 -0000 This is a multi-part message in MIME format. --------------020608090107010507050907 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Any chance a patch like the following can be added? It basically makes the error message a tad more clear by saying which options conflict. thank you Scot! -Alfred On 4/16/14, 11:00 PM, Scot Hetzel wrote: > On Wed, Apr 16, 2014 at 8:47 PM, Alfred Perlstein wrote: >> Hey folks, >> >> I'm having a heck of a time with the rsync port in our build system with >> latest ports: >> commit 08b15d01e41c418b5c5b35fb5b691f5e83d40a95 >> Author: wg >> Date: Wed Apr 16 23:17:53 2014 +0000 >> >> devel/py-hgsubversion: update to 1.6 and use auto plist >> >> >> This is the error I am getting: >> + chroot /usr/home/alfred/freenas/os-base/amd64/_.w /bin/sh -exc 'env >> TARGET=amd64 TARGET_ARCH=amd64 NAS_PORTS_DIRECT=1 >> make __MAKE_CONF=/usr/home/alfred/freenas/os-base/amd64/make.conf.build >> SRC_BASE=/usr/src WRKDIRPREFIX=/usr/workdir -C >> /usr/ports_dir/net/rsync clean all package install BATCH=yes >> -DUSE_PACKAGE_DEPENDS WITH+=ACL WITH+=ICONV -DFORCE_PACKAGE >> -DFORCE_PKG_REGISTER' >> + env TARGET=amd64 TARGET_ARCH=amd64 NAS_PORTS_DIRECT=1 make >> __MAKE_CONF=/usr/home/alfred/freenas/os-base/amd64/make.conf.build >> SRC_BASE=/usr/src WRKDIRPREFIX=/usr/workdir -C /usr/ports_dir/net/rsync >> clean all package install BATCH=yes -DUSE_PACKAGE_DEPENDS WITH+=ACL >> WITH+=ICONV -DFORCE_PACKAGE -DFORCE_PKG_REGISTER >> ===> Cleaning for rsync-3.1.0_3 >> ===> License GPLv3 accepted by the user >> ====> You cannot select multiple options from the PTS radio >> *** Error code 1 >> > : > : >> This USED to work back in an earlier ports tree from 2 months ago by doing >> this: >> add_port net/rsync OPTIONS_FILE_SET+=ACL OPTIONS_FILE_SET+=ICONV >> >> However that gives the same error message now from the build ("====> You >> cannot select multiple options from the PTS radio"). >> >> Any tips on getting around this? It's very frustrating. >> > Try: > > add_port net/rsync WITH+=ACL WITH+=ICONV WITHOUT+=FLAGS > >> What is really strange is that OUTSIDE of the nanobsd build doing a simple: >> cd /usr/port/net/rsync && make WITH+=ACL WITH+=ICONV >> seems to work. >> >> Any idea why this is happening? >> > The last commit to the port enabled the FLAGS option by default. > Since FLAGS and ACL are listed in OPTIONS_RADIO_PTS, you can only > select one of them. > > The reason it works outside the nanobsd build is that at some point > you had disabled the FLAGS option in a previous build of the port. > Check the OPTIONSFILE in /var/db/ports/ for this port. > --------------020608090107010507050907 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="radio.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="radio.diff" diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index c56f7e0..120957f 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -5911,17 +5911,34 @@ OPTIONS_WRONG_SINGLE+= ${single} .endfor .undef single +# +# Iterate through each OPTIONS_RADIO +# Check to see if there are multiple options specified in PORT_OPTIONS +# for a single radio. +# +# If so, build up an error string noting the offending radio and options +# to be emitted later. +# .for radio in ${OPTIONS_RADIO} . for opt in ${OPTIONS_RADIO_${radio}} . if !empty(PORT_OPTIONS:M${opt}) . if defined(OPTFOUND) -OPTIONS_WRONG_RADIO+= ${radio} +. if !defined(SECONDOPT) +OPTIONS_WRONG_RADIO:= ${OPTIONS_WRONG_RADIO}${radio}(options:${OPTFOUND},${opt} +SECONDOPT= true +. else +OPTIONS_WRONG_RADIO:= ${OPTIONS_WRONG_RADIO},${opt} +. endif . else -OPTFOUND= true +OPTFOUND:= ${opt} . endif . endif . endfor +. if defined(SECONDOPT) +OPTIONS_WRONG_RADIO:= ${OPTIONS_WRONG_RADIO}) +. endif . undef OPTFOUND +. undef SECONDOPT .endfor .for multi in ${OPTIONS_MULTI} --------------020608090107010507050907--