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
URL:        https://gitweb.gentoo.org/proj/eselect-php.git/commit/?id=6a99c675

src/php.eselect.in.in: 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.

Bug: https://bugs.gentoo.org/649270

 src/php.eselect.in.in | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/php.eselect.in.in b/src/php.eselect.in.in
index 8e25f96..889f541 100644
--- a/src/php.eselect.in.in
+++ b/src/php.eselect.in.in
@@ -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"
        done

Reply via email to