Synth and circular dependencies

Don Lewis truckman at FreeBSD.org
Tue Aug 22 03:30:33 UTC 2017


On 22 Aug, Thomas Mueller wrote:
> Again, I am responding from the FreeBSD mailing list web interface
> because that is faster than reaching my inbox.
> 
> from Don Lewis truckman at FreeBSD.org
> Mon Aug 21 23:16:36 UTC 2017
> 
>> > I went to /usr/ports/textproc/xmlto , ran "make all-depends-list",
>> > and one line that showed up was
>> > /usr/ports/textproc/xmlto
>  
>> > depends on itself.
> 
>> I don't see that here with default option settings:
> 
>> %cd /usr/ports/textproc/xmlto && make all-depends-list | grep
>> textproc
>> /usr/ports/textproc/libxml2
>> /usr/ports/textproc/libxslt
>> /usr/ports/textproc/docbook-xsl
>> /usr/ports/textproc/xmlcatmgr
>> /usr/ports/textproc/docbook
>> /usr/ports/textproc/docbook-sgml
>> /usr/ports/textproc/iso8879
>> /usr/ports/textproc/docbook-xml
>> /usr/ports/textproc/xmlcharent
>> /usr/ports/textproc/sdocbook-xml
> 
>> > Otherwise, on newer system, I see circular dependencies running
>> > "make all-depends-list", finding textproc/xmlto depended on
>> > graphics/gd and vice versa.
> 
>> I don't see the former:
> 
>> %cd /usr/ports/textproc/xmlto && make all-depends-list | grep
>> graphics
>> [nada]
> 
>> or the latter:
> 
>> %cd /usr/ports/graphics/gd && make all-depends-list | grep textproc 
>> /usr/ports/textproc/expat2
> 
>> This is with the head branch of the ports tree, revision r448344.
> 
>> Problems like this with the default option settings tend to get found
>> and fixed fairly quickly because this will cause failures on the
>> package build cluster and will spam the maintainer's mailbox with
>> build failure messages.
> 
> I didn't think I went overboard selecting options, but I did want
> documentation.  Maybe that screwed up, or the ports tree was not up to
> it.
> 
> I suppose I could move (mv) /var/db/ports to /var/db/ports2
> temporarily just to see what happens when I "make all-depends-list".
> 
> I really need to be able to see the options in a better way than the
> FreeBSD ports framework allows, like in a file /etc/mk.conf (pkgsrc)
> or USE= ... as in /etc/make.conf (Gentoo portage).
>
> Dialog4ports is better than the previous dialog but not as good as
> seeing in a file mk.conf or make.conf .


It is possible to set the options for ports in /etc/make.conf.  That is
how I handle it would poudriere which looks for make.conf files in
/usr/local/etc/poudriere.d and can use make.conf files that are specific
to each jail, ports tree and ports set (poudriere -z option to specify
the latter).

Specifying the options in make.conf also makes it easier to set options
globally for all all of the ports that you build so they are consistent.
For instance I specify these options globally:

OPTIONS_SET=CUPS APPLET OPENBLAS OBLAS SZIP LETTER GUILE2 GSSAPI_NONE KRB_NONE
OPTIONS_UNSET=GUILE1 NETLIB REFERENCE GSSAPI_BASE KRB_BASE KERBEROS

Port-specific options can be set like this:

graphics_gimp-help_SET=EN
graphics_gimp-help_UNSET=ALL

Back when I still used portupgrade, I found that dialog4ports got to be
really frustrating.



More information about the freebsd-ports mailing list