Missing (build) dependencies as found through trace mode.

Eric Gallager egall at gwmail.gwu.edu
Sun Jun 29 19:06:45 PDT 2014


The way I would handle each of those categories would be:

 - "mandatory": simple enough, just use a `port:`-style depspec
 - "recommended": use a `bin:`-style depspec, so the system versions
can still satisfy it. Note that the autogen port does not fit in with
the rest of the autotools suite, despite its name (this confusion is
further compounded by the fact that many software packages call their
local autoreconf-equivalent scripts "autogen.sh", which is a practice
that autotools upstream frowns upon: see
http://www.gnu.org/software/automake/manual/html_node/Future-of-aclocal.html#Future-of-aclocal
for more on why these scripts are confusing and bad), so I would not
include autogen in this category.
 - "optional": make a separate variant for them, depending on what the
configure script does with them once it finds them, and use a
`port:`-style depspec in the variant. In the apache2 example, only the
first one of lynx/links/elinks is actually used, so only a dependency
on lynx would be necessary.
 - "very optional": make a separate variant for them, and use a
`bin:`-style depspec in the variant. Since the addition of
dependencies of this type do not technically change how the software
actually gets built (which is what variants are supposed to be used
for), be sure to add a note or something mentioning that the variant
only exists to placate trace mode's pedantry (and anyone's own
personal OCD). Although some people might object to such a variant
even with such a note, so you might want to be careful with these
ones.
 - "???": The cctools-headers one reminds me, it would be nice to have
a `header:`-style depspec, to match the `bin:`-style and `lib:`-style
ones


On 6/27/14, Mihai Moldovan <ionic at ionic.de> wrote:
> This said, I have a rather huge list of ports to upgrade, so I'll keep track
> of
> all of them and make a list of categorized "missing" dependencies.
>
> Currently I have the categories:
> "mandatory": build failures
> "recommended": better to have them around, stuff like autogen, automake,
> autoconf etc.
> "optional": dependencies to make configure happy, like elinks, links, lynx
> in
> the apache2 example
> "very optional": being searched for, but system tools can do the job just
> as
> well. No build or configure failures due to these, otherwise auto-move to
> "mandatory". Stuff like gawk, gsed, grep, gzip etc.
> "???": dependencies I have no idea how to handle. Stuff like cctools,
> cctools-headers, bison etc.
>
>
>
> Mihai
>
>


More information about the macports-dev mailing list