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 <alf...@freebsd.org> 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 <w...@freebsd.org>
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.


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}
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to