Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Oct 2015 08:27:03 -0700
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        Miroslav Lachman <000.fbsd@quip.cz>
Cc:        "freebsd-ports@FreeBSD.org" <freebsd-ports@FreeBSD.org>
Subject:   Re: FreeBSD Port: ports-mgmt/poudriere - unneeded dependencies for options command
Message-ID:  <56323AC7.8010301@FreeBSD.org>
In-Reply-To: <56321ECD.2020303@quip.cz>
References:  <56321ECD.2020303@quip.cz>

next in thread | previous in thread | raw e-mail | index | archive | help
On 10/29/15 6:27 AM, Miroslav Lachman wrote:
> 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

It's likely due to things like perl.conf and php.conf leaking in from
the host. The options command isn't jailed so it sees these things. It's
a known issue at least.

> 
> 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@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


-- 
Regards,
Bryan Drewery



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56323AC7.8010301>