En sistemas FreeBSD, el gestor de ports portmaster posee una opción para simular el proceso de compilación e instalación de un port, una especie de apt-get -s en sistemas Devuan y derivados.

Esta opción es --show-work y se utiliza para mostrar qué dependencias están instaladas o no (de forma recursiva):

root@hal9000:/usr/home/emi # portmaster --show-work www/nginx

===>>> Port directory: /usr/ports/www/nginx

===>>> Starting check for all dependencies
===>>> Gathering dependency list for www/nginx from ports

===>>> Installed devel/pcre
===>>> Installed lang/perl5.20
===>>> Installed ports-mgmt/pkg
===>>> NOT INSTALLED            security/openssl

Esto permite determinar rápidamente qué dependencias es necesario instalar junto con un port específico:

root@hal9000:/usr/home/emi # portmaster --show-work www/nginx | grep "NOT INST"
===>>> NOT INSTALLED            security/openssl

Tener en cuenta que --show-work depende de la configuración del port. Por lo que, si se configura el port ejecutando make config, las dependencias (al igual que la salida de --show-work) pueden cambiar.

Por ejemplo el port www/owncloud, con la configuración por defecto, tiene las siguientes dependencias (61):

root@hal9000:~ # portmaster --show-work www/owncloud | grep "NOT INST"
===>>> NOT INSTALLED            archivers/php56-bz2
===>>> NOT INSTALLED            archivers/php56-zip
===>>> NOT INSTALLED            archivers/php56-zlib
===>>> NOT INSTALLED            audio/mp3info
===>>> NOT INSTALLED            converters/php56-iconv
===>>> NOT INSTALLED            databases/php56-mysql
===>>> NOT INSTALLED            databases/php56-pdo
===>>> NOT INSTALLED            databases/php56-pdo_mysql
===>>> NOT INSTALLED            databases/py-sqlite3
===>>> NOT INSTALLED            devel/bzr
===>>> NOT INSTALLED            devel/libcheck
===>>> NOT INSTALLED            devel/p5-Sub-Uplevel
===>>> NOT INSTALLED            devel/p5-Test-Exception
===>>> NOT INSTALLED            devel/p5-Test-NoWarnings
===>>> NOT INSTALLED            devel/p5-Test-Pod
===>>> NOT INSTALLED            devel/p5-Test-Simple
===>>> NOT INSTALLED            devel/p5-Test-Warn
===>>> NOT INSTALLED            devel/php56-json
===>>> NOT INSTALLED            devel/py-dateutil
===>>> NOT INSTALLED            devel/py-freezegun
===>>> NOT INSTALLED            devel/py-funcsigs
===>>> NOT INSTALLED            devel/py-iso8601
===>>> NOT INSTALLED            devel/py-mock
===>>> NOT INSTALLED            devel/py-nose
===>>> NOT INSTALLED            devel/py-pbr
===>>> NOT INSTALLED            devel/py-pip
===>>> NOT INSTALLED            devel/py-pretend
===>>> NOT INSTALLED            devel/py-py
===>>> NOT INSTALLED            devel/py-pytest
===>>> NOT INSTALLED            devel/py-pytest-capturelog
===>>> NOT INSTALLED            devel/py-pytest-timeout
===>>> NOT INSTALLED            devel/py-pytest-xdist
===>>> NOT INSTALLED            devel/py-scripttest
===>>> NOT INSTALLED            devel/py-setuptools_scm
===>>> NOT INSTALLED            devel/py-virtualenv
===>>> NOT INSTALLED            devel/scons
===>>> NOT INSTALLED            ftp/php56-curl
===>>> NOT INSTALLED            graphics/php56-exif
===>>> NOT INSTALLED            graphics/php56-gd
===>>> NOT INSTALLED            lang/cython
===>>> NOT INSTALLED            lang/expect
===>>> NOT INSTALLED            misc/dejagnu
===>>> NOT INSTALLED            misc/py-pexpect
===>>> NOT INSTALLED            net/pecl-smbclient
===>>> NOT INSTALLED            net/php56-ldap
===>>> NOT INSTALLED            security/php56-hash
===>>> NOT INSTALLED            security/php56-openssl
===>>> NOT INSTALLED            security/py-ecdsa
===>>> NOT INSTALLED            security/py-paramiko
===>>> NOT INSTALLED            sysutils/php56-fileinfo
===>>> NOT INSTALLED            sysutils/php56-posix
===>>> NOT INSTALLED            sysutils/py-execnet
===>>> NOT INSTALLED            textproc/php56-dom
===>>> NOT INSTALLED            textproc/php56-wddx
===>>> NOT INSTALLED            textproc/php56-xml
===>>> NOT INSTALLED            textproc/php56-xmlreader
===>>> NOT INSTALLED            textproc/php56-xmlwriter
===>>> NOT INSTALLED            textproc/php56-xsl
===>>> NOT INSTALLED            www/php56-session
===>>> NOT INSTALLED            x11-fonts/xf86bigfontproto
===>>> NOT INSTALLED            x11/bigreqsproto
===>>> NOT INSTALLED            x11/xcb-proto
===>>> NOT INSTALLED            x11/xcmiscproto

En cambio, si se configura con SQLite en vez de MySQL:

root@hal9000:~ # cd /usr/ports/www/owncloud
root@hal9000:/usr/ports/www/owncloud # make config

La lista de ports sin instalar cambia según las nuevas dependencias:

root@hal9000:/usr/ports/www/owncloud # portmaster --show-work www/owncloud | grep "NOT INST"
===>>> NOT INSTALLED            archivers/php56-bz2
===>>> NOT INSTALLED            archivers/php56-zip
===>>> NOT INSTALLED            archivers/php56-zlib
===>>> NOT INSTALLED            audio/mp3info
===>>> NOT INSTALLED            converters/php56-iconv
===>>> NOT INSTALLED            databases/php56-pdo
===>>> NOT INSTALLED            databases/php56-pdo_sqlite
===>>> NOT INSTALLED            databases/php56-sqlite3
===>>> NOT INSTALLED            devel/libcheck
===>>> NOT INSTALLED            devel/php56-json
===>>> NOT INSTALLED            ftp/php56-curl
===>>> NOT INSTALLED            graphics/php56-exif
===>>> NOT INSTALLED            graphics/php56-gd
===>>> NOT INSTALLED            lang/expect
===>>> NOT INSTALLED            misc/dejagnu
===>>> NOT INSTALLED            security/php56-hash
===>>> NOT INSTALLED            security/php56-openssl
===>>> NOT INSTALLED            sysutils/php56-fileinfo
===>>> NOT INSTALLED            sysutils/php56-posix
===>>> NOT INSTALLED            textproc/php56-dom
===>>> NOT INSTALLED            textproc/php56-wddx
===>>> NOT INSTALLED            textproc/php56-xml
===>>> NOT INSTALLED            textproc/php56-xmlreader
===>>> NOT INSTALLED            textproc/php56-xmlwriter
===>>> NOT INSTALLED            textproc/php56-xsl
===>>> NOT INSTALLED            www/php56-session
===>>> NOT INSTALLED            x11-fonts/xf86bigfontproto
===>>> NOT INSTALLED            x11/bigreqsproto
===>>> NOT INSTALLED            x11/xcb-proto
===>>> NOT INSTALLED            x11/xcmiscproto

De esta forma es posible comparar las dependencias necesarias entre diferentes configuraciones.

Referencias

man portmaster


Tal vez pueda interesarte


Compartí este artículo