From 62ce2305081075a53836999441214f03d37b50b5 Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <asturm@gentoo.org>
Date: Sun, 28 Jun 2020 21:44:42 +0200
Subject: [PATCH 3/3] Consistent overrideable install paths

At least signon-plugins.pc and signon-plugins-common.pc were getting it wrong.

This patch is converting absolute INSTALL_LIBDIR to LIBDIR relative beneath
INSTALL_PREFIX.

Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
---
 common-installs-config.pri                    |  2 +-
 common-pkgconfig.pri                          |  2 +-
 common-project-config.pri                     | 30 +++++++++----------
 lib/SignOn/SignOnQt5Config.cmake.in           |  6 ++--
 lib/SignOn/SignOnQt6Config.cmake.in           |  6 ++--
 lib/SignOn/libsignon-qt.pc.in                 |  2 +-
 lib/SignOn/libsignon-qt.pri                   |  2 +-
 lib/SignOn/libsignon-qt5.pc.in                |  2 +-
 lib/SignOn/libsignon-qt6.pc.in                |  2 +-
 .../signon-plugins-common.pc.in               |  4 +--
 lib/plugins/signon-plugins.pc.in              |  4 +--
 lib/signond/SignOn/SignOnExtension.pc.in      |  2 +-
 lib/signond/signond.pc.in                     |  2 +-
 src/extensions/cryptsetup/cryptsetup.pro      |  2 +-
 src/plugins/plugins.pri                       |  4 +--
 13 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/common-installs-config.pri b/common-installs-config.pri
index 69c5ae8..b72477a 100644
--- a/common-installs-config.pri
+++ b/common-installs-config.pri
@@ -18,7 +18,7 @@ contains( TEMPLATE, app ) {
 # default installation target for libraries
 #-----------------------------------------------------------------------------
 contains( TEMPLATE, lib ) {
-    target.path  = $${INSTALL_LIBDIR}
+    target.path  = $${INSTALL_PREFIX}/$${LIBDIR}
     INSTALLS    += target
     message("====")
     message("==== INSTALLS += target")
diff --git a/common-pkgconfig.pri b/common-pkgconfig.pri
index 975068a..9f010d3 100644
--- a/common-pkgconfig.pri
+++ b/common-pkgconfig.pri
@@ -3,7 +3,7 @@
 !isEmpty(pkgconfig.files) {
     QMAKE_SUBSTITUTES += $${pkgconfig.files}.in
     pkgconfig.CONFIG = no_check_exist
-    pkgconfig.path  = $${INSTALL_LIBDIR}/pkgconfig
+    pkgconfig.path  = $${INSTALL_PREFIX}/$${LIBDIR}/pkgconfig
     QMAKE_EXTRA_TARGETS += pkgconfig
 
     QMAKE_CLEAN += $${pkgconfig.files}
diff --git a/common-project-config.pri b/common-project-config.pri
index 606f70b..1185559 100644
--- a/common-project-config.pri
+++ b/common-project-config.pri
@@ -57,36 +57,36 @@ exists( meego-release ) {
     ARCH = $$system(uname -m)
 }
 
-linux-g++-64|linux-icc-64: INSTALL_LIBDIR = $${INSTALL_PREFIX}/lib64
-else: linux-g++-32|linux-icc-32: INSTALL_LIBDIR = $${INSTALL_PREFIX}/lib32
-else: INSTALL_LIBDIR = $${INSTALL_PREFIX}/lib
+linux-g++-64|linux-icc-64: DEFAULT_LIBDIR = lib64
+else: linux-g++-32|linux-icc-32: DEFAULT_LIBDIR = lib32
+else: DEFAULT_LIBDIR = lib
 
 # default library directory can be overriden by defining LIBDIR when
 # running qmake
 isEmpty( LIBDIR ) {
+    LIBDIR = $${DEFAULT_LIBDIR}
     message("====")
-    message("==== NOTE: To override the library installation path run: `qmake LIBDIR=/custom/path'")
-    message("==== (current installation path is `$${INSTALL_LIBDIR}')")
+    message("==== NOTE: To override the library dir beneath INSTALL_PREFIX run: `qmake LIBDIR=customdir'")
+    message("==== (current library dir is `$${LIBDIR}`, install path `$${INSTALL_PREFIX}/$${LIBDIR}')")
 } else {
-    INSTALL_LIBDIR = $${LIBDIR}
     message("====")
-    message("==== library install path set to `$${INSTALL_LIBDIR}'")
+    message("==== library dir set to `$${LIBDIR}`, install path `$${INSTALL_PREFIX}/$${LIBDIR}'")
 }
 
-isEmpty ( CMAKE_CONFIG_PATH ) {
-    CMAKE_CONFIG_PATH = $${INSTALL_LIBDIR}/cmake/$${CMAKE_BASENAME}
+isEmpty ( CMAKE_MODULE_DIR ) {
+    CMAKE_MODULE_DIR = $${LIBDIR}/cmake/$${CMAKE_BASENAME}
     message("====")
-    message("==== NOTE: To override the cmake module installation path run: `qmake CMAKE_CONFIG_PATH=/custom/path'")
-    message("==== (current installation path is `$${CMAKE_CONFIG_PATH}')")
+    message("==== NOTE: To override the cmake module dir beneath INSTALL_PREFIX run: `qmake CMAKE_MODULE_DIR=customdir'")
+    message("==== (current cmake module dir is `$${CMAKE_MODULE_DIR}`, install path `$${INSTALL_PREFIX}/$${CMAKE_MODULE_DIR}')")
 } else {
     message("====")
-    message("==== cmake module install path set to `$${CMAKE_CONFIG_PATH}'")
+    message("==== cmake module dir set to `$${CMAKE_MODULE_DIR}', install path `$${INSTALL_PREFIX}/$${CMAKE_MODULE_DIR}')")
 }
 
 # Default directory for signond extensions
 _EXTENSIONS = $$(SIGNOND_EXTENSIONS_DIR)
 isEmpty(_EXTENSIONS) {
-    SIGNOND_EXTENSIONS_DIR = $${INSTALL_LIBDIR}/signon/extensions
+    SIGNOND_EXTENSIONS_DIR = $${INSTALL_PREFIX}/$${LIBDIR}/signon/extensions
 } else {
     SIGNOND_EXTENSIONS_DIR = $$_EXTENSIONS
 }
@@ -94,7 +94,7 @@ SIGNOND_EXTENSIONS_DIR_QUOTED = \\\"$$SIGNOND_EXTENSIONS_DIR\\\"
 
 _PLUGINS = $$(SIGNOND_PLUGINS_DIR)
 isEmpty(_PLUGINS) {
-    SIGNOND_PLUGINS_DIR = $${INSTALL_LIBDIR}/signon
+    SIGNOND_PLUGINS_DIR = $${INSTALL_PREFIX}/$${LIBDIR}/signon
 } else {
     SIGNOND_PLUGINS_DIR = $$_PLUGINS
 }
@@ -102,7 +102,7 @@ SIGNOND_PLUGINS_DIR_QUOTED = \\\"$$SIGNOND_PLUGINS_DIR\\\"
 
 # Note that you have to CONFIG+=install_tests in order to install tests
 isEmpty(TESTDIR) {
-    INSTALL_TESTDIR = $${INSTALL_LIBDIR}/signon
+    INSTALL_TESTDIR = $${INSTALL_PREFIX}/$${LIBDIR}/signon
 } else {
     INSTALL_TESTDIR = $${TESTDIR}
 }
diff --git a/lib/SignOn/SignOnQt5Config.cmake.in b/lib/SignOn/SignOnQt5Config.cmake.in
index 523fffb..7105315 100644
--- a/lib/SignOn/SignOnQt5Config.cmake.in
+++ b/lib/SignOn/SignOnQt5Config.cmake.in
@@ -2,6 +2,6 @@
 #  SIGNONQT_LIBRARIES - The libraries needed to use libsignon-qt
 #  SIGNONQT_LIBRARIES_STATIC - The static version of libsignon-qt
 
-set(SIGNONQT_LIBRARIES $${INSTALL_LIBDIR}/lib$${TARGET}.so)
-set(SIGNONQT_LIBRARIES_STATIC $${INSTALL_LIBDIR}/lib$${TARGET}.a)
-set(SIGNONQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET})
+set(SIGNONQT_LIBRARIES $${INSTALL_PREFIX}/$${LIBDIR}/lib$${TARGET}.so)
+set(SIGNONQT_LIBRARIES_STATIC $${INSTALL_PREFIX}/$${LIBDIR}/lib$${TARGET}.a)
+set(SIGNONQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET})
--- a/lib/SignOn/SignOnQt6Config.cmake.in
+++ b/lib/SignOn/SignOnQt6Config.cmake.in
@@ -2,6 +2,6 @@
 #  SIGNONQT_LIBRARIES - The libraries needed to use libsignon-qt
 #  SIGNONQT_LIBRARIES_STATIC - The static version of libsignon-qt
 
-set(SIGNONQT_LIBRARIES $${INSTALL_LIBDIR}/lib$${TARGET}.so)
-set(SIGNONQT_LIBRARIES_STATIC $${INSTALL_LIBDIR}/lib$${TARGET}.a)
+set(SIGNONQT_LIBRARIES $${INSTALL_PREFIX}/$${LIBDIR}/lib$${TARGET}.so)
+set(SIGNONQT_LIBRARIES_STATIC $${INSTALL_PREFIX}/$${LIBDIR}/lib$${TARGET}.a)
 set(SIGNONQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET})

diff --git a/lib/SignOn/libsignon-qt.pc.in b/lib/SignOn/libsignon-qt.pc.in
index 26f0f5b..c614541 100644
--- a/lib/SignOn/libsignon-qt.pc.in
+++ b/lib/SignOn/libsignon-qt.pc.in
@@ -1,6 +1,6 @@
 prefix=$$INSTALL_PREFIX
 exec_prefix=${prefix}
-libdir=$$INSTALL_LIBDIR
+libdir=${prefix}/$$LIBDIR
 includedir=${prefix}/include
 
 Name: libsignon-qt
diff --git a/lib/SignOn/libsignon-qt.pri b/lib/SignOn/libsignon-qt.pri
index 1458c50..d80f8bb 100644
--- a/lib/SignOn/libsignon-qt.pri
+++ b/lib/SignOn/libsignon-qt.pri
@@ -79,6 +79,6 @@ QMAKE_SUBSTITUTES += $${CMAKE_BASENAME}Config.cmake.in \
     $${CMAKE_BASENAME}ConfigVersion.cmake.in
 cmake_modules.files = $${CMAKE_BASENAME}Config.cmake \
     $${CMAKE_BASENAME}ConfigVersion.cmake
-cmake_modules.path = $${CMAKE_CONFIG_PATH}
+cmake_modules.path = $${INSTALL_PREFIX}/$${CMAKE_MODULE_DIR}
 
 INSTALLS += cmake_modules
diff --git a/lib/SignOn/libsignon-qt5.pc.in b/lib/SignOn/libsignon-qt5.pc.in
index 2181359..5d98b6d 100644
--- a/lib/SignOn/libsignon-qt5.pc.in
+++ b/lib/SignOn/libsignon-qt5.pc.in
@@ -1,6 +1,6 @@
 prefix=$$INSTALL_PREFIX
 exec_prefix=${prefix}
-libdir=$$INSTALL_LIBDIR
+libdir=${prefix}/$$LIBDIR
 includedir=${prefix}/include
 
 Name: libsignon-qt5
--- a/lib/SignOn/libsignon-qt6.pc.in
+++ b/lib/SignOn/libsignon-qt6.pc.in
@@ -1,6 +1,6 @@
 prefix=$$INSTALL_PREFIX
 exec_prefix=${prefix}
-libdir=$$INSTALL_LIBDIR
+libdir=${prefix}/$$LIBDIR
 includedir=${prefix}/include
 
 Name: libsignon-qt6
diff --git a/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in b/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in
index 3d7f3db..2240789 100644
--- a/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in
+++ b/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in
@@ -1,10 +1,10 @@
 prefix=$$INSTALL_PREFIX
 exec_prefix=${prefix}
-libdir=$$INSTALL_LIBDIR
+libdir=${prefix}/$$LIBDIR
 includedir=${prefix}/include
 plugin_includedir=${includedir}/signon-plugins/SignOn
 Name: signon-plugins-common
 Description: SignonPluginsCommon
 Version: $$PROJECT_VERSION
-Libs.private: -L/usr/lib -lQt$${QT_MAJOR_VERSION}Core
+Libs.private: -L${libdir} -lQt$${QT_MAJOR_VERSION}Core
 Cflags:  -I${includedir}/signon-plugins -I${includedir}/signon-plugins/SignOn
diff --git a/lib/plugins/signon-plugins.pc.in b/lib/plugins/signon-plugins.pc.in
index 5be38df..2e3c087 100644
--- a/lib/plugins/signon-plugins.pc.in
+++ b/lib/plugins/signon-plugins.pc.in
@@ -1,6 +1,6 @@
 prefix=$$INSTALL_PREFIX
 exec_prefix=${prefix}
-libdir=$$INSTALL_LIBDIR
+libdir=${prefix}/$$LIBDIR
 includedir=${prefix}/include
 plugin_includedir=${includedir}/signon-plugins/SignOn
 plugindir=$$SIGNOND_PLUGINS_DIR
@@ -8,6 +8,6 @@ Name: signon-plugins
 Description: SignonPlugins
 Version: $$PROJECT_VERSION
 Requires: $${LIBSIGNON}
-Libs.private: -L/usr/lib -lQt$${QT_MAJOR_VERSION}Core
+Libs.private: -L${libdir} -lQt$${QT_MAJOR_VERSION}Core
 Cflags:  -I${includedir}/signon-plugins -I${includedir}/signon-plugins/SignOn
 Libs: -lsignon-plugins
diff --git a/lib/signond/SignOn/SignOnExtension.pc.in b/lib/signond/SignOn/SignOnExtension.pc.in
index e439284..8fc669c 100644
--- a/lib/signond/SignOn/SignOnExtension.pc.in
+++ b/lib/signond/SignOn/SignOnExtension.pc.in
@@ -1,6 +1,6 @@
 prefix=$$INSTALL_PREFIX
 exec_prefix=${prefix}
-libdir=$$INSTALL_LIBDIR
+libdir=${prefix}/$$LIBDIR
 includedir=${prefix}/include
 plugindir=$$SIGNOND_EXTENSIONS_DIR
 
diff --git a/lib/signond/signond.pc.in b/lib/signond/signond.pc.in
index a7b5036..9ec0b1a 100644
--- a/lib/signond/signond.pc.in
+++ b/lib/signond/signond.pc.in
@@ -1,6 +1,6 @@
 prefix=$$INSTALL_PREFIX
 exec_prefix=${prefix}
-libdir=$$INSTALL_LIBDIR
+libdir=${prefix}/$$LIBDIR
 includedir=${prefix}/include
 
 Name: signond-dev
diff --git a/src/extensions/cryptsetup/cryptsetup.pro b/src/extensions/cryptsetup/cryptsetup.pro
index f4b6e53..2657b47 100644
--- a/src/extensions/cryptsetup/cryptsetup.pro
+++ b/src/extensions/cryptsetup/cryptsetup.pro
@@ -41,6 +41,6 @@ LIBS += \
 
 include( $${TOP_SRC_DIR}/common-installs-config.pri )
 
-target.path  = $${INSTALL_LIBDIR}/signon/extensions
+target.path  = $${INSTALL_PREFIX}/$${LIBDIR}/signon/extensions
 INSTALLS    += target
 
diff --git a/src/plugins/plugins.pri b/src/plugins/plugins.pri
index 2c03e74..ea2fcb2 100644
--- a/src/plugins/plugins.pri
+++ b/src/plugins/plugins.pri
@@ -27,7 +27,7 @@ QMAKE_CXXFLAGS += -fno-exceptions \
 
 headers.path = $${INSTALL_PREFIX}/include/signon-plugins
 
-pkgconfig.path = $${INSTALL_LIBDIR}/pkgconfig
+pkgconfig.path = $${INSTALL_PREFIX}/$${LIBDIR}/pkgconfig
 
-target.path = $${INSTALL_LIBDIR}/signon
+target.path = $${INSTALL_PREFIX}/$${LIBDIR}/signon
 INSTALLS = target
-- 
2.27.0
