#! /usr/bin/env python3
#
# SPDX-License-Identifier: GPL-2.0-only
#

# Create a *relative* symlink, just like ln --relative does but without needing
# coreutils 8.16.

import sys, os

if len(sys.argv) != 3:
   print("$ lnr TARGET LINK_NAME")
   sys.exit(1)

target = sys.argv[1]
linkname = sys.argv[2]

if os.path.isabs(target):
   if not os.path.isabs(linkname):
      linkname = os.path.abspath(linkname)
   start = os.path.dirname(linkname)
   target = os.path.relpath(target, start)

os.symlink(target, linkname)
