Merge pull request #8385 from heitbaum/lib.private2

Part 2 - Keep addon introduced private shared libraries private to the addon
This commit is contained in:
CvH 2023-12-20 17:19:27 +01:00 committed by GitHub
commit 65d5cc7b92
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 33 additions and 23 deletions

View File

@ -46,8 +46,8 @@ makeinstall_target() {
}
addon() {
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/lib
cp -P ${PKG_BUILD}/.${TARGET_NAME}/src/.libs/libboblight.so* ${ADDON_BUILD}/${PKG_ADDON_ID}/lib
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
cp -P ${PKG_BUILD}/.${TARGET_NAME}/src/.libs/libboblight.so* ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
cp -P ${PKG_BUILD}/.${TARGET_NAME}/src/boblightd ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
@ -55,6 +55,7 @@ addon() {
if [ "${DISPLAYSERVER}" = "x11" ]; then
cp -P ${PKG_BUILD}/.${TARGET_NAME}/src/boblight-X11 ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
fi
patchelf --add-rpath '$ORIGIN/../lib.private' ${ADDON_BUILD}/${PKG_ADDON_ID}/bin/boblight-*
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/config
cp -R ${PKG_DIR}/config/boblight.conf ${ADDON_BUILD}/${PKG_ADDON_ID}/config

View File

@ -42,9 +42,11 @@ addon() {
cp -PR ${PKG_INSTALL}/etc/LCDd.conf ${ADDON_BUILD}/${PKG_ADDON_ID}/config/
cp -PR ${PKG_INSTALL}/usr/lib ${ADDON_BUILD}/${PKG_ADDON_ID}/lib/
patchelf --add-rpath '$ORIGIN/../../lib.private' ${ADDON_BUILD}/${PKG_ADDON_ID}/lib/lcdproc/glcd.so
cp -PR ${PKG_INSTALL}/usr/sbin ${ADDON_BUILD}/${PKG_ADDON_ID}/bin/
cp -L $(get_install_dir serdisplib)/usr/lib/libserdisp.so.2 ${ADDON_BUILD}/${PKG_ADDON_ID}/lib/
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
cp -L $(get_install_dir serdisplib)/usr/lib/libserdisp.so.2 ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
sed -e "s|^DriverPath=.*$|DriverPath=/storage/.kodi/addons/service.lcdd/lib/lcdproc/|" \
-e "s|^#Foreground=.*$|Foreground=no|" \

View File

@ -35,7 +35,8 @@ pre_configure_target() {
addon() {
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
cp -P ${PKG_INSTALL}/usr/sbin/minidlnad ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
patchelf --add-rpath '$ORIGIN/../lib.private' ${ADDON_BUILD}/${PKG_ADDON_ID}/bin/minidlnad
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/lib
cp -p $(get_install_dir libexif)/usr/lib/libexif.so.12 ${ADDON_BUILD}/${PKG_ADDON_ID}/lib
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
cp -p $(get_install_dir libexif)/usr/lib/libexif.so.12 ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
}

View File

@ -27,11 +27,11 @@ makeinstall_target() {
# find ${1}.so.[0-9]* in ${2} and copy it to dest
_pkg_copy_lib() {
find "${2}/usr/lib" -regextype sed -regex ".*/${1}\.so\.[0-9]*" \
-exec cp {} "${ADDON_BUILD}/${PKG_ADDON_ID}/lib" \;
-exec cp {} "${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private" \;
}
addon() {
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/{bin,lib}
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/{bin,lib.private}
cp ${PKG_BUILD}/.${TARGET_NAME}/unix/vncconfig/vncconfig \
${PKG_BUILD}/.${TARGET_NAME}/unix/vncpasswd/vncpasswd \

View File

@ -11,4 +11,6 @@ then
cp "$ADDON_DIR/config/passwd" "$ADDON_HOME/passwd"
fi
LD_LIBRARY_PATH=$ADDON_DIR/lib.private:$LD_LIBRARY_PATH
x0vncserver -PasswordFile="$ADDON_HOME/passwd" -rfbport="$vnc_port"

View File

@ -111,7 +111,7 @@ post_makeinstall_target() {
}
addon() {
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/{bin,lib}
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
cp ${PKG_DIR}/addon.xml ${ADDON_BUILD}/${PKG_ADDON_ID}
@ -124,7 +124,9 @@ addon() {
cp -P $(get_install_dir comskip)/usr/bin/comskip ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
if [ "${TARGET_ARCH}" = "x86_64" ]; then
cp -P $(get_install_dir x265)/usr/lib/libx265.so.199 ${ADDON_BUILD}/${PKG_ADDON_ID}/lib
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
cp -P $(get_install_dir x265)/usr/lib/libx265.so.199 ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
patchelf --add-rpath '$ORIGIN/../lib.private' ${ADDON_BUILD}/${PKG_ADDON_ID}/bin/{comskip,tvheadend}
fi
# dvb-scan files

View File

@ -25,7 +25,7 @@ PKG_ADDON_REQUIRES="pvr.vdr.vnsi:0.0.0 script.config.vdr:0.0.0"
addon() {
# create dirs
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/{bin,lib,plugin,locale}
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/{bin,lib.private,plugin,locale}
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/config/epgsources
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/config/plugins/{eepg,epgfixer,epgsearch,streamdev-server,vnsiserver}
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/res/plugins/{live,restfulapi}
@ -53,6 +53,7 @@ addon() {
vnsiserver wirbelscan wirbelscancontrol xmltv2vdr; do
cp -PR $(get_build_dir vdr-plugin-${pkg})/libvdr*.so.* ${ADDON_BUILD}/${PKG_ADDON_ID}/plugin
done
patchelf --add-rpath '$ORIGIN/../lib.private' ${ADDON_BUILD}/${PKG_ADDON_ID}/plugin/libvdr-live.so.*
# copy locale (omit ddci, dummydevice, robotv)
for pkg in dvbapi eepg epgfixer epgsearch iptv live restfulapi satip vnsiserver wirbelscan \
@ -67,7 +68,7 @@ addon() {
$(get_build_dir vdr-plugin-streamdev)/server/locale/* \
${ADDON_BUILD}/${PKG_ADDON_ID}/locale
cp -PL $(get_install_dir tntnet)/usr/lib/libtntnet.so.13 ${ADDON_BUILD}/${PKG_ADDON_ID}/lib
cp -PL $(get_install_dir tntnet)/usr/lib/libtntnet.so.13 ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
cp -P $(get_build_dir vdr)/vdr ${ADDON_BUILD}/${PKG_ADDON_ID}/bin/vdr.bin
cp -PR $(get_build_dir vdr)/locale/* ${ADDON_BUILD}/${PKG_ADDON_ID}/locale

View File

@ -30,7 +30,8 @@ make_target() {
}
addon() {
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/{bin,lib}
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/{bin,lib.private}
cp -P ${PKG_BUILD}/build/flirc_util ${ADDON_BUILD}/${PKG_ADDON_ID}/bin/
cp -P $(get_install_dir hidapi)/usr/lib/libhidapi-hidraw.so* ${ADDON_BUILD}/${PKG_ADDON_ID}/lib
patchelf --add-rpath '$ORIGIN/../lib.private' ${ADDON_BUILD}/${PKG_ADDON_ID}/bin/flirc_util
cp -P $(get_install_dir hidapi)/usr/lib/libhidapi-hidraw.so* ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
}