FreeBSD Port: ports-mgmt/poudriere - unneeded dependencies for options command

Miroslav Lachman 000.fbsd at quip.cz
Thu Oct 29 13:27:49 UTC 2015


I usually use poudriere for larger set of packages (about 500) so this 
problem was hidden to me but now I needed just minimal set with 2 packages.
`poudriere options` gives me 26 options dialogs for things which are not 
dependencies and for wrong versions.
It gives me options for Git, bzr and more strange - for perl5-5.16 even 
if I have perl5=5.20 set as default version in make.conf

And surprise - these "dependencies" are not compiled by `poudriere bulk` 
command.

Is it problem of poudriere or prots frame work? Is it possible to fix 
it? Because it is very annoying.

The details are below:

root at sm-reserve ~/# uname -srmi
FreeBSD 10.2-RELEASE-p5 amd64 GENERIC

poudriere-3.1.7

Ports tree from 2015-09-30


make.conf for this package

# cat /usr/local/etc/poudriere.d/eprofi-make.conf

## https://wiki.freebsd.org/Ports/Options/OptionsNG
## OptionsNG sets DOCS, EXAMPLES and NLS as default - we do not need them
OPTIONS_UNSET= X11 GUI CUPS DOCS EXAMPLES NLS

WITH_BDB_VER=5
WITH_GHOSTSCRIPT_VER=9

DEFAULT_VERSIONS=apache=2.4 perl5=5.20 mysql=5.5m php=5.5 python=2.7 
pgsql=9.3


list of packages to build

# cat /usr/local/etc/poudriere.d/pkglists/eprofi

devel/py-pip
devel/py-virtualenv



Unbelievable long list of dependencies options

# poudriere options -s -z eprofi -p default -f 
/usr/local/etc/poudriere.d/pkglists/eprofi
[00:00:00] ====>> Appending to make.conf: 
/usr/local/etc/poudriere.d/make.conf
[00:00:00] ====>> Appending to make.conf: 
/usr/local/etc/poudriere.d/eprofi-make.conf
===> The following configuration options are available for py27-pip-7.0.3:
      DOCS=off: Build and/or install documentation
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
py27-pip-7.0.3 and dependencies
===> The following configuration options are available for py27-pip-7.0.3:
      DOCS=off: Build and/or install documentation
===> Use 'make config' to modify these settings
===> The following configuration options are available for python27-2.7.10:
      DEBUG=off: Build with debugging support
      IPV6=on: IPv6 protocol support
      LIBFFI=on: Use libffi from ports instead of bundled version
      NLS=off: Enable gettext support for the locale module
      PYMALLOC=on: Enable specialized mallocs
      SEM=on: POSIX semaphores support
      THREADS=on: Threading support
====> Unicode support: you have to select exactly one of them
      UCS2=off: Enable UCS2 Unicode Strings
      UCS4=on: Enable UCS4 Unicode Strings
===> Use 'make config' to modify these settings
===> The following configuration options are available for libffi-3.2.1:
      TESTS=off: Include tools for test suite
===> Use 'make config' to modify these settings
===> The following configuration options are available for gmake-4.1_2:
      NLS=off: Native Language Support
===> Use 'make config' to modify these settings
===> The following configuration options are available for tcl86-8.6.4:
      MODULES=on: Install Tcl common modules
      TCLMAN=off: Install Tcl function manpages
      THREADS=on: Threading support
      TZDATA=off: Install Tcl timezone data
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
py27-pytest-2.7.1:
      TESTS=off: Install test suite requirements
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
py27-mock-1.0.1_1:
      TESTS=off: Install tox for running unit tests
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
py27-virtualenv-13.1.0:
      DOCS=off: Build and/or install documentation
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
sqlite3-3.8.11.1_1:
      ARMOR=off: Detect misuse of the API
      DBSTAT=off: Enable DBSTAT Virtual Table
      DIRECT_READ=off: File is read directly from disk
      EXTENSION=on: Allow loadable extensions
      FTS4=on: Enable FTS3/4 (Full Text Search) module
      MEMMAN=off: Allows it to release unused memory
      METADATA=on: Enable column metadata
      READLINE=on: Command line editing via libreadline
      SECURE_DELETE=on: Overwrite deleted information with zeros
      SOUNDEX=off: Enables the soundex() SQL function
      STMT=off: Prepared Statement Scan Status
      THREADS=on: Threading support
      UNLOCK_NOTIFY=on: Enable notification on unlocking
      UPD_DEL_LIMIT=off: ORDER BY and LIMIT on UPDATE and DELETE
      URI=on: Enable use the URI filename
      URI_AUTHORITY=off: Allow convert URL into a UNC
