mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH v3 1/2] install_dir: Allow one to specify an alternate root dir
@ 2014-10-01  5:09 jon
  2014-10-01  5:09 ` [ptxdist] [PATCH v3 2/2] systemd: PTXCONF_SYSTEMD_COREDUMP jon
  0 siblings, 1 reply; 2+ messages in thread
From: jon @ 2014-10-01  5:09 UTC (permalink / raw)
  To: ptxdist; +Cc: Jon Ringle

From: Jon Ringle <jringle@gridpoint.com>

This is useful if you install a package to /opt and libs are in /opt/lib:
    $(call install_lib, foo, 0, 0, 0644, libfoo, /opt)

Signed-off-by: Jon Ringle <jringle@gridpoint.com>
---
 rules/post/install.make           |  4 +++-
 scripts/lib/ptxd_make_xpkg_pkg.sh | 13 +++++++++++--
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/rules/post/install.make b/rules/post/install.make
index d57e5dd..2ff9f40 100644
--- a/rules/post/install.make
+++ b/rules/post/install.make
@@ -231,6 +231,7 @@ install_package =		\
 # $3: GID
 # $4: permissions (octal)
 # $5: library name without suffix.
+# $6: optional root dir
 #
 install_lib =			\
 	XPKG=$(subst _,-,$(strip $(1)));	\
@@ -238,8 +239,9 @@ install_lib =			\
 	GRP="$(strip $(3))";	\
 	PER="$(strip $(4))";	\
 	LIB=$(strip $(5));	\
+	DST=$(strip $(6)); \
 	$(call install_check, install_lib);	\
-	echo "ptxd_install_lib '$$LIB' '$$OWN' '$$GRP' '$$PER'" >> "$(STATEDIR)/$$XPKG.cmds"
+	echo "ptxd_install_lib '$$LIB' '$$DST' '$$OWN' '$$GRP' '$$PER'" >> "$(STATEDIR)/$$XPKG.cmds"
 
 #
 # install_replace
diff --git a/scripts/lib/ptxd_make_xpkg_pkg.sh b/scripts/lib/ptxd_make_xpkg_pkg.sh
index 86196a2..5c5ce67 100644
--- a/scripts/lib/ptxd_make_xpkg_pkg.sh
+++ b/scripts/lib/ptxd_make_xpkg_pkg.sh
@@ -744,9 +744,18 @@ export -f ptxd_install_shared
 ptxd_install_lib() {
     local lib_dir=$(ptxd_get_lib_dir)
     local lib="$1"
-    shift
+    local root_dir="${2}"
+    shift 2
+
+    if [ -n "${root_dir}" ]; then
+	root_dir="${root_dir%/}"
+
+	if [[ "${root_dir}" != /* ]]; then
+	    ptxd_install_error "ptxd_lib_install: root_dir '${root_dir}' must be absolute"
+	fi
+    fi
 
-    local file="$(for dir in "${pkg_pkg_dir}/"{,usr/}${lib_dir}; do
+    local file="$(for dir in "${pkg_pkg_dir}"${root_dir}{/,/usr/}${lib_dir}; do
 	    find "${dir}" -type f -path "${dir}/${lib}.so*"; done 2>/dev/null)"
 
     if [ ! -f "${file}" ]; then
-- 
1.8.5.4


-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-10-01  5:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-01  5:09 [ptxdist] [PATCH v3 1/2] install_dir: Allow one to specify an alternate root dir jon
2014-10-01  5:09 ` [ptxdist] [PATCH v3 2/2] systemd: PTXCONF_SYSTEMD_COREDUMP jon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox