Please some help with port options in the new world order.

Alfred Perlstein alfred at freebsd.org
Thu Apr 17 01:47:07 UTC 2014


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 <wg at 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

The reason this is happening is because the nanobsd build (actually 
freenas-ish) has this code that looks like this:
add_port net/rsync WITH+="ACL" WITH+="ICONV"

The "add_port" is a shell function that takes its remaining args and 
passes them down into a closure made like so:
add_port() {
....
         echo "Package is not yet built: $port"
         eval "
             add_port_${port} () {
                 do_add_port ${repo_path} ${port_path} $*
             }
             customize_cmd add_port_${port}
         "
....
}

That means I can't pass an option such as: WITH="ACL ICONV"
instead I find that I have to pass them individually which is why I am 
trying: WITH+="ACL" WITH+="ICONV"

Unfortunately this causes the port to freak out.

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.

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?

-Alfred



More information about the freebsd-ports mailing list