====> Unicode support
      ICU=off: Unicode support via ICU
      UNICODE61=on: Unicode Version 6.1 tokenizer
====> Index type for range queries
      RTREE=on: Enable R*Tree module
      RTREE_INT=off: Store 32-bit sig int (no float) coordinates
====> Where to store temporary file: you have to select exactly one of them
      TS0=off: Always use temporary file
      TS1=on: File by default, change allowed PRAGMA
      TS2=off: Memory by default, change allowed PRAGMA
      TS3=off: Always use memory
====> Which query planner to use: you can only select none or one of them
      STAT3=off: collect histogram data from leftmost column
      STAT4=off: collect histogram data from all columns
===> Use 'make config' to modify these settings
===> The following configuration options are available for git-2.5.3_1:
      CONTRIB=off: Install contributed scripts
      CURL=on: Data transfer support via cURL
      CVS=off: Enable CVS support
      ETCSHELLS=off: Modify /etc/shells
      GITWEB=on: Install gitweb
      GUI=off: GUI (Graphical User Interface) support
      HTMLDOCS=off: Install additional documentation
      ICONV=on: Encoding conversion support via iconv
      NLS=off: Native Language Support
      P4=off: Enable Perforce support
      PERL=on: Perl scripting language support
      SVN=on: Subversion support
===> Use 'make config' to modify these settings
===> The following configuration options are available for curl-7.44.0:
      CA_BUNDLE=on: Install CA bundle for OpenSSL
      COOKIES=on: Cookies support
      CURL_DEBUG=off: cURL debug memory tracking
      DEBUG=off: Build with debugging support
      DOCS=off: Build and/or install documentation
      EXAMPLES=off: Build and/or install examples
      HTTP2=off: HTTP protocol version 2.0 support
      IDN=off: International Domain Names support
      IPV6=on: IPv6 protocol support
      LDAP=off: LDAP protocol support
      LDAPS=off: LDAP protocol over SSL support
      LIBSSH2=off: SCP/SFTP support via libssh2
      PROXY=on: Proxy support
      RTMP=off: RTMP protocol support via librtmp
      TLS_SRP=on: TLS-SRP (Secure Remote Password) support
====> GSSAPI Security API support: you have to select exactly one of them
      GSSAPI_BASE=off: GSSAPI support via base system (Kerberos required)
      GSSAPI_HEIMDAL=off: GSSAPI support via security/heimdal
      GSSAPI_MIT=off: GSSAPI support via security/krb5
      GSSAPI_NONE=on: Disable GSSAPI support
====> DNS resolving options: you can only select none or one of them
      CARES=off: Asynchronous DNS resolution via c-ares
      THREADED_RESOLVER=on: Threaded DNS resolver
====> SSL protocol support: you can only select none or one of them
      GNUTLS=off: SSL/TLS support via GnuTLS
      NSS=off: SSL/TLS support via NSS
      OPENSSL=on: SSL/TLS support via OpenSSL
      POLARSSL=off: SSL/TLS support via PolarSSL
      WOLFSSL=off: SSL/TLS support via wolfSSL
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
perl5.16-5.16.3_24:
      DEBUG=off: Build with debugging support
      GDBM=off: GDBM_File extension
      MULTIPLICITY=on: Use multiplicity
      PERL_64BITINT=on: Use 64 bit integers (on i386)
      PERL_MALLOC=off: Use Perl malloc
      PTHREAD=on: Build with -lpthread
      SITECUSTOMIZE=off: Run-time customization of @INC
      THREADS=on: Build threaded perl
      USE_PERL=on: Rewrite links in /usr/bin
