HomeFreeBSD

Refactor dependency checks and installation

Description

Refactor dependency checks and installation

This is an important step to prepare the ports tree for VARIANTS(aka flavours)
and subpackage by making the dependency code easier to deal with.

Change:

  • Externalize in a proper shell script the code that was an inlined shell script
  • Add better validation on the syntaxe used
  • test after the dependency has been installed that it actually really fulfill the pattern searched (improving QA)
  • Unify lib-depends with other dependency checks
  • Make ${PORTSDIR} not mandatory anymore in _DEPENDS lines: aka pattern:${PORTSDIR}/category/port can now be written pattern:category/port /!\ Please to not use this syntax yet! poudriere have received a fix to be able to handle this new syntax (but no new release of poudriere has it yet) portmaster/portupgrade hasn't been checked. if one cares about those last 2 it would be really nice to provide patches to them!
  • Remove _DEPENDS_ALWAYS it has half broken for a while and did not really make sense.
  • Keep STRICT_DEPENDS for now it might not be necessary anymore given all the new checks added, but until someone confirms it is worth keeping it.

Note that all the env passed are prefixed by 'dp_' to avoid polluting children
make

Differential Revision: https://reviews.freebsd.org/D2897
Reviewed by: antoine
Exp-run by: antoine

Details

Provenance
baptAuthored on
Reviewer
antoine
Differential Revision
D2897: Rework ports dependency
Parents
rP390864: - Add NO_ARCH
Branches
Unknown
Tags
Unknown