When command expansions are unquoted, word splitting and globbing will
occur. This often manifests itself by breaking when filenames contain
spaces.
Trying to fix it by adding quotes or escapes to the data will not work.
Instead, quote the command substitution itself.
If the command substitution outputs multiple pieces of data, use a loop
instead.
Add an exception when using set -- where splitting is intended.
PR: 227109
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
Backtick command substitution `STATEMENT` is legacy syntax with several
issues.
- It has a series of undefined behaviors related to quoting in POSIX.
- It imposes a custom escaping mode with surprising results.
- It's exceptionally hard to nest.
$(STATEMENT) command substitution has none of these problems, and is
therefore strongly encouraged.
PR: 227109
Submitted by: mat
Sponsored by: Absolight
Change the way the dependencies are registred so that now it follows the same
mechanism as when the *_DEPENDS making the dependency registration system ready
to allow multiple packages from the same origin such as flavours and subpackages
Also allowing to install twice the same port one built with python33 and the
other built with python27 for example.
PR: 19702
With help of: antoine
Exp-run: portmgr (antoine)