On Mon, Sep 29, 2014 at 5:42 AM, Michael Olbrich wrote: > On Fri, Sep 26, 2014 at 05:46:51PM -0400, jon@ringle.org wrote: > > From: Jon Ringle > > > > 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/) > > Is '/opt' your actual use-case or just an example? I wouldn't mind adding > /opt to the default list. > It is just an example. My actual use-case looks like this: @$(foreach lib, $(GPEC_LIBS), \ $(call install_lib, gpec, 0, 0, 0644, $(lib), opt/gpec/live/);) where the list of libs in $(GPEC_LIBS) is installed to /opt/gpec/live/lib/ > If not: > > > Signed-off-by: Jon Ringle > > --- > > rules/post/install.make | 4 +++- > > scripts/lib/ptxd_make_xpkg_pkg.sh | 4 +++- > > 2 files changed, 6 insertions(+), 2 deletions(-) > > > > diff --git a/rules/post/install.make b/rules/post/install.make > > index d57e5dd..2ff9f40 100644 > [...] > > diff --git a/scripts/lib/ptxd_make_xpkg_pkg.sh > b/scripts/lib/ptxd_make_xpkg_pkg.sh > > index 86196a2..501d1fd 100644 > > --- a/scripts/lib/ptxd_make_xpkg_pkg.sh > > +++ b/scripts/lib/ptxd_make_xpkg_pkg.sh > > @@ -744,9 +744,11 @@ export -f ptxd_install_shared > > ptxd_install_lib() { > > local lib_dir=$(ptxd_get_lib_dir) > > local lib="$1" > > + local root_dir="$2" > > + shift > > shift > > local root_dir="${2%/}/" > shift 2 > > > > > - 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 > > local file="$(for dir in > "${pkg_pkg_dir}/"${root_dir#/}{,usr/}${lib_dir}; do > With this, is seems that the trailing / after ${pkg_pkg_dir} could be removed... > > So the argument for install_lib can be absolute, and the trailing / is > optional. Maybe even enforce an absolute path for root_dir. > And use root_dir instead of '{,usr/}' and not before it. > If the '{,/usr}' is removed, then won't that break searching for libs that might be in /usr/lib/ ?