[pacman-dev] [PATCH 5/5] meson-make-symlink.sh: Make compatible with non-GNU ln

Mark Weiman mark.weiman at markzz.com
Sat Apr 17 18:52:19 UTC 2021


On Sat, 2021-04-17 at 15:44 +0300, Bjoern Bidar wrote:
> > The "-T" flag is something available with GNU ln, but on other
> > implementations of ln, "-T" is not an option. So, to make this script
> > more portable, a strings check of ln for "GNU coreutils" is done to
> > determine if "-T" should be used.
> > 
> > Signed-off-by: Mark Weiman <mark.weiman at markzz.com>
> > ---
> >  build-aux/meson-make-symlink.sh | 8 ++++++--
> >  1 file changed, 6 insertions(+), 2 deletions(-)
> > 
> > diff --git a/build-aux/meson-make-symlink.sh
> > b/build-aux/meson-make-symlink.sh index 501cd43d..24a0dd2c 100644
> > --- a/build-aux/meson-make-symlink.sh
> > +++ b/build-aux/meson-make-symlink.sh
> > @@ -4,9 +4,13 @@ set -eu
> >  # this is needed mostly because $DESTDIR is provided as a variable,
> >  # and we need to create the target directory...
> > 
> > +# test if ln is GNU or not
> > +LN_FLAG="-T"
> > +strings /bin/ln | grep -q 'GNU coreutils' || LN_FLAG=""
> No strings needed just do:
> ln --version|grep GNU
> 
> Or skip -T even with GNU ln.

ln --version is not valid on all implementations, but I guess that could be a
check...

I can just remove -T altogether as well, also --relative may be an issue.

Mark


More information about the pacman-dev mailing list