===> Use 'make config' to modify these settings
===> The following configuration options are available for ca_root_nss-3.20:
      ETCSYMLINK=off: Add symlink to /etc/ssl/cert.pem
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
p5-IO-Socket-SSL-2.016:
      EXAMPLES=off: Build and/or install examples
      IDN=off: International Domain Names support
      IPV6=on: IPv6 protocol support
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
p5-Net-SSLeay-1.72:
      EXAMPLES=off: Build and/or install examples
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
p5-Test-NoWarnings-1.04_2:
      DEVEL_STACKTRACE=off: Stack trace support
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
p5-Authen-SASL-2.16_1:
      KERBEROS=off: Kerberos support
===> Use 'make config' to modify these settings
===> The following configuration options are available for apr-1.5.2.1.5.4:
====> Options available for the group APR
      IPV6=on: IPv6 protocol support
      DEVRANDOM=on: Use /dev/random or compatible
====> Options available for the group APU
      BDB=off: Berkeley DB support
      GDBM=off: GNU dbm library support
      LDAP=off: LDAP protocol support
      MYSQL=off: MySQL database support
      NDBM=off: NDBM support
      PGSQL=off: PostgreSQL database support
      SQLITE=off: SQLite database support
      FREETDS=off: FreeTDS library support
====> Options available for the radio CRYPTO: you can only select none 
or one of them
      SSL=on: OpenSSL crypto driver
      NSS=off: NSS crypto driver
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
subversion-1.8.14_2:
      BDB=off: Berkeley DB support
      DOCS=off: Build and/or install documentation
      FREEBSD_TEMPLATE=off: FreeBSD Project log template
      MAINTAINER_DEBUG=off: Build debug version
      NLS=off: Native Language Support
      P4_STYLE_MARKERS=off: Perforce-style conflict markers
      SASL=off: SASL authentication support
      SERF=on: WebDAV/Delta-V (HTTP/HTTPS) repo access module
      STATIC=off: Build static version (no shared libs)
      SVNSERVE_WRAPPER=off: Enable svnserve wrapper (umask setter)
      TEST=off: Run subversion test suite
      TOOLS=off: Install several tools
===> Use 'make config' to modify these settings
===> The following configuration options are available for serf-1.3.8:
      DOCS=off: Build and/or install documentation
      GSSAPI=off: GSSAPI Security API support
===> Use 'make config' to modify these settings
===> The following configuration options are available for m4-1.4.17_1,1:
      EXAMPLES=off: Build and/or install examples
      LIBSIGSEGV=off: Use alternative page fault handler (GNU libsigsegv)
===> Use 'make config' to modify these settings
===> The following configuration options are available for bzr-2.6.0:
      CA_BUNDLE=on: Include CA bundle for SSL cert validation
      SFTP=off: Paramiko for SFTP support
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
gettext-tools-0.19.5.1:
      DOCS=off: Build and/or install documentation
      THREADS=on: Threading support
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
py27-virtualenv-13.1.0:
      DOCS=off: Build and/or install documentation
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
py27-virtualenv-13.1.0 and dependencies
===> The following configuration options are available for 
py27-virtualenv-13.1.0:
      DOCS=off: Build and/or install documentation
===> Use 'make config' to modify these settings
===> The following configuration options are available for python27-2.7.10:
      DEBUG=off: Build with debugging support
      IPV6=on: IPv6 protocol support
      LIBFFI=on: Use libffi from ports instead of bundled version
      NLS=off: Enable gettext support for the locale module
      PYMALLOC=on: Enable specialized mallocs
      SEM=on: POSIX semaphores support
      THREADS=on: Threading support
====> Unicode support: you have to select exactly one of them
      UCS2=off: Enable UCS2 Unicode Strings
      UCS4=on: Enable UCS4 Unicode Strings
===> Use 'make config' to modify these settings
===> The following configuration options are available for libffi-3.2.1:
      TESTS=off: Include tools for test suite
===> Use 'make config' to modify these settings
===> The following configuration options are available for gmake-4.1_2:
      NLS=off: Native Language Support
===> Use 'make config' to modify these settings
===> The following configuration options are available for tcl86-8.6.4:
      MODULES=on: Install Tcl common modules
      TCLMAN=off: Install Tcl function manpages
      THREADS=on: Threading support
      TZDATA=off: Install Tcl timezone data
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
py27-pytest-2.7.1:
      TESTS=off: Install test suite requirements
===> Use 'make config' to modify these settings
===> The following configuration options are available for 
py27-mock-1.0.1_1:
      TESTS=off: Install tox for running unit tests
===> Use 'make config' to modify these settings


But only 8 really needed packages were built

# poudriere bulk -v -j 10_2_amd64 -z eprofi -p default -f 
/usr/local/etc/poudriere.d/pkglists/eprofi
[00:00:00] ====>> Creating the reference jail... done
[00:00:01] ====>> Mounting system devices for 10_2_amd64-default-eprofi
[00:00:01] ====>> Mounting ports/packages/distfiles
[00:00:01] ====>> Converting package repository to new format
[00:00:01] ====>> Stashing existing package repository
[00:00:01] ====>> Mounting packages from: 
/vol0/poudriere/data/packages/10_2_amd64-default-eprofi
[00:00:01] ====>> Copying /var/db/ports from: 
/usr/local/etc/poudriere.d/eprofi-options
[00:00:01] ====>> Appending to make.conf: 
/usr/local/etc/poudriere.d/make.conf
[00:00:01] ====>> Appending to make.conf: 
/usr/local/etc/poudriere.d/eprofi-make.conf
/etc/resolv.conf -> 
/vol0/poudriere/data/.m/10_2_amd64-default-eprofi/ref/etc/resolv.conf
[00:00:01] ====>> Starting jail 10_2_amd64-default-eprofi
[00:00:01] ====>> Logs: 
/vol0/poudriere/data/logs/bulk/10_2_amd64-default-eprofi/2015-10-28_20h53m46s
[00:00:01] ====>> Loading MOVED
[00:00:02] ====>> Calculating ports order and dependencies
[00:00:02] ====>> Computing deps for devel/py-virtualenv
[00:00:02] ====>> Computing deps for devel/py-pip
[00:00:02] ====>> Computing deps for devel/py-setuptools27
[00:00:03] ====>> Computing deps for lang/python27
[00:00:03] ====>> Computing deps for ports-mgmt/pkg
[00:00:03] ====>> Computing deps for devel/libffi
[00:00:03] ====>> Computing deps for print/indexinfo
[00:00:03] ====>> Computing deps for devel/pkgconf
[00:00:03] ====>> pkg package missing, skipping sanity
[00:00:03] ====>> Skipping incremental rebuild and repository sanity checks
[00:00:03] ====>> Cleaning the build queue
[00:00:03] ====>> Recording filesystem state for prepkg... done
[00:00:06] ====>> Building 8 packages using 2 builders
[00:00:06] ====>> Starting/Cloning builders
[00:00:07] ====>> Hit CTRL+t at any time to see build progress and stats
..
..
Packing files for repository: 100%
[00:06:45] ====>> Committing packages to repository
[00:06:45] ====>> Removing old packages
[00:06:45] ====>> Built ports: ports-mgmt/pkg print/indexinfo 
devel/pkgconf devel/libffi lang/python27 devel/py-setuptools27 
devel/py-virtualenv devel/py-pip
[10_2_amd64-default-eprofi] [2015-10-28_20h53m46s] [committing:] Queued: 
8  Built: 8  Failed: 0  Skipped: 0  Ignored: 0  Tobuild: 0 Time: 00:06:44
[00:06:45] ====>> Logs: 
/vol0/poudriere/data/logs/bulk/10_2_amd64-default-eprofi/2015-10-28_20h53m46s
[00:06:45] ====>> Cleaning up
10_2_amd64-default-eprofi: removed
10_2_amd64-default-eprofi-n: removed
[00:06:45] ====>> Umounting file systems

Usr: 413.901s  Krnl: 103.705s  Totl: 6:45.55s  CPU: 127.6%  swppd: 0  
I/O: 2458+42297


Should I provide anything more to track this problem?

Miroslav Lachman


More information about the freebsd-ports mailing list