From 4e42925096e97f4a6c9d09f475de7eb54a226668 Mon Sep 17 00:00:00 2001
From: Heiko Becker <heirecka@exherbo.org>
Date: Thu, 3 Dec 2020 21:04:26 +0100
Subject: [PATCH] Handle absolute sysconfdir when installing symlinks

sysconfdir defaults to /etc when the prefix is set to /usr. But joining
MESON_INSTALL_DESTDIR_PREFIX and sysconfdir when the latter is an
absoulte path, results in sysconfdir only. Which might lead to an error
during install because /etc/fonts/conf.d/ might already exist from an
pre-existing fontconfig installation.
---
 conf.d/link_confs.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

--- a/conf.d/link_confs.py
+++ b/conf.d/link_confs.py
@@ -11,7 +11,14 @@ if __name__=='__main__':
     parser.add_argument('links', nargs='+')
     args = parser.parse_args()
 
-    confpath = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], args.confpath)
+    if os.path.isabs(args.confpath):
+        destdir = os.environ.get('DESTDIR')
+        if destdir:
+            confpath = os.path.join(destdir, args.confpath[1:])
+        else:
+            confpath = args.confpath
+    else:
+        confpath = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], args.confpath)
 
     if not os.path.exists(confpath):
         os.makedirs(confpath)
