commit:     6a99c6752efc2fb6180c3a453ae5b641b67f662e
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 12 02:15:03 2018 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Thu Apr 12 02:22:46 2018 +0000

src/ use "-f" option to "ln" for POSIX compatibility.

On FreeBSD, we're getting an error:

  ln: illegal option -- -
  usage: ln [-s [-F] | -L | -P] [-f | -i] [-hnv] source_file [target_file]
  !!! Error: failed to create active php symlink

This is due to our use of the "--force" flag, which is not POSIX. In
the latest standard (IEEE Std 1003.1-2017), only the short "-f" flag
is guaranteed to exist, and FreeBSD's "ln" seems to mostly support the
flag as specified there. So, I've changed "--force" to "-f", and left
a warning to future generations in a nearby comment.


 src/ | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/ b/src/
index 8e25f96..889f541 100644
--- a/src/
+++ b/src/
@@ -457,7 +457,8 @@ set_sapi() {
        for link_name in $(sapi_active_link_names "${sapi}"); do
                local link_target=$(sapi_link_name_target "${sapi}" 
"${target_name}" "${link_name}")
-               @LN_S@ --force "${link_tgt_dir}/${link_target}" \
+               # Use the short "-f" option for POSIX compatibility.
+               @LN_S@ -f "${link_tgt_dir}/${link_target}" \
                        "${link_dir}/${link_name}" || \
                        die -q "failed to create active ${link_name} symlink"

Reply via email to