diff --git a/config/functions b/config/functions index ee9b636886..e363649d39 100644 --- a/config/functions +++ b/config/functions @@ -94,6 +94,7 @@ print_color() { CLR_PATCH_DESC) clr_actual="${boldwhite}";; CLR_TARGET) clr_actual="${boldwhite}";; CLR_UNPACK) clr_actual="${boldcyan}";; + CLR_AUTOREMOVE) clr_actual="${boldblue}";; CLR_ENDCOLOR) clr_actual="${endcolor}";; @@ -170,6 +171,7 @@ setup_pkg_config_target() { export PKG_CONFIG="$TOOLCHAIN/bin/pkg-config" export PKG_CONFIG_PATH="" export PKG_CONFIG_LIBDIR="$SYSROOT_PREFIX/usr/lib/pkgconfig:$SYSROOT_PREFIX/usr/share/pkgconfig" + export PKG_CONFIG_SYSROOT_BASE="$BUILD" export PKG_CONFIG_SYSROOT_DIR="$SYSROOT_PREFIX" export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 @@ -179,6 +181,7 @@ setup_pkg_config_host() { export PKG_CONFIG="$TOOLCHAIN/bin/pkg-config" export PKG_CONFIG_PATH="" export PKG_CONFIG_LIBDIR="$TOOLCHAIN/lib/pkgconfig:$TOOLCHAIN/share/pkgconfig" + export PKG_CONFIG_SYSROOT_BASE="" export PKG_CONFIG_SYSROOT_DIR="" unset PKG_CONFIG_ALLOW_SYSTEM_CFLAGS unset PKG_CONFIG_ALLOW_SYSTEM_LIBS @@ -481,6 +484,7 @@ reset_pkg_vars() { if [ "${var}" = "PKG_CONFIG" ] || \ [ "${var}" = "PKG_CONFIG_PATH" ] || \ [ "${var}" = "PKG_CONFIG_LIBDIR" ] || \ + [ "${var}" = "PKG_CONFIG_SYSROOT_BASE" ] || \ [ "${var}" = "PKG_CONFIG_SYSROOT_DIR" ] || \ [ "${var}" = "PKG_CONFIG_ALLOW_SYSTEM_CFLAGS" ] || \ [ "${var}" = "PKG_CONFIG_ALLOW_SYSTEM_LIBS" ]; then @@ -1010,6 +1014,12 @@ source_package() { [ "$PKG_ADDON_IS_STANDALONE" != "yes" ] && PKG_NEED_UNPACK="${PKG_NEED_UNPACK} $(get_pkg_directory $MEDIACENTER)" fi + if [ -n "${PKG_IS_KERNEL_PKG}" -a "${PKG_NAME}" != "linux" ]; then + PKG_DEPENDS_TARGET="toolchain linux ${PKG_DEPENDS_TARGET}" + PKG_DEPENDS_UNPACK="linux ${PKG_DEPENDS_UNPACK}" + PKG_NEED_UNPACK="${LINUX_DEPENDS} ${PKG_NEED_UNPACK}" + fi + if [ -n "${PKG_DEPENDS_UNPACK}" ]; then for _p in ${PKG_DEPENDS_UNPACK}; do PKG_NEED_UNPACK+=" $(get_pkg_directory ${_p})" diff --git a/config/multithread b/config/multithread index 8b55858da4..0440964876 100644 --- a/config/multithread +++ b/config/multithread @@ -25,6 +25,8 @@ start_multithread_build() { fi buildopts+=" --log-combine ${LOGCOMBINE:-always}" + [ "${AUTOREMOVE}" = "yes" ] && buildopts+=" --auto-remove" + # When building addons, don't halt on error - keep building all packages/addons [ "${MTADDONBUILD}" = "yes" ] && buildopts+=" --continue-on-error" || buildopts+=" --halt-on-error" diff --git a/config/options b/config/options index 8e55002736..4b461a321a 100644 --- a/config/options +++ b/config/options @@ -56,7 +56,6 @@ KERNEL_NAME="${KERNEL_NAME:-KERNEL}" LINUX_DEPENDS="${PROJECT_DIR}/${PROJECT}/linux ${PROJECT_DIR}/${PROJECT}/patches/linux ${PROJECT_DIR}/${PROJECT}/packages/linux ${ROOT}/packages/linux" [ -n "${DEVICE}" ] && LINUX_DEPENDS+=" ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/linux ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/patches/linux ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/packages/linux" -[ "${TARGET_ARCH}" = "x86_64" ] && LINUX_DEPENDS+=" ${ROOT}/packages/linux-firmware/intel-ucode ${ROOT}/packages/linux-firmware/kernel-firmware" # Need to point to your actual cc # If you have ccache installed, take care that LOCAL_CC does not point to it diff --git a/packages/addons/addon-depends/argtable2/package.mk b/packages/addons/addon-depends/argtable2/package.mk index 5a41df55fb..37c65723f8 100644 --- a/packages/addons/addon-depends/argtable2/package.mk +++ b/packages/addons/addon-depends/argtable2/package.mk @@ -9,7 +9,7 @@ PKG_SITE="http://argtable.sourceforge.net/" PKG_URL="https://downloads.sourceforge.net/project/argtable/argtable/argtable-${PKG_VERSION}/argtable2-${PKG_VERSION:2:4}.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Argtable is an open source ANSI C library that parses GNU-style command-line options." +PKG_TOOLCHAIN="configure" +PKG_BUILD_FLAGS="-sysroot" -make_target() { - : -} +PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared" diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXcomposite/package.mk b/packages/addons/addon-depends/chrome-depends/chrome-libXcomposite/package.mk index 18e37dbfe1..f7cf5a031e 100644 --- a/packages/addons/addon-depends/chrome-depends/chrome-libXcomposite/package.mk +++ b/packages/addons/addon-depends/chrome-depends/chrome-libXcomposite/package.mk @@ -7,6 +7,7 @@ PKG_NAME="chrome-libXcomposite" PKG_LONGDESC="libXcomposite for chrome" PKG_URL="" PKG_DEPENDS_UNPACK+=" libXcomposite" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET \ --disable-static \ @@ -16,7 +17,3 @@ unpack() { mkdir -p $PKG_BUILD tar --strip-components=1 -xf $SOURCES/${PKG_NAME:7}/${PKG_NAME:7}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXdamage/package.mk b/packages/addons/addon-depends/chrome-depends/chrome-libXdamage/package.mk index f7ac02c7cf..daa3092630 100644 --- a/packages/addons/addon-depends/chrome-depends/chrome-libXdamage/package.mk +++ b/packages/addons/addon-depends/chrome-depends/chrome-libXdamage/package.mk @@ -7,6 +7,7 @@ PKG_NAME="chrome-libXdamage" PKG_LONGDESC="libXdamage for chrome" PKG_URL="" PKG_DEPENDS_UNPACK+=" libXdamage" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET \ --disable-static \ @@ -16,7 +17,3 @@ unpack() { mkdir -p $PKG_BUILD tar --strip-components=1 -xf $SOURCES/${PKG_NAME:7}/${PKG_NAME:7}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXfixes/package.mk b/packages/addons/addon-depends/chrome-depends/chrome-libXfixes/package.mk index e1e3047a97..8168c904bd 100644 --- a/packages/addons/addon-depends/chrome-depends/chrome-libXfixes/package.mk +++ b/packages/addons/addon-depends/chrome-depends/chrome-libXfixes/package.mk @@ -7,6 +7,7 @@ PKG_NAME="chrome-libXfixes" PKG_LONGDESC="libXfixes for chrome" PKG_URL="" PKG_DEPENDS_UNPACK+=" libXfixes" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET \ --disable-static \ @@ -16,7 +17,3 @@ unpack() { mkdir -p $PKG_BUILD tar --strip-components=1 -xf $SOURCES/${PKG_NAME:7}/${PKG_NAME:7}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXi/package.mk b/packages/addons/addon-depends/chrome-depends/chrome-libXi/package.mk index e999c2076f..b1b77c3d39 100644 --- a/packages/addons/addon-depends/chrome-depends/chrome-libXi/package.mk +++ b/packages/addons/addon-depends/chrome-depends/chrome-libXi/package.mk @@ -7,6 +7,7 @@ PKG_NAME="chrome-libXi" PKG_LONGDESC="libXi for chrome" PKG_URL="" PKG_DEPENDS_UNPACK+=" libXi" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET \ --disable-static \ @@ -16,7 +17,3 @@ unpack() { mkdir -p $PKG_BUILD tar --strip-components=1 -xf $SOURCES/${PKG_NAME:7}/${PKG_NAME:7}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXrender/package.mk b/packages/addons/addon-depends/chrome-depends/chrome-libXrender/package.mk index bbc6818bfc..ca5a9a08d4 100644 --- a/packages/addons/addon-depends/chrome-depends/chrome-libXrender/package.mk +++ b/packages/addons/addon-depends/chrome-depends/chrome-libXrender/package.mk @@ -7,6 +7,7 @@ PKG_NAME="chrome-libXrender" PKG_LONGDESC="libXrender for chrome" PKG_URL="" PKG_DEPENDS_UNPACK+=" libXrender" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET \ --disable-static \ @@ -16,7 +17,3 @@ unpack() { mkdir -p $PKG_BUILD tar --strip-components=1 -xf $SOURCES/${PKG_NAME:7}/${PKG_NAME:7}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXtst/package.mk b/packages/addons/addon-depends/chrome-depends/chrome-libXtst/package.mk index 47bb20b4d1..e5cbb8990d 100644 --- a/packages/addons/addon-depends/chrome-depends/chrome-libXtst/package.mk +++ b/packages/addons/addon-depends/chrome-depends/chrome-libXtst/package.mk @@ -7,6 +7,7 @@ PKG_NAME="chrome-libXtst" PKG_LONGDESC="libXtst for chrome" PKG_URL="" PKG_DEPENDS_UNPACK+=" libXtst" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET \ --disable-static \ @@ -16,7 +17,3 @@ unpack() { mkdir -p $PKG_BUILD tar --strip-components=1 -xf $SOURCES/${PKG_NAME:7}/${PKG_NAME:7}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libxcb/package.mk b/packages/addons/addon-depends/chrome-depends/chrome-libxcb/package.mk index f81e2d907e..91394f038c 100644 --- a/packages/addons/addon-depends/chrome-depends/chrome-libxcb/package.mk +++ b/packages/addons/addon-depends/chrome-depends/chrome-libxcb/package.mk @@ -7,6 +7,7 @@ PKG_NAME="chrome-libxcb" PKG_LONGDESC="libxcb for chrome" PKG_URL="" PKG_DEPENDS_UNPACK+=" libxcb" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET \ --disable-static \ @@ -16,7 +17,3 @@ unpack() { mkdir -p $PKG_BUILD tar --strip-components=1 -xf $SOURCES/${PKG_NAME:7}/${PKG_NAME:7}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/chrome-depends/gdk-pixbuf/package.mk b/packages/addons/addon-depends/chrome-depends/gdk-pixbuf/package.mk index 33534aa0e8..e2f682d655 100644 --- a/packages/addons/addon-depends/chrome-depends/gdk-pixbuf/package.mk +++ b/packages/addons/addon-depends/chrome-depends/gdk-pixbuf/package.mk @@ -9,12 +9,10 @@ PKG_LICENSE="OSS" PKG_SITE="http://www.gtk.org/" PKG_URL="https://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/${PKG_VERSION:0:4}/gdk-pixbuf-$PKG_VERSION.tar.xz" PKG_DEPENDS_TARGET="toolchain glib libjpeg-turbo libpng jasper shared-mime-info tiff libX11" +PKG_DEPENDS_CONFIG="shared-mime-info" PKG_LONGDESC="GdkPixbuf is a a GNOME library for image loading and manipulation." PKG_MESON_OPTS_TARGET="-Ddocs=false \ -Dgir=false \ -Dman=false \ -Drelocatable=false" -pre_configure_target() { - export PKG_CONFIG_PATH="$(get_build_dir shared-mime-info)/.$TARGET_NAME" -} diff --git a/packages/addons/addon-depends/chrome-depends/gtk3/package.mk b/packages/addons/addon-depends/chrome-depends/gtk3/package.mk index 169cded7f0..2c6c1238db 100644 --- a/packages/addons/addon-depends/chrome-depends/gtk3/package.mk +++ b/packages/addons/addon-depends/chrome-depends/gtk3/package.mk @@ -9,7 +9,9 @@ PKG_LICENSE="LGPL" PKG_SITE="http://www.gtk.org/" PKG_URL="https://ftp.gnome.org/pub/gnome/sources/gtk+/${PKG_VERSION:0:4}/gtk+-$PKG_VERSION.tar.xz" PKG_DEPENDS_TARGET="toolchain at-spi2-atk atk cairo gdk-pixbuf glib libX11 libXi libXrandr libepoxy pango" +PKG_DEPENDS_CONFIG="libXft pango gdk-pixbuf shared-mime-info" PKG_LONGDESC="A library for creating graphical user interfaces for the X Window System." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--disable-cups \ --disable-debug \ @@ -24,12 +26,7 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-cups \ --enable-xkb" pre_configure_target() { - LIBS="$LIBS -lXcursor" - export PKG_CONFIG_PATH="$(get_build_dir pango)/.$TARGET_NAME/meson-private:$(get_build_dir gdk-pixbuf)/.$TARGET_NAME/meson-private:$(get_build_dir shared-mime-info)/.$TARGET_NAME" - export CFLAGS="$CFLAGS -I$(get_build_dir pango) -I$(get_build_dir pango)/.$TARGET_NAME -L$(get_build_dir pango)/.$TARGET_NAME/pango" + # $TOOLCHAIN/bin/glib-compile-resources requires $TOOLCHAIN/lib/libffi.so.6 + export LD_LIBRARY_PATH="$TOOLCHAIN/lib:$LD_LIBRARY_PATH" export GLIB_COMPILE_RESOURCES=glib-compile-resources GLIB_MKENUMS=glib-mkenums GLIB_GENMARSHAL=glib-genmarshal } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/chrome-depends/libXScrnSaver/package.mk b/packages/addons/addon-depends/chrome-depends/libXScrnSaver/package.mk index c17771b1ec..886c71e95c 100644 --- a/packages/addons/addon-depends/chrome-depends/libXScrnSaver/package.mk +++ b/packages/addons/addon-depends/chrome-depends/libXScrnSaver/package.mk @@ -10,11 +10,8 @@ PKG_SITE="http://xorg.freedesktop.org/" PKG_URL="https://xorg.freedesktop.org/releases/individual/lib/libXScrnSaver-$PKG_VERSION.tar.bz2" PKG_DEPENDS_TARGET="toolchain scrnsaverproto" PKG_LONGDESC="X11 Screen Saver extension client library." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--disable-static \ --enable-shared \ --enable-malloc0returnsnull" - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/chrome-depends/libXcursor/package.mk b/packages/addons/addon-depends/chrome-depends/libXcursor/package.mk index 6c4f5ae536..cb00ccd813 100644 --- a/packages/addons/addon-depends/chrome-depends/libXcursor/package.mk +++ b/packages/addons/addon-depends/chrome-depends/libXcursor/package.mk @@ -10,8 +10,4 @@ PKG_SITE="http://www.X.org" PKG_URL="https://xorg.freedesktop.org/archive/individual/lib/libXcursor-$PKG_VERSION.tar.bz2" PKG_DEPENDS_TARGET="toolchain libX11 libXfixes libXrender" PKG_LONGDESC="X11 Cursor management library.s" -PKG_BUILD_FLAGS="+pic" - -makeinstall_target() { - : -} +PKG_BUILD_FLAGS="+pic -sysroot" diff --git a/packages/addons/addon-depends/chrome-depends/libXft/package.mk b/packages/addons/addon-depends/chrome-depends/libXft/package.mk index b21182059f..44726cdf29 100644 --- a/packages/addons/addon-depends/chrome-depends/libXft/package.mk +++ b/packages/addons/addon-depends/chrome-depends/libXft/package.mk @@ -10,11 +10,7 @@ PKG_SITE="http://www.X.org" PKG_URL="https://xorg.freedesktop.org/archive/individual/lib/libXft-$PKG_VERSION.tar.bz2" PKG_DEPENDS_TARGET="toolchain fontconfig freetype libXrender util-macros xorgproto" PKG_LONGDESC="X FreeType library." -PKG_BUILD_FLAGS="+pic" +PKG_BUILD_FLAGS="+pic -sysroot" PKG_CONFIGURE_OPTS_TARGET="--enable-static \ --disable-shared" - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/chrome-depends/libxss/package.mk b/packages/addons/addon-depends/chrome-depends/libxss/package.mk index 4124a80b48..45d7ee5569 100644 --- a/packages/addons/addon-depends/chrome-depends/libxss/package.mk +++ b/packages/addons/addon-depends/chrome-depends/libxss/package.mk @@ -9,10 +9,6 @@ PKG_SITE="http://www.X.org" PKG_URL="https://xorg.freedesktop.org/archive/individual/lib/libXScrnSaver-$PKG_VERSION.tar.bz2" PKG_DEPENDS_TARGET="toolchain util-macros libXext scrnsaverproto" PKG_LONGDESC="X11 Screen Saver extension library." -PKG_BUILD_FLAGS="+pic" +PKG_BUILD_FLAGS="+pic -sysroot" PKG_CONFIGURE_OPTS_TARGET="--enable-malloc0returnsnull" - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/chrome-depends/pango/package.mk b/packages/addons/addon-depends/chrome-depends/pango/package.mk index 8ee26acc0b..8cac160aca 100644 --- a/packages/addons/addon-depends/chrome-depends/pango/package.mk +++ b/packages/addons/addon-depends/chrome-depends/pango/package.mk @@ -9,16 +9,10 @@ PKG_LICENSE="GPL" PKG_SITE="http://www.pango.org/" PKG_URL="https://ftp.gnome.org/pub/gnome/sources/pango/${PKG_VERSION:0:4}/pango-$PKG_VERSION.tar.xz" PKG_DEPENDS_TARGET="toolchain cairo freetype fontconfig fribidi glib harfbuzz libX11 libXft" +PKG_DEPENDS_CONFIG="libXft cairo" PKG_LONGDESC="The Pango library for layout and rendering of internationalized text." PKG_TOOLCHAIN="meson" +PKG_BUILD_FLAGS="-sysroot" PKG_MESON_OPTS_TARGET="-Denable_docs=false \ -Dgir=false" - -pre_configure_target() { - export PKG_CONFIG_PATH="$(get_build_dir cairo)/.$TARGET_NAME/src":"$(get_build_dir libXft)/.$TARGET_NAME/src" -} - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/chrome-depends/scrnsaverproto/package.mk b/packages/addons/addon-depends/chrome-depends/scrnsaverproto/package.mk index b34a2cfced..22695e56a0 100644 --- a/packages/addons/addon-depends/chrome-depends/scrnsaverproto/package.mk +++ b/packages/addons/addon-depends/chrome-depends/scrnsaverproto/package.mk @@ -10,7 +10,4 @@ PKG_SITE="http://xorg.freedesktop.org/" PKG_URL="https://xorg.freedesktop.org/releases/individual/proto/scrnsaverproto-$PKG_VERSION.tar.bz2" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="X11 Screen Saver extension wire protocol." - -makeinstall_target() { - : -} +PKG_BUILD_FLAGS="-sysroot" diff --git a/packages/addons/addon-depends/chrome-depends/shared-mime-info/package.mk b/packages/addons/addon-depends/chrome-depends/shared-mime-info/package.mk index 1ce6801959..571857da0f 100644 --- a/packages/addons/addon-depends/chrome-depends/shared-mime-info/package.mk +++ b/packages/addons/addon-depends/chrome-depends/shared-mime-info/package.mk @@ -9,11 +9,7 @@ PKG_SITE="https://freedesktop.org/wiki/Software/shared-mime-info/" PKG_URL="http://freedesktop.org/~hadess/shared-mime-info-$PKG_VERSION.tar.xz" PKG_DEPENDS_TARGET="toolchain glib libxml2" PKG_LONGDESC="The shared-mime-info package contains the core database of common types." -PKG_BUILD_FLAGS="-parallel" +PKG_BUILD_FLAGS="-parallel -sysroot" PKG_CONFIGURE_OPTS_TARGET="--disable-nls \ --disable-update-mimedb" - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/comskip/package.mk b/packages/addons/addon-depends/comskip/package.mk index 2f76219895..ead8c25bf1 100644 --- a/packages/addons/addon-depends/comskip/package.mk +++ b/packages/addons/addon-depends/comskip/package.mk @@ -8,21 +8,13 @@ PKG_LICENSE="GPL" PKG_SITE="http://www.kaashoek.com/comskip/" PKG_URL="https://github.com/erikkaashoek/Comskip/archive/${PKG_VERSION}.tar.gz" PKG_DEPENDS_TARGET="toolchain argtable2 ffmpegx" +PKG_DEPENDS_CONFIG="argtable2 ffmpegx" PKG_LONGDESC="Comskip detects commercial breaks from a video stream. It can be used for post-processing recordings." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="-sysroot" pre_configure_target() { - LDFLAGS+=" -ldl" - - export argtable2_CFLAGS="-I$(get_build_dir argtable2)/src" - export argtable2_LIBS="-L$(get_build_dir argtable2)/src/.libs -largtable2" - -# pass ffmpegx to build - PKG_CONFIG_PATH="$(get_install_dir ffmpegx)/usr/local/lib/pkgconfig" + # pass ffmpegx to build CFLAGS+=" -I$(get_install_dir ffmpegx)/usr/local/include" LDFLAGS+=" -L$(get_install_dir ffmpegx)/usr/local/lib" } - -make_target() { - : -} diff --git a/packages/addons/addon-depends/dvb-tools-depends/blindscan-s2/package.mk b/packages/addons/addon-depends/dvb-tools-depends/blindscan-s2/package.mk index 75ab60d588..7a7936530f 100644 --- a/packages/addons/addon-depends/dvb-tools-depends/blindscan-s2/package.mk +++ b/packages/addons/addon-depends/dvb-tools-depends/blindscan-s2/package.mk @@ -9,7 +9,9 @@ PKG_SITE="https://bitbucket.org/majortom/blindscan-s2" PKG_URL="https://github.com/PLi-metas/blindscan-s2/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="blindscan-s2 is a program to blindscan digital satellite signals" +PKG_BUILD_FLAGS="-sysroot" makeinstall_target() { - : + mkdir -p $INSTALL/usr/bin + make install BIND=$INSTALL/usr/bin } diff --git a/packages/addons/addon-depends/dvb-tools-depends/dvb-apps/package.mk b/packages/addons/addon-depends/dvb-tools-depends/dvb-apps/package.mk index 71d7f0cb30..dffd6096a5 100644 --- a/packages/addons/addon-depends/dvb-tools-depends/dvb-apps/package.mk +++ b/packages/addons/addon-depends/dvb-tools-depends/dvb-apps/package.mk @@ -10,11 +10,8 @@ PKG_SITE="https://www.linuxtv.org/wiki/index.php/LinuxTV_dvb-apps" PKG_URL="http://linuxtv.org/hg/dvb-apps/archive/${PKG_VERSION}.tar.bz2" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Applications for initial setup, testing and operation of an DVB device supporting the DVB-S, DVB-C, DVB-T, and ATSC." +PKG_BUILD_FLAGS="-sysroot" pre_make_target() { export PERL_USE_UNSAFE_INC=1 } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/dvb-tools-depends/dvblast/package.mk b/packages/addons/addon-depends/dvb-tools-depends/dvblast/package.mk index 2f66627e85..f7983c8d4a 100644 --- a/packages/addons/addon-depends/dvb-tools-depends/dvblast/package.mk +++ b/packages/addons/addon-depends/dvb-tools-depends/dvblast/package.mk @@ -10,11 +10,9 @@ PKG_SITE="https://www.videolan.org/projects/dvblast.html" PKG_URL="http://repo.or.cz/dvblast.git/snapshot/${PKG_VERSION}.tar.gz" PKG_DEPENDS_TARGET="toolchain bitstream libev" PKG_LONGDESC="DVBlast is a simple and powerful MPEG-2/TS demux and streaming application" +PKG_BUILD_FLAGS="-sysroot" pre_configure_target() { export LDFLAGS="$LDFLAGS -lm" -} - -makeinstall_target() { - : + export PREFIX="/usr" } diff --git a/packages/addons/addon-depends/dvb-tools-depends/dvbsnoop/package.mk b/packages/addons/addon-depends/dvb-tools-depends/dvbsnoop/package.mk index bc8b04cdd9..b06bc25474 100644 --- a/packages/addons/addon-depends/dvb-tools-depends/dvbsnoop/package.mk +++ b/packages/addons/addon-depends/dvb-tools-depends/dvbsnoop/package.mk @@ -10,7 +10,4 @@ PKG_URL="https://github.com/persianpros/dvbsnoop/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="dvbsnoop is a DVB/MPEG stream analyzer program" PKG_TOOLCHAIN="autotools" - -makeinstall_target() { - : -} +PKG_BUILD_FLAGS="-sysroot" diff --git a/packages/addons/addon-depends/dvb-tools-depends/mumudvb/package.mk b/packages/addons/addon-depends/dvb-tools-depends/mumudvb/package.mk index 6c0d8d7324..6211a9e50b 100644 --- a/packages/addons/addon-depends/dvb-tools-depends/mumudvb/package.mk +++ b/packages/addons/addon-depends/dvb-tools-depends/mumudvb/package.mk @@ -10,7 +10,4 @@ PKG_URL="https://github.com/braice/MuMuDVB/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain libdvbcsa" PKG_LONGDESC="MuMuDVB (Multi Multicast DVB) is a program that streams from DVB on a network using multicasting or unicast" PKG_TOOLCHAIN="autotools" - -makeinstall_target() { - : -} +PKG_BUILD_FLAGS="-sysroot" diff --git a/packages/addons/addon-depends/dvb-tools-depends/szap-s2/package.mk b/packages/addons/addon-depends/dvb-tools-depends/szap-s2/package.mk index 1f242c58f4..2b85330403 100644 --- a/packages/addons/addon-depends/dvb-tools-depends/szap-s2/package.mk +++ b/packages/addons/addon-depends/dvb-tools-depends/szap-s2/package.mk @@ -9,7 +9,9 @@ PKG_SITE="https://bitbucket.org/updatelee/tune-s2" PKG_URL="https://bitbucket.org/CrazyCat/szap-s2/get/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="szap-s2 is a simple zapping tool for the Linux DVB S2 API" +PKG_BUILD_FLAGS="-sysroot" makeinstall_target() { - : + mkdir -p $INSTALL/usr/bin + make install BIND=$INSTALL/usr/bin } diff --git a/packages/addons/addon-depends/dvb-tools-depends/t2scan/package.mk b/packages/addons/addon-depends/dvb-tools-depends/t2scan/package.mk index e36f790212..d1f0634941 100644 --- a/packages/addons/addon-depends/dvb-tools-depends/t2scan/package.mk +++ b/packages/addons/addon-depends/dvb-tools-depends/t2scan/package.mk @@ -9,7 +9,4 @@ PKG_SITE="https://github.com/mighty-p/t2scan" PKG_URL="https://github.com/mighty-p/t2scan/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="A small channel scan tool which generates DVB-T/T2 channels.conf files." - -makeinstall_target() { - : -} +PKG_BUILD_FLAGS="-sysroot" diff --git a/packages/addons/addon-depends/dvb-tools-depends/tune-s2/package.mk b/packages/addons/addon-depends/dvb-tools-depends/tune-s2/package.mk index fe81785611..c84bcaad78 100644 --- a/packages/addons/addon-depends/dvb-tools-depends/tune-s2/package.mk +++ b/packages/addons/addon-depends/dvb-tools-depends/tune-s2/package.mk @@ -9,7 +9,9 @@ PKG_SITE="https://bitbucket.org/updatelee/tune-s2" PKG_URL="https://bitbucket.org/CrazyCat/tune-s2/get/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="tune-s2 is a small linux app to be able to tune a dvb devices" +PKG_BUILD_FLAGS="-sysroot" makeinstall_target() { - : + mkdir -p $INSTALL/usr/bin + make install BIND=$INSTALL/usr/bin } diff --git a/packages/addons/addon-depends/dvb-tools-depends/w_scan/package.mk b/packages/addons/addon-depends/dvb-tools-depends/w_scan/package.mk index 67d5e08923..16fd7a9a28 100644 --- a/packages/addons/addon-depends/dvb-tools-depends/w_scan/package.mk +++ b/packages/addons/addon-depends/dvb-tools-depends/w_scan/package.mk @@ -10,7 +10,4 @@ PKG_URL="http://wirbel.htpc-forum.de/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.bz2" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="A channel scan tool which generates ATSC, DVB-C, DVB-S/S2 and DVB-T channels.conf files." PKG_TOOLCHAIN="autotools" - -makeinstall_target() { - : -} +PKG_BUILD_FLAGS="-sysroot" diff --git a/packages/addons/addon-depends/game-tools/bchunk/package.mk b/packages/addons/addon-depends/game-tools/bchunk/package.mk index 73090582fe..f79377ee33 100644 --- a/packages/addons/addon-depends/game-tools/bchunk/package.mk +++ b/packages/addons/addon-depends/game-tools/bchunk/package.mk @@ -9,11 +9,13 @@ PKG_SITE="http://he.fi/bchunk/" PKG_URL="http://he.fi/bchunk/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Tool to convert a CD image in a .bin/.cue format to a set of .iso and .cdr tracks." - -makeinstall_target() { - : -} +PKG_BUILD_FLAGS="-sysroot" make_target() { make $PKG_MAKE_OPTS_TARGET CC=$CC LD=$CC } + +makeinstall_target() { + mkdir -p $INSTALL/usr/bin + cp -p bchunk $INSTALL/usr/bin +} diff --git a/packages/addons/addon-depends/game-tools/ecm-tools/package.mk b/packages/addons/addon-depends/game-tools/ecm-tools/package.mk index 48c07b6908..8146b67b8d 100644 --- a/packages/addons/addon-depends/game-tools/ecm-tools/package.mk +++ b/packages/addons/addon-depends/game-tools/ecm-tools/package.mk @@ -9,7 +9,4 @@ PKG_SITE="https://github.com/alucryd/ecm-tools" PKG_URL="https://github.com/alucryd/ecm-tools/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Error Code Modeler.s" - -makeinstall_target() { - : -} +PKG_BUILD_FLAGS="-sysroot" diff --git a/packages/addons/addon-depends/game-tools/iat/package.mk b/packages/addons/addon-depends/game-tools/iat/package.mk index 479e3bd3a4..04b1e81fa2 100644 --- a/packages/addons/addon-depends/game-tools/iat/package.mk +++ b/packages/addons/addon-depends/game-tools/iat/package.mk @@ -9,9 +9,6 @@ PKG_SITE="https://sourceforge.net/projects/iat.berlios/" PKG_URL="https://sourceforge.net/projects/iat.berlios/files/$PKG_NAME-$PKG_VERSION.tar.bz2" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Iso9660 Analyzer Tool to detect many structures of image file." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="ac_cv_func_malloc_0_nonnull=yes" - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/game-tools/linuxconsoletools/package.mk b/packages/addons/addon-depends/game-tools/linuxconsoletools/package.mk index 7918f9c7aa..1981d71db2 100644 --- a/packages/addons/addon-depends/game-tools/linuxconsoletools/package.mk +++ b/packages/addons/addon-depends/game-tools/linuxconsoletools/package.mk @@ -9,9 +9,10 @@ PKG_SITE="http://sourceforge.net/projects/linuxconsole/" PKG_URL="http://prdownloads.sourceforge.net/linuxconsole/$PKG_NAME-$PKG_VERSION.tar.bz2" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Set of utilities for joysticks and serial devices." +PKG_BUILD_FLAGS="-sysroot" PKG_MAKE_OPTS_TARGET="SYSTEMD_SUPPORT=0" makeinstall_target() { - : + make install PREFIX="/usr" DESTDIR="$INSTALL" } diff --git a/packages/addons/addon-depends/jre-depends/apache-ant/package.mk b/packages/addons/addon-depends/jre-depends/apache-ant/package.mk index ea9ddc0960..520c9cd100 100644 --- a/packages/addons/addon-depends/jre-depends/apache-ant/package.mk +++ b/packages/addons/addon-depends/jre-depends/apache-ant/package.mk @@ -7,7 +7,7 @@ PKG_SHA256="a4adf371696089e1730d4f55fd4d0c6f3784dea1eee402fcc981f2330f8d6fc1" PKG_LICENSE="Apache License 2.0" PKG_SITE="https://ant.apache.org/" PKG_URL="https://archive.apache.org/dist/ant/source/${PKG_NAME}-${PKG_VERSION}-src.tar.xz" -PKG_DEPENDS_HOST="jdk-x86_64-zulu:host" +PKG_DEPENDS_UNPACK="jdk-x86_64-zulu" PKG_LONGDESC="Apache Ant is a Java library and command-line tool that help building software." PKG_TOOLCHAIN="manual" diff --git a/packages/addons/addon-depends/jre-depends/jre-libXinerama/package.mk b/packages/addons/addon-depends/jre-depends/jre-libXinerama/package.mk index 02e8b4788d..2d03adf45f 100644 --- a/packages/addons/addon-depends/jre-depends/jre-libXinerama/package.mk +++ b/packages/addons/addon-depends/jre-depends/jre-libXinerama/package.mk @@ -7,6 +7,7 @@ PKG_NAME="jre-libXinerama" PKG_LONGDESC="libXinerama for JRE" PKG_URL="" PKG_DEPENDS_UNPACK+=" libXinerama" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET+=" --disable-static --enable-shared" @@ -14,7 +15,3 @@ unpack() { mkdir -p $PKG_BUILD tar --strip-components=1 -xf $SOURCES/${PKG_NAME:4}/${PKG_NAME:4}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/jre-depends/jre-libbluray/package.mk b/packages/addons/addon-depends/jre-depends/jre-libbluray/package.mk index bf733cb1db..fb773baec8 100644 --- a/packages/addons/addon-depends/jre-depends/jre-libbluray/package.mk +++ b/packages/addons/addon-depends/jre-depends/jre-libbluray/package.mk @@ -4,11 +4,12 @@ . $(get_pkg_directory libbluray)/package.mk PKG_NAME="jre-libbluray" -PKG_DEPENDS_TARGET+=" jdk-x86_64-zulu:host apache-ant:host" +PKG_DEPENDS_TARGET+=" apache-ant:host" PKG_LONGDESC="libbluray jar for BD-J menus" PKG_URL="" -PKG_DEPENDS_UNPACK+=" libbluray" +PKG_DEPENDS_UNPACK+=" jdk-x86_64-zulu libbluray" PKG_PATCH_DIRS+=" $(get_pkg_directory libbluray)/patches" +PKG_BUILD_FLAGS="-sysroot" unpack() { mkdir -p $PKG_BUILD @@ -27,7 +28,3 @@ make_target() { make all-local ) } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/lcdd-depends/libugpio/package.mk b/packages/addons/addon-depends/lcdd-depends/libugpio/package.mk index 5349cf9330..ed28c7d5b7 100644 --- a/packages/addons/addon-depends/lcdd-depends/libugpio/package.mk +++ b/packages/addons/addon-depends/lcdd-depends/libugpio/package.mk @@ -7,7 +7,7 @@ PKG_SHA256="5093c34cdb891560b0807cb371521cf94fa5c090ee7a84779663b16c831b9e9e" PKG_LICENSE="LGPLv2.1" PKG_SITE="https://github.com/mhei/libugpio" PKG_URL="https://github.com/mhei/$PKG_NAME/archive/v$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain linux" +PKG_DEPENDS_TARGET="toolchain linux:host" PKG_LONGDESC="A software library to ease the use of linux kernel's sysfs gpio interface from C programs and/or other libraries." PKG_TOOLCHAIN="autotools" PKG_BUILD_FLAGS="+pic" diff --git a/packages/addons/addon-depends/mpd-mpc/package.mk b/packages/addons/addon-depends/mpd-mpc/package.mk index 4a3b435bbe..bf180ec167 100644 --- a/packages/addons/addon-depends/mpd-mpc/package.mk +++ b/packages/addons/addon-depends/mpd-mpc/package.mk @@ -10,7 +10,4 @@ PKG_URL="https://www.musicpd.org/download/mpc/0/mpc-${PKG_VERSION}.tar.xz" PKG_DEPENDS_TARGET="toolchain libiconv libmpdclient" PKG_LONGDESC="Command-line client for MPD." PKG_TOOLCHAIN="meson" - -makeinstall_target() { - : -} +PKG_BUILD_FLAGS="-sysroot" diff --git a/packages/addons/addon-depends/multimedia-tools-depends/depends/libmediainfo/package.mk b/packages/addons/addon-depends/multimedia-tools-depends/depends/libmediainfo/package.mk index f02b3542a2..2c1e0cd6a1 100644 --- a/packages/addons/addon-depends/multimedia-tools-depends/depends/libmediainfo/package.mk +++ b/packages/addons/addon-depends/multimedia-tools-depends/depends/libmediainfo/package.mk @@ -8,10 +8,12 @@ PKG_LICENSE="GPL" PKG_SITE="http://mediaarea.net/en/MediaInfo/Download/Source" PKG_URL="http://mediaarea.net/download/source/libmediainfo/${PKG_VERSION}/libmediainfo_${PKG_VERSION}.tar.xz" PKG_DEPENDS_TARGET="toolchain libzen zlib" +PKG_DEPENDS_CONFIG="libzen" PKG_LONGDESC="MediaInfo is a convenient unified display of the most relevant technical and tag data for video and audio files" PKG_TOOLCHAIN="manual" +PKG_BUILD_FLAGS="-sysroot" -make_target() { +configure_target() { cd Project/GNU/Library do_autoreconf ./configure \ @@ -21,15 +23,19 @@ make_target() { --disable-shared \ --prefix=/usr \ --enable-visibility +} + +make_target() { make } -post_makeinstall_target() { - mkdir -p $SYSROOT_PREFIX/usr/include/MediaInfo - cp -aP ../../../Source/MediaInfo/* $SYSROOT_PREFIX/usr/include/MediaInfo +makeinstall_target() { + mkdir -p $INSTALL/usr/include/MediaInfo $INSTALL/usr/lib/pkgconfig + cp -aP ../../../Source/MediaInfo/*.h $INSTALL/usr/include/MediaInfo for i in Archive Audio Duplicate Export Image Multiple Reader Tag Text Video ; do - mkdir -p $SYSROOT_PREFIX/usr/include/MediaInfo/$i/ - cp -aP ../../../Source/MediaInfo/$i/*.h $SYSROOT_PREFIX/usr/include/MediaInfo/$i/ + mkdir -p $INSTALL/usr/include/MediaInfo/$i/ + cp -aP ../../../Source/MediaInfo/$i/*.h $INSTALL/usr/include/MediaInfo/$i/ done - cp -P libmediainfo-config $TOOLCHAIN/bin + cp -P .libs/* $INSTALL/usr/lib + cp -P libmediainfo.pc $INSTALL/usr/lib/pkgconfig } diff --git a/packages/addons/addon-depends/multimedia-tools-depends/depends/libzen/package.mk b/packages/addons/addon-depends/multimedia-tools-depends/depends/libzen/package.mk index 70ee91dec0..c221aff6e3 100644 --- a/packages/addons/addon-depends/multimedia-tools-depends/depends/libzen/package.mk +++ b/packages/addons/addon-depends/multimedia-tools-depends/depends/libzen/package.mk @@ -10,8 +10,9 @@ PKG_URL="http://mediaarea.net/download/source/libzen/${PKG_VERSION}/libzen_${PKG PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="MediaInfo is a convenient unified display of the most relevant technical and tag data for video and audio files" PKG_TOOLCHAIN="manual" +PKG_BUILD_FLAGS="-sysroot" -make_target() { +configure_target() { cd Project/GNU/Library do_autoreconf ./configure \ @@ -20,16 +21,19 @@ make_target() { --enable-static \ --disable-shared \ --prefix=/usr +} +make_target() { make } -post_makeinstall_target() { - mkdir -p $SYSROOT_PREFIX/usr/include/ZenLib - cp -aP ../../../Source/ZenLib/*.h $SYSROOT_PREFIX/usr/include/ZenLib +makeinstall_target() { + mkdir -p $INSTALL/usr/include/ZenLib $INSTALL/usr/lib/pkgconfig + cp -aP ../../../Source/ZenLib/*.h $INSTALL/usr/include/ZenLib for i in HTTP_Client Format/Html Format/Http ; do - mkdir -p $SYSROOT_PREFIX/usr/include/ZenLib/$i/ - cp -aP ../../../Source/ZenLib/$i/*.h $SYSROOT_PREFIX/usr/include/ZenLib/$i/ + mkdir -p $INSTALL/usr/include/ZenLib/$i/ + cp -aP ../../../Source/ZenLib/$i/*.h $INSTALL/usr/include/ZenLib/$i/ done - cp -P libzen-config $TOOLCHAIN/bin + cp -P .libs/* $INSTALL/usr/lib + cp -P libzen.pc $INSTALL/usr/lib/pkgconfig } diff --git a/packages/addons/addon-depends/multimedia-tools-depends/mediainfo/package.mk b/packages/addons/addon-depends/multimedia-tools-depends/mediainfo/package.mk index 1db3c5fe99..5693b5d3df 100644 --- a/packages/addons/addon-depends/multimedia-tools-depends/mediainfo/package.mk +++ b/packages/addons/addon-depends/multimedia-tools-depends/mediainfo/package.mk @@ -8,21 +8,24 @@ PKG_LICENSE="GPL" PKG_SITE="http://mediaarea.net/en/MediaInfo/Download/Source" PKG_URL="http://mediaarea.net/download/source/mediainfo/${PKG_VERSION}/mediainfo_${PKG_VERSION}.tar.xz" PKG_DEPENDS_TARGET="toolchain libmediainfo" +PKG_DEPENDS_CONFIG="libzen libmediainfo" PKG_LONGDESC="A convenient unified display of the most relevant technical and tag data for video and audio files." PKG_TOOLCHAIN="manual" +PKG_BUILD_FLAGS="-sysroot" -pre_configure_target() { - export LDFLAGS="$LDFLAGS -L$(get_build_dir libmediainfo)/Project/GNU/Library/.libs -L$(get_build_dir libzen)/Project/GNU/Library/.libs" - export LIBS="-lmediainfo -lzen" -} - -make_target() { +configure_target() { cd Project/GNU/CLI do_autoreconf - echo $PATH ./configure \ --host=$TARGET_NAME \ --build=$HOST_NAME \ --prefix=/usr +} + +make_target() { make } + +makeinstall_target() { + make install DESTDIR=$INSTALL +} diff --git a/packages/addons/addon-depends/multimedia-tools-depends/mesa-demos/package.mk b/packages/addons/addon-depends/multimedia-tools-depends/mesa-demos/package.mk index 18e00ae9cd..63de195c36 100644 --- a/packages/addons/addon-depends/multimedia-tools-depends/mesa-demos/package.mk +++ b/packages/addons/addon-depends/multimedia-tools-depends/mesa-demos/package.mk @@ -11,6 +11,7 @@ PKG_URL="ftp://ftp.freedesktop.org/pub/mesa/demos/$PKG_VERSION/$PKG_NAME-$PKG_VE PKG_DEPENDS_TARGET="toolchain libX11 mesa glu glew" PKG_LONGDESC="Mesa 3D demos - installed are the well known glxinfo and glxgears." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--without-glut" diff --git a/packages/addons/addon-depends/multimedia-tools-depends/mpg123/package.mk b/packages/addons/addon-depends/multimedia-tools-depends/mpg123/package.mk index 6065527ba7..43ff9ab553 100644 --- a/packages/addons/addon-depends/multimedia-tools-depends/mpg123/package.mk +++ b/packages/addons/addon-depends/multimedia-tools-depends/mpg123/package.mk @@ -9,6 +9,7 @@ PKG_SITE="http://www.mpg123.org/" PKG_URL="http://downloads.sourceforge.net/sourceforge/mpg123/mpg123-$PKG_VERSION.tar.bz2" PKG_DEPENDS_TARGET="toolchain alsa-lib" PKG_LONGDESC="A console based real time MPEG Audio Player for Layer 1, 2 and 3." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--disable-shared \ --enable-static" diff --git a/packages/addons/addon-depends/multimedia-tools-depends/mpv-drmprime/package.mk b/packages/addons/addon-depends/multimedia-tools-depends/mpv-drmprime/package.mk index e2334eca23..d06ae9e152 100644 --- a/packages/addons/addon-depends/multimedia-tools-depends/mpv-drmprime/package.mk +++ b/packages/addons/addon-depends/multimedia-tools-depends/mpv-drmprime/package.mk @@ -10,6 +10,7 @@ PKG_URL="https://github.com/mpv-player/mpv/archive/v$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain waf:host alsa ffmpeg libass libdrm" PKG_LONGDESC="A media player based on MPlayer and mplayer2. It supports a wide variety of video file formats, audio and video codecs, and subtitle types." PKG_TOOLCHAIN="manual" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \ --disable-libsmbclient \ diff --git a/packages/addons/addon-depends/multimedia-tools-depends/opencaster/package.mk b/packages/addons/addon-depends/multimedia-tools-depends/opencaster/package.mk index 8fd94c3376..d543113f4f 100644 --- a/packages/addons/addon-depends/multimedia-tools-depends/opencaster/package.mk +++ b/packages/addons/addon-depends/multimedia-tools-depends/opencaster/package.mk @@ -9,11 +9,13 @@ PKG_SITE="http://www.avalpa.com/the-key-values/15-free-software/33-opencaster" PKG_URL="http://ftp.de.debian.org/debian/pool/main/o/opencaster/opencaster_${PKG_VERSION}+dfsg.orig.tar.gz" PKG_DEPENDS_TARGET="toolchain zlib" PKG_LONGDESC="A free and open source MPEG2 transport stream data generator and packet manipulator." +PKG_BUILD_FLAGS="-sysroot" pre_configure_target() { PKG_MAKE_OPTS_TARGET="CC=$CC" } -pre_makeinstall_target() { - mkdir -p $INSTALL +makeinstall_target() { + mkdir -p $INSTALL/usr/bin + make install DESTDIR=$INSTALL/usr/bin } diff --git a/packages/addons/addon-depends/multimedia-tools-depends/squeezelite/package.mk b/packages/addons/addon-depends/multimedia-tools-depends/squeezelite/package.mk index 36cea23bc4..20d67d1029 100644 --- a/packages/addons/addon-depends/multimedia-tools-depends/squeezelite/package.mk +++ b/packages/addons/addon-depends/multimedia-tools-depends/squeezelite/package.mk @@ -8,13 +8,18 @@ PKG_LICENSE="GPLv3" PKG_SITE="https://github.com/ralph-irving/squeezelite" PKG_URL="https://github.com/ralph-irving/squeezelite/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain faad2 ffmpeg flac libmad libvorbis mpg123 soxr libogg" +PKG_DEPENDS_CONFIG="mpg123" PKG_LONGDESC="A client for the Logitech Media Server." +PKG_BUILD_FLAGS="-sysroot" -pre_make_target() { - export OPTS="-DDSD -DFFMPEG -DRESAMPLE -DVISEXPORT -DLINKALL" - export LDFLAGS="$LDFLAGS -lFLAC -lvorbisfile -lvorbis -logg" +make_target() { + make \ + OPTS="-DDSD -DFFMPEG -DRESAMPLE -DVISEXPORT -DLINKALL" \ + CFLAGS="$CFLAGS $(pkg-config --cflags libmpg123 vorbisfile vorbis ogg)" \ + LDFLAGS="$LDFLAGS $(pkg-config --libs libmpg123 vorbisfile vorbis ogg)" } makeinstall_target() { - : + mkdir -p $INSTALL/usr/bin + cp -p squeezelite $INSTALL/usr/bin } diff --git a/packages/addons/addon-depends/multimedia-tools-depends/tsdecrypt/package.mk b/packages/addons/addon-depends/multimedia-tools-depends/tsdecrypt/package.mk index 9181ebafa5..7818509905 100644 --- a/packages/addons/addon-depends/multimedia-tools-depends/tsdecrypt/package.mk +++ b/packages/addons/addon-depends/multimedia-tools-depends/tsdecrypt/package.mk @@ -10,6 +10,9 @@ PKG_SITE="http://georgi.unixsol.org/programs/tsdecrypt" PKG_URL="http://georgi.unixsol.org/programs/tsdecrypt/${PKG_NAME}-${PKG_VERSION}.tar.bz2" PKG_DEPENDS_TARGET="toolchain libdvbcsa openssl" PKG_LONGDESC="A tool that reads incoming mpeg transport stream over UDP/RTP and then decrypts it using libdvbcsa/ffdecsa." +PKG_BUILD_FLAGS="-sysroot" + +PKG_MAKEINSTALL_OPTS_TARGET="PREFIX=/usr" make_target() { make CC=$CC LINK="$LD -o" @@ -18,7 +21,3 @@ make_target() { post_make_target() { make strip STRIP=$STRIP } - -makeinstall_target() { - : # nop -} diff --git a/packages/addons/addon-depends/multimedia-tools-depends/tstools/package.mk b/packages/addons/addon-depends/multimedia-tools-depends/tstools/package.mk index 77f3d9f829..0b368c690d 100644 --- a/packages/addons/addon-depends/multimedia-tools-depends/tstools/package.mk +++ b/packages/addons/addon-depends/multimedia-tools-depends/tstools/package.mk @@ -10,15 +10,11 @@ PKG_SITE="https://github.com/kynesim/tstools" PKG_URL="https://github.com/kynesim/tstools/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="This is a set of cross-platform command line tools for working with MPEG data." +PKG_BUILD_FLAGS="-sysroot" + +PKG_MAKE_OPTS_TARGET="CROSS_COMPILE=$TARGET_PREFIX prefix=/usr" +PKG_MAKEINSTALL_OPTS_TARGET="${PKG_MAKE_OPTS_TARGET}" pre_make_target() { make builddirs } - -make_target() { - make CROSS_COMPILE=$TARGET_PREFIX -} - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/multimedia-tools-depends/tstools/patches/crossstrip.patch b/packages/addons/addon-depends/multimedia-tools-depends/tstools/patches/crossstrip.patch new file mode 100644 index 0000000000..95d26e2706 --- /dev/null +++ b/packages/addons/addon-depends/multimedia-tools-depends/tstools/patches/crossstrip.patch @@ -0,0 +1,12 @@ +diff -ur a/Makefile b/Makefile +--- a/Makefile 2015-10-30 17:34:51.000000000 +0100 ++++ b/Makefile 2019-12-14 12:58:16.655141460 +0100 +@@ -43,7 +43,7 @@ + man1dir=$(mandir)/man1 + manext=.1 + +-INSTALL=install ++INSTALL=install --strip-program=$(CROSS_COMPILE)strip + INSTALL_PROGRAM=$(INSTALL) -m 0555 -s + INSTALL_LIB=$(INSTALL) -m 0444 -s + INSTALL_DATA=$(INSTALL) -m 0444 diff --git a/packages/addons/addon-depends/network-tools-depends/bwm-ng/package.mk b/packages/addons/addon-depends/network-tools-depends/bwm-ng/package.mk index 4ac9a214ee..0e0b608184 100644 --- a/packages/addons/addon-depends/network-tools-depends/bwm-ng/package.mk +++ b/packages/addons/addon-depends/network-tools-depends/bwm-ng/package.mk @@ -10,6 +10,7 @@ PKG_URL="https://github.com/vgropp/bwm-ng/archive/v$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain ncurses libstatgrab" PKG_LONGDESC="A small and simple console-based live network and disk io bandwidth monitor." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--with-libstatgrab \ --with-time \ @@ -18,7 +19,3 @@ PKG_CONFIGURE_OPTS_TARGET="--with-libstatgrab \ --with-sysctldisk \ --with-procnetdev \ --with-partitions" - -makeinstall_target() { - : # nop -} diff --git a/packages/addons/addon-depends/network-tools-depends/iftop/package.mk b/packages/addons/addon-depends/network-tools-depends/iftop/package.mk index 1a12be6aac..8890ce47e3 100644 --- a/packages/addons/addon-depends/network-tools-depends/iftop/package.mk +++ b/packages/addons/addon-depends/network-tools-depends/iftop/package.mk @@ -10,6 +10,7 @@ PKG_URL="http://www.ex-parrot.com/pdw/iftop/download/$PKG_NAME-$PKG_VERSION.tar. PKG_DEPENDS_TARGET="toolchain ncurses libpcap libnl" PKG_LONGDESC="A tool to display bandwidth usage on an interface." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="-sysroot" pre_build_target() { mkdir -p $PKG_BUILD/.$TARGET_NAME @@ -19,7 +20,3 @@ pre_build_target() { pre_configure_target() { export LIBS="-lpcap -lnl-3 -lnl-genl-3 -lncurses" } - -makeinstall_target() { - : # nop -} diff --git a/packages/addons/addon-depends/network-tools-depends/iperf/package.mk b/packages/addons/addon-depends/network-tools-depends/iperf/package.mk index 5225257f4a..86e4bdea53 100644 --- a/packages/addons/addon-depends/network-tools-depends/iperf/package.mk +++ b/packages/addons/addon-depends/network-tools-depends/iperf/package.mk @@ -10,10 +10,7 @@ PKG_URL="https://github.com/esnet/iperf/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain openssl" PKG_LONGDESC="A tool to measuring maximum TCP and UDP bandwidth performance." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--enable-static \ --disable-shared" - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/network-tools-depends/irssi/package.mk b/packages/addons/addon-depends/network-tools-depends/irssi/package.mk index 1dc952e4e0..512961de77 100644 --- a/packages/addons/addon-depends/network-tools-depends/irssi/package.mk +++ b/packages/addons/addon-depends/network-tools-depends/irssi/package.mk @@ -9,6 +9,7 @@ PKG_SITE="http://www.irssi.org/" PKG_URL="https://github.com/irssi/irssi/releases/download/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_DEPENDS_TARGET="toolchain glib ncurses openssl" PKG_LONGDESC="Irssi is a terminal based IRC client for UNIX systems." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--with-sysroot=$SYSROOT_PREFIX \ --disable-glibtest \ @@ -21,7 +22,3 @@ PKG_CONFIGURE_OPTS_TARGET="--with-sysroot=$SYSROOT_PREFIX \ pre_configure_target() { export CFLAGS="$CFLAGS -I$PKG_BUILD" } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/network-tools-depends/lftp/package.mk b/packages/addons/addon-depends/network-tools-depends/lftp/package.mk index 0b1d5c90c9..f944e56027 100644 --- a/packages/addons/addon-depends/network-tools-depends/lftp/package.mk +++ b/packages/addons/addon-depends/network-tools-depends/lftp/package.mk @@ -9,13 +9,10 @@ PKG_SITE="http://lftp.yar.ru/" PKG_URL="http://lftp.yar.ru/ftp/${PKG_NAME}-${PKG_VERSION}.tar.xz" PKG_DEPENDS_TARGET="toolchain readline openssl zlib libidn2" PKG_LONGDESC="A sophisticated ftp/http client, and a file transfer program supporting a number of network protocols." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--disable-nls \ --without-gnutls \ --with-openssl \ --with-readline=$SYSROOT_PREFIX/usr \ --with-zlib=$SYSROOT_PREFIX/usr" - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/network-tools-depends/ncftp/package.mk b/packages/addons/addon-depends/network-tools-depends/ncftp/package.mk index d6482fa415..9379f547ee 100644 --- a/packages/addons/addon-depends/network-tools-depends/ncftp/package.mk +++ b/packages/addons/addon-depends/network-tools-depends/ncftp/package.mk @@ -9,6 +9,7 @@ PKG_SITE="http://www.ncftp.com/ncftp/" PKG_URL="ftp://ftp.ncftp.com/ncftp/ncftp-${PKG_VERSION}-src.tar.xz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="NcFTP is a set of application programs implementing the File Transfer Protocol." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="ac_cv_header_librtmp_rtmp_h=yes \ --enable-readline \ @@ -24,7 +25,3 @@ pre_build_target() { mkdir -p $PKG_BUILD/.$TARGET_NAME cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/network-tools-depends/ngrep/package.mk b/packages/addons/addon-depends/network-tools-depends/ngrep/package.mk index 02ce92aaa8..b9566dc3f2 100644 --- a/packages/addons/addon-depends/network-tools-depends/ngrep/package.mk +++ b/packages/addons/addon-depends/network-tools-depends/ngrep/package.mk @@ -10,6 +10,7 @@ PKG_URL="https://github.com/jpr5/ngrep/archive/${PKG_VERSION}.tar.gz" PKG_DEPENDS_TARGET="toolchain libpcap" PKG_LONGDESC="A tool like GNU grep applied to the network layer." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--with-pcap-includes=$SYSROOT_PREFIX/usr/include \ --enable-ipv6 \ @@ -19,7 +20,3 @@ pre_build_target() { mkdir -p $PKG_BUILD/.$TARGET_NAME cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/network-tools-depends/nmap/package.mk b/packages/addons/addon-depends/network-tools-depends/nmap/package.mk index 9a6e85d33e..cc5b6d7a57 100644 --- a/packages/addons/addon-depends/network-tools-depends/nmap/package.mk +++ b/packages/addons/addon-depends/network-tools-depends/nmap/package.mk @@ -9,6 +9,7 @@ PKG_SITE="http://nmap.org/" PKG_URL="http://nmap.org/dist/${PKG_NAME}-${PKG_VERSION}.tar.bz2" PKG_DEPENDS_TARGET="toolchain openssl" PKG_LONGDESC="Free Security Scanned for Network." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--enable-static \ --with-pcap=linux \ @@ -26,7 +27,3 @@ pre_configure_target() { export CPPFLAGS="$CPPFLAGS -Iliblua" } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/network-tools-depends/rar2fs/package.mk b/packages/addons/addon-depends/network-tools-depends/rar2fs/package.mk index 5f5174b5cd..45eba78181 100644 --- a/packages/addons/addon-depends/network-tools-depends/rar2fs/package.mk +++ b/packages/addons/addon-depends/network-tools-depends/rar2fs/package.mk @@ -9,11 +9,12 @@ PKG_SITE="https://github.com/hasse69/rar2fs" PKG_URL="https://github.com/hasse69/rar2fs/releases/download/v$PKG_VERSION/rar2fs-$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain fuse unrar" PKG_LONGDESC="FUSE file system for reading RAR archives" +PKG_BUILD_FLAGS="-sysroot" -PKG_CONFIGURE_OPTS_TARGET="--with-unrar=$(get_build_dir unrar) \ - --with-unrar-lib=$(get_build_dir unrar) \ - --disable-static-unrar" - -makeinstall_target() { - : +pre_configure_target() { + PKG_CONFIGURE_OPTS_TARGET="--with-unrar=$PKG_BUILD/unrar \ + --with-unrar-lib=$PKG_BUILD/unrar \ + --disable-static-unrar" + cp -a $(get_install_dir unrar)/usr/include/unrar $PKG_BUILD/ + cp -p $(get_install_dir unrar)/usr/lib/libunrar.a $PKG_BUILD/unrar/ } diff --git a/packages/addons/addon-depends/network-tools-depends/rsyncx/package.mk b/packages/addons/addon-depends/network-tools-depends/rsyncx/package.mk deleted file mode 100644 index 277ab8edf2..0000000000 --- a/packages/addons/addon-depends/network-tools-depends/rsyncx/package.mk +++ /dev/null @@ -1,15 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -. $(get_pkg_directory rsync)/package.mk - -PKG_NAME="rsyncx" -PKG_DEPENDS_TARGET="toolchain" - -PKG_CONFIGURE_OPTS_TARGET="--disable-acl-support \ - --disable-xattr-support \ - --with-included-popt" - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/network-tools-depends/sshfs/package.mk b/packages/addons/addon-depends/network-tools-depends/sshfs/package.mk index fc0c58d78b..c21b1d97a1 100644 --- a/packages/addons/addon-depends/network-tools-depends/sshfs/package.mk +++ b/packages/addons/addon-depends/network-tools-depends/sshfs/package.mk @@ -9,7 +9,4 @@ PKG_SITE="https://github.com/libfuse/sshfs" PKG_URL="https://github.com/libfuse/sshfs/releases/download/sshfs-$PKG_VERSION/sshfs-$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain fuse glib" PKG_LONGDESC="A filesystem client based on the SSH File Transfer Protocol." - -makeinstall_target() { - : -} +PKG_BUILD_FLAGS="-sysroot" diff --git a/packages/addons/addon-depends/network-tools-depends/tcpdump/package.mk b/packages/addons/addon-depends/network-tools-depends/tcpdump/package.mk index 1573ab9350..82f13b046e 100644 --- a/packages/addons/addon-depends/network-tools-depends/tcpdump/package.mk +++ b/packages/addons/addon-depends/network-tools-depends/tcpdump/package.mk @@ -8,6 +8,7 @@ PKG_SITE="http://www.tcpdump.org/" PKG_URL="http://www.tcpdump.org/release/tcpdump-${PKG_VERSION}.tar.gz" PKG_DEPENDS_TARGET="toolchain libpcap libtirpc" PKG_LONGDESC="A program that allows you to dump the traffic on a network." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--with-crypto=no" @@ -23,7 +24,3 @@ post_configure_target() { # discard native system includes sed -i "s%-I/usr/include%%g" Makefile } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/network-tools-depends/udpxy/package.mk b/packages/addons/addon-depends/network-tools-depends/udpxy/package.mk index a8ed4de2ee..8742eae844 100644 --- a/packages/addons/addon-depends/network-tools-depends/udpxy/package.mk +++ b/packages/addons/addon-depends/network-tools-depends/udpxy/package.mk @@ -9,11 +9,10 @@ PKG_SITE="http://www.udpxy.com" PKG_URL="http://www.udpxy.com/download/1_23/${PKG_NAME}.${PKG_VERSION}-prod.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="A UDP-to-HTTP multicast traffic relay daemon." +PKG_BUILD_FLAGS="-sysroot" + +PKG_MAKEINSTALL_OPTS_TARGET="PREFIX=/usr" configure_target() { export CFLAGS+=" -Wno-stringop-truncation" } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/network-tools-depends/wireless_tools/package.mk b/packages/addons/addon-depends/network-tools-depends/wireless_tools/package.mk index f3f4eb15fe..adb26db864 100644 --- a/packages/addons/addon-depends/network-tools-depends/wireless_tools/package.mk +++ b/packages/addons/addon-depends/network-tools-depends/wireless_tools/package.mk @@ -9,6 +9,7 @@ PKG_SITE="https://github.com/HewlettPackard/wireless-tools" PKG_URL="https://hewlettpackard.github.io/wireless-tools/$PKG_NAME.$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="The Wireless Tools (WT) is a set of tools allowing to manipulate the Wireless Extensions." +PKG_BUILD_FLAGS="-sysroot" make_target() { make PREFIX=/usr CC="$CC" AR="$AR" \ @@ -16,5 +17,5 @@ make_target() { } makeinstall_target() { - : + make PREFIX=$INSTALL/usr install-iwmulticall } diff --git a/packages/addons/addon-depends/snapcast-depends/aixlog/package.mk b/packages/addons/addon-depends/snapcast-depends/aixlog/package.mk index 63a346ae3a..5d0c561155 100644 --- a/packages/addons/addon-depends/snapcast-depends/aixlog/package.mk +++ b/packages/addons/addon-depends/snapcast-depends/aixlog/package.mk @@ -9,4 +9,6 @@ PKG_SITE="https://github.com/badaix/aixlog" PKG_URL="https://github.com/badaix/aixlog/archive/v$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Header-only C++ logging library." -PKG_TOOLCHAIN="manual" +PKG_BUILD_FLAGS="-sysroot" + +PKG_CMAKE_OPTS_TARGET="-DBUILD_EXAMPLE=OFF" diff --git a/packages/addons/addon-depends/snapcast-depends/asio/package.mk b/packages/addons/addon-depends/snapcast-depends/asio/package.mk index 1c888a4346..63b2015e6c 100644 --- a/packages/addons/addon-depends/snapcast-depends/asio/package.mk +++ b/packages/addons/addon-depends/snapcast-depends/asio/package.mk @@ -10,4 +10,11 @@ PKG_URL="https://github.com/chriskohlhoff/asio/archive/asio-$PKG_VERSION.zip" PKG_SOURCE_DIR="asio-asio-$PKG_VERSION" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Asio C++ Library." -PKG_TOOLCHAIN="manual" +PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="-sysroot" + +PKG_CONFIGURE_OPTS_TARGET="--without-boost --without-openssl" + +post_unpack() { + mv $PKG_BUILD/asio/* $PKG_BUILD +} diff --git a/packages/addons/addon-depends/snapcast-depends/popl/package.mk b/packages/addons/addon-depends/snapcast-depends/popl/package.mk index f8c9700bb7..963fbe82c7 100644 --- a/packages/addons/addon-depends/snapcast-depends/popl/package.mk +++ b/packages/addons/addon-depends/snapcast-depends/popl/package.mk @@ -10,3 +10,9 @@ PKG_URL="https://github.com/badaix/popl/archive/v$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Header-only C++ program options parser library." PKG_TOOLCHAIN="manual" +PKG_BUILD_FLAGS="-sysroot" + +makeinstall_target() { + mkdir -p $INSTALL/usr/include + cp -p $PKG_BUILD/include/popl.hpp $INSTALL/usr/include +} diff --git a/packages/addons/addon-depends/snapcast-depends/shairport-sync/package.mk b/packages/addons/addon-depends/snapcast-depends/shairport-sync/package.mk index d23a6d9786..3684198def 100644 --- a/packages/addons/addon-depends/snapcast-depends/shairport-sync/package.mk +++ b/packages/addons/addon-depends/snapcast-depends/shairport-sync/package.mk @@ -10,6 +10,7 @@ PKG_URL="https://github.com/mikebrady/shairport-sync/archive/$PKG_VERSION.tar.gz PKG_DEPENDS_TARGET="toolchain alsa-lib avahi libconfig libdaemon openssl popt pulseaudio soxr" PKG_LONGDESC="AirPlay audio player." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--with-alsa \ --with-avahi \ @@ -19,8 +20,5 @@ PKG_CONFIGURE_OPTS_TARGET="--with-alsa \ --with-pipe \ --with-soxr \ --with-ssl=openssl \ - --with-stdout" - -makeinstall_target() { - : -} + --with-stdout \ + --without-configfiles" diff --git a/packages/addons/addon-depends/snapcast-depends/snapcast/package.mk b/packages/addons/addon-depends/snapcast-depends/snapcast/package.mk index 486d8a51b5..42fcdd5d11 100644 --- a/packages/addons/addon-depends/snapcast-depends/snapcast/package.mk +++ b/packages/addons/addon-depends/snapcast-depends/snapcast/package.mk @@ -10,16 +10,18 @@ PKG_URL="https://github.com/badaix/snapcast/archive/v$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain aixlog alsa-lib asio avahi flac libvorbis popl" PKG_LONGDESC="Synchronous multi-room audio player." PKG_TOOLCHAIN="make" +PKG_BUILD_FLAGS="-sysroot" pre_configure_target() { cd .. rm -rf .$TARGET_NAME CXXFLAGS="$CXXFLAGS -pthread \ - -I$(get_build_dir aixlog)/include \ - -I$(get_build_dir asio)/asio/include \ - -I$(get_build_dir popl)/include" + -I$(get_install_dir aixlog)/usr/include \ + -I$(get_install_dir asio)/usr/include \ + -I$(get_install_dir popl)/usr/include" } makeinstall_target() { - : + mkdir -p $INSTALL/usr/bin + cp -p server/snapserver client/snapclient $INSTALL/usr/bin } diff --git a/packages/addons/addon-depends/system-tools-depends/autossh/package.mk b/packages/addons/addon-depends/system-tools-depends/autossh/package.mk index 9151a0f287..318f7998b2 100644 --- a/packages/addons/addon-depends/system-tools-depends/autossh/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/autossh/package.mk @@ -10,6 +10,7 @@ PKG_URL="http://www.harding.motd.ca/autossh/autossh-${PKG_VERSION}.tgz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Automatically restart SSH sessions and tunnels." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="ac_cv_func_malloc_0_nonnull=yes \ ac_cv_func_realloc_0_nonnull=yes" @@ -19,5 +20,6 @@ pre_configure_target() { } makeinstall_target() { - : + mkdir -p $INSTALL/usr/bin + cp -p autossh $INSTALL/usr/bin } diff --git a/packages/addons/addon-depends/system-tools-depends/diffutils/package.mk b/packages/addons/addon-depends/system-tools-depends/diffutils/package.mk index 8b48b779f7..b21c218e79 100644 --- a/packages/addons/addon-depends/system-tools-depends/diffutils/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/diffutils/package.mk @@ -10,12 +10,9 @@ PKG_URL="http://ftpmirror.gnu.org/diffutils/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="A package of several programs related to finding differences between files." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--disable-nls \ --without-libsigsegv-prefix \ --without-libiconv-prefix \ --without-libintl-prefix" - -makeinstall_target() { - : # nop -} diff --git a/packages/addons/addon-depends/system-tools-depends/dstat/package.mk b/packages/addons/addon-depends/system-tools-depends/dstat/package.mk index 8a86ebcd08..f9581b8b00 100644 --- a/packages/addons/addon-depends/system-tools-depends/dstat/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/dstat/package.mk @@ -10,7 +10,13 @@ PKG_URL="https://github.com/dagwieers/dstat/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain Python3" PKG_LONGDESC="Versatile resource statistics tool." PKG_TOOLCHAIN="manual" +PKG_BUILD_FLAGS="-sysroot" post_unpack() { -rm $PKG_BUILD/Makefile + rm $PKG_BUILD/Makefile +} + +makeinstall_target() { + mkdir -p $INSTALL/usr/bin + cp -p dstat $INSTALL/usr/bin } diff --git a/packages/addons/addon-depends/system-tools-depends/dtach/package.mk b/packages/addons/addon-depends/system-tools-depends/dtach/package.mk index 80361d0aba..87616ea491 100644 --- a/packages/addons/addon-depends/system-tools-depends/dtach/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/dtach/package.mk @@ -9,7 +9,9 @@ PKG_SITE="http://dtach.sourceforge.net" PKG_URL="https://github.com/crigler/dtach/archive/v${PKG_VERSION}.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="A program that emulates the detach feature of screen." +PKG_BUILD_FLAGS="-sysroot" makeinstall_target() { - : + mkdir -p $INSTALL/usr/bin + cp -p dtach $INSTALL/usr/bin } diff --git a/packages/addons/addon-depends/system-tools-depends/efibootmgr/package.mk b/packages/addons/addon-depends/system-tools-depends/efibootmgr/package.mk index b0c2deed11..c0dd1c7d86 100644 --- a/packages/addons/addon-depends/system-tools-depends/efibootmgr/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/efibootmgr/package.mk @@ -10,6 +10,7 @@ PKG_SITE="https://github.com/rhboot/efibootmgr" PKG_URL="https://github.com/rhboot/efibootmgr/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain efivar pciutils zlib" PKG_LONGDESC="Tool to modify UEFI Firmware Boot Manager Variables." +PKG_BUILD_FLAGS="-sysroot" make_target() { export CFLAGS="$CFLAGS -I$SYSROOT_PREFIX/usr/include -I$SYSROOT_PREFIX/usr/include/efivar -fgnu89-inline -Wno-pointer-sign" @@ -21,5 +22,6 @@ make_target() { } makeinstall_target() { - : # nop + mkdir -p $INSTALL/usr/bin + cp -p src/efibootmgr $INSTALL/usr/bin } diff --git a/packages/addons/addon-depends/system-tools-depends/encfs/package.mk b/packages/addons/addon-depends/system-tools-depends/encfs/package.mk index 235710fad6..3e4e505fea 100644 --- a/packages/addons/addon-depends/system-tools-depends/encfs/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/encfs/package.mk @@ -9,11 +9,8 @@ PKG_SITE="https://vgough.github.io/encfs/" PKG_URL="https://github.com/vgough/encfs/releases/download/v$PKG_VERSION/encfs-$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain fuse openssl" PKG_LONGDESC="A Encrypted Filesystem for FUSE." +PKG_BUILD_FLAGS="-sysroot" PKG_CMAKE_OPTS_TARGET="-DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES=$SYSROOT_PREFIX/usr/include \ -DBUILD_UNIT_TESTS=OFF" - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/system-tools-depends/evtest/package.mk b/packages/addons/addon-depends/system-tools-depends/evtest/package.mk index 289275e789..e7e279f1d5 100644 --- a/packages/addons/addon-depends/system-tools-depends/evtest/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/evtest/package.mk @@ -10,7 +10,4 @@ PKG_URL="http://cgit.freedesktop.org/evtest/snapshot/$PKG_NAME-$PKG_VERSION.tar. PKG_DEPENDS_TARGET="toolchain libxml2" PKG_LONGDESC="A simple tool for input event debugging." PKG_TOOLCHAIN="autotools" - -makeinstall_target() { - : # nop -} +PKG_BUILD_FLAGS="-sysroot" diff --git a/packages/addons/addon-depends/system-tools-depends/fdupes/package.mk b/packages/addons/addon-depends/system-tools-depends/fdupes/package.mk index 95694166ce..d490c6db85 100644 --- a/packages/addons/addon-depends/system-tools-depends/fdupes/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/fdupes/package.mk @@ -9,7 +9,7 @@ PKG_SITE="http://premium.caribe.net/~adrian2/fdupes.html" PKG_URL="https://github.com/adrianlopezroche/fdupes/archive/v${PKG_VERSION}.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="A program for identifying or deleting duplicate files residing within specified directories." +PKG_BUILD_FLAGS="-sysroot" -makeinstall_target() { - : # nop -} +PKG_MAKE_OPTS_TARGET="PREFIX=/usr" +PKG_MAKEINSTALL_OPTS_TARGET="${PKG_MAKE_OPTS_TARGET}" diff --git a/packages/addons/addon-depends/system-tools-depends/file/package.mk b/packages/addons/addon-depends/system-tools-depends/file/package.mk index fa08821c23..b92a18d495 100644 --- a/packages/addons/addon-depends/system-tools-depends/file/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/file/package.mk @@ -11,10 +11,7 @@ PKG_DEPENDS_HOST="toolchain:host" PKG_DEPENDS_TARGET="toolchain file:host zlib" PKG_LONGDESC="The file utility is used to determine the types of various files." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_HOST="--enable-fsect-man5 --enable-static --disable-shared" PKG_CONFIGURE_OPTS_TARGET="--enable-fsect-man5 --enable-static --disable-shared" - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/system-tools-depends/getscancodes/package.mk b/packages/addons/addon-depends/system-tools-depends/getscancodes/package.mk index de8e7fc80a..e54e707379 100644 --- a/packages/addons/addon-depends/system-tools-depends/getscancodes/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/getscancodes/package.mk @@ -9,11 +9,13 @@ PKG_SITE="http://keytouch.sourceforge.net" PKG_URL="$SOURCEFORGE_SRC/keytouch/getscancodes-${PKG_VERSION}.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Shows the scancode of the pressed or released key." +PKG_BUILD_FLAGS="-sysroot" pre_configure_target() { PKG_MAKE_OPTS_TARGET="CC=$CC" } makeinstall_target() { - : # nop + mkdir -p $INSTALL/usr/bin + cp -p getscancodes $INSTALL/usr/bin } diff --git a/packages/addons/addon-depends/system-tools-depends/hd-idle/package.mk b/packages/addons/addon-depends/system-tools-depends/hd-idle/package.mk index e98f0376e9..291d79b8ce 100644 --- a/packages/addons/addon-depends/system-tools-depends/hd-idle/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/hd-idle/package.mk @@ -9,3 +9,4 @@ PKG_SITE="http://hd-idle.sourceforge.net/" PKG_URL="http://downloads.sourceforge.net/project/hd-idle/${PKG_NAME}-${PKG_VERSION}.tgz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="A utility for spinning-down external disks after a period of idle time." +PKG_BUILD_FLAGS="-sysroot" diff --git a/packages/addons/addon-depends/system-tools-depends/hddtemp/package.mk b/packages/addons/addon-depends/system-tools-depends/hddtemp/package.mk index d7e6a1782b..638337d957 100644 --- a/packages/addons/addon-depends/system-tools-depends/hddtemp/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/hddtemp/package.mk @@ -9,13 +9,11 @@ PKG_SITE="https://savannah.nongnu.org/projects/hddtemp" PKG_URL="https://github.com/guzu/hddtemp/archive/${PKG_VERSION}.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="A utility that gives you the temperature of your hard drive by reading S.M.A.R.T.." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--with-db-path=/storage/.kodi/addons/virtual.system-tools/data/hddtemp.db" -post_unpack() { - cp $PKG_DIR/db/* $PKG_BUILD -} - -makeinstall_target() { - : # nop +post_makeinstall_target() { + mkdir -p $INSTALL/usr/share/misc + cp $PKG_DIR/db/* $INSTALL/usr/share/misc } diff --git a/packages/addons/addon-depends/system-tools-depends/hid_mapper/package.mk b/packages/addons/addon-depends/system-tools-depends/hid_mapper/package.mk index 3e3ae4642e..5f62c30ea5 100644 --- a/packages/addons/addon-depends/system-tools-depends/hid_mapper/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/hid_mapper/package.mk @@ -9,7 +9,9 @@ PKG_SITE="https://github.com/s-leroux/hid_mapper" PKG_URL="https://github.com/s-leroux/hid_mapper/archive/v${PKG_VERSION}.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="A Generic HID mapper." +PKG_BUILD_FLAGS="-sysroot" makeinstall_target() { - : # nope + mkdir -p $INSTALL/usr/bin + cp -p hid_mapper $INSTALL/usr/bin } diff --git a/packages/addons/addon-depends/system-tools-depends/htop/package.mk b/packages/addons/addon-depends/system-tools-depends/htop/package.mk index fffd0dfc53..be674b6d86 100644 --- a/packages/addons/addon-depends/system-tools-depends/htop/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/htop/package.mk @@ -10,6 +10,7 @@ PKG_URL="https://github.com/hishamhm/htop/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain ncurses" PKG_LONGDESC="An interactive process viewer for Unix." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--disable-unicode \ HTOP_NCURSES_CONFIG_SCRIPT=ncurses-config" diff --git a/packages/addons/addon-depends/system-tools-depends/i2c-tools/package.mk b/packages/addons/addon-depends/system-tools-depends/i2c-tools/package.mk index dae6680c61..06cfbdf9cb 100644 --- a/packages/addons/addon-depends/system-tools-depends/i2c-tools/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/i2c-tools/package.mk @@ -9,6 +9,7 @@ PKG_SITE="http://www.lm-sensors.org/wiki/I2CTools" PKG_URL="http://fossies.org/linux/misc/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" PKG_LONGDESC="A heterogeneous set of I2C tools for Linux." +PKG_BUILD_FLAGS="-sysroot" pre_make_target() { export PYTHONXCPREFIX="$SYSROOT_PREFIX/usr" @@ -20,11 +21,14 @@ make_target() { CC="$CC" \ AR="$TARGET_AR" \ CFLAGS="$TARGET_CFLAGS" \ - CPPFLAGS="$TARGET_CPPFLAGS -I${SYSROOT_PREFIX}/usr/include/$PKG_PYTHON_VERSION" - - python_fix_abi . + CPPFLAGS="$TARGET_CPPFLAGS -I${SYSROOT_PREFIX}/usr/include/$PKG_PYTHON_VERSION" \ + PYTHON=${TOOLCHAIN}/bin/python3 } makeinstall_target() { - : # nop + make DESTDIR=${INSTALL} \ + prefix="/usr" \ + EXTRA="py-smbus" \ + PYTHON=${TOOLCHAIN}/bin/python3 \ + install } diff --git a/packages/addons/addon-depends/system-tools-depends/i2c-tools/patches/pyinstalldir.patch b/packages/addons/addon-depends/system-tools-depends/i2c-tools/patches/pyinstalldir.patch new file mode 100644 index 0000000000..bcf898a8f4 --- /dev/null +++ b/packages/addons/addon-depends/system-tools-depends/i2c-tools/patches/pyinstalldir.patch @@ -0,0 +1,12 @@ +diff -ur a/py-smbus/Module.mk b/py-smbus/Module.mk +--- a/py-smbus/Module.mk 2014-02-20 09:37:15.711233000 +0100 ++++ b/py-smbus/Module.mk 2019-12-14 08:20:51.730946457 +0100 +@@ -22,7 +22,7 @@ + rm -rf py-smbus/build + + install-python: +- $(DISTUTILS) install ++ $(DISTUTILS) install --prefix=$(DESTDIR)$(prefix) + + all: all-python + diff --git a/packages/addons/addon-depends/system-tools-depends/inotify-tools/package.mk b/packages/addons/addon-depends/system-tools-depends/inotify-tools/package.mk index ff77b5f88c..86f7ebed4a 100644 --- a/packages/addons/addon-depends/system-tools-depends/inotify-tools/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/inotify-tools/package.mk @@ -10,13 +10,10 @@ PKG_URL="https://github.com/rvoicilas/inotify-tools/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="A C library and a set of command-line programs for Linux providing a simple interface to inotify." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared --disable-doxygen" pre_configure_target() { CFLAGS="$CFLAGS -Wno-error=misleading-indentation" } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/system-tools-depends/jq/package.mk b/packages/addons/addon-depends/system-tools-depends/jq/package.mk index 75c17fbec0..2cad7d63d3 100644 --- a/packages/addons/addon-depends/system-tools-depends/jq/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/jq/package.mk @@ -9,13 +9,10 @@ PKG_SITE="http://stedolan.github.io/jq/" PKG_URL="https://github.com/stedolan/jq/releases/download/$PKG_NAME-$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain oniguruma" PKG_LONGDESC="A like sed for JSON data." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--disable-shared \ --enable-static \ --disable-docs \ --disable-maintainer-mode \ --disable-valgrind" - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/system-tools-depends/lm_sensors/package.mk b/packages/addons/addon-depends/system-tools-depends/lm_sensors/package.mk index 9f7a42a059..3727dee0ea 100644 --- a/packages/addons/addon-depends/system-tools-depends/lm_sensors/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/lm_sensors/package.mk @@ -10,8 +10,7 @@ PKG_SITE="http://secure.netroedge.com/~lm78/" PKG_URL="https://github.com/groeck/lm-sensors/archive/${PKG_VERSION}.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Provides user-space support for the hardware monitoring drivers." - -PKG_MAKEINSTALL_OPTS_TARGET="PREFIX=/usr" +PKG_BUILD_FLAGS="-sysroot" pre_make_target() { PKG_MAKE_OPTS_TARGET="PREFIX=/usr CC=$CC AR=$AR" @@ -20,6 +19,6 @@ pre_make_target() { export CPPFLAGS="$TARGET_CPPFLAGS" } -makeinstall_target() { - : +pre_makeinstall_target() { + PKG_MAKEINSTALL_OPTS_TARGET="PREFIX=/usr CC=$CC AR=$AR" } diff --git a/packages/addons/addon-depends/system-tools-depends/lshw/package.mk b/packages/addons/addon-depends/system-tools-depends/lshw/package.mk index 7cd3e40eba..b63e26c9e4 100644 --- a/packages/addons/addon-depends/system-tools-depends/lshw/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/lshw/package.mk @@ -9,11 +9,8 @@ PKG_SITE="http://ezix.org/project/wiki/HardwareLiSter" PKG_URL="http://ezix.org/software/files/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="A small tool to provide detailed information on the hardware configuration of the machine." +PKG_BUILD_FLAGS="-sysroot" make_target() { make CXX=$CXX -C src/ } - -makeinstall_target() { - : # nop -} diff --git a/packages/addons/addon-depends/system-tools-depends/mc/package.mk b/packages/addons/addon-depends/system-tools-depends/mc/package.mk index c5d1c884c6..6c1ccc3684 100644 --- a/packages/addons/addon-depends/system-tools-depends/mc/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/mc/package.mk @@ -10,6 +10,7 @@ PKG_SITE="http://www.midnight-commander.org" PKG_URL="http://ftp.midnight-commander.org/mc-${PKG_VERSION}.tar.xz" PKG_DEPENDS_TARGET="toolchain gettext:host glib libssh2 libtool:host ncurses pcre" PKG_LONGDESC="Midnight Commander is a text based filemanager that emulates Norton Commander." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET=" \ --datadir=/storage/.kodi/addons/virtual.system-tools/data \ @@ -44,5 +45,5 @@ post_makeinstall_target() { rm -rf $INSTALL/storage/.kodi/addons/virtual.system-tools/data/mc/help/mc.hlp.* mv $INSTALL/usr/bin/mc $INSTALL/usr/bin/mc-bin rm -f $INSTALL/usr/bin/{mcedit,mcview} - cp $PKG_DIR/wrapper/* $INSTALL/usr/bin + cp -p $PKG_DIR/wrapper/* $INSTALL/usr/bin } diff --git a/packages/addons/addon-depends/system-tools-depends/mc/wrapper/mc b/packages/addons/addon-depends/system-tools-depends/mc/wrapper/mc old mode 100644 new mode 100755 diff --git a/packages/addons/addon-depends/system-tools-depends/mc/wrapper/mcedit b/packages/addons/addon-depends/system-tools-depends/mc/wrapper/mcedit old mode 100644 new mode 100755 diff --git a/packages/addons/addon-depends/system-tools-depends/mc/wrapper/mcview b/packages/addons/addon-depends/system-tools-depends/mc/wrapper/mcview old mode 100644 new mode 100755 diff --git a/packages/addons/addon-depends/system-tools-depends/mrxvt/package.mk b/packages/addons/addon-depends/system-tools-depends/mrxvt/package.mk index cbd9caa1c0..23f6ea06a2 100644 --- a/packages/addons/addon-depends/system-tools-depends/mrxvt/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/mrxvt/package.mk @@ -11,6 +11,7 @@ PKG_URL="$SOURCEFORGE_SRC/materm/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain libX11" PKG_LONGDESC="A lightweight and powerful multi-tabbed X terminal emulator based on the popular rxvt and aterm." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="ac_cv_func_setpgrp_void=no \ --enable-minimal \ @@ -47,7 +48,3 @@ PKG_CONFIGURE_OPTS_TARGET="ac_cv_func_setpgrp_void=no \ --disable-xim \ --disable-utempter\ --with-term=xterm" - -makeinstall_target() { - : # nop -} diff --git a/packages/addons/addon-depends/system-tools-depends/mtpfs/package.mk b/packages/addons/addon-depends/system-tools-depends/mtpfs/package.mk index e1e3c0ecb5..ea6f8eb049 100644 --- a/packages/addons/addon-depends/system-tools-depends/mtpfs/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/mtpfs/package.mk @@ -10,6 +10,7 @@ PKG_URL="https://github.com/cjd/mtpfs/archive/${PKG_VERSION}.tar.gz" PKG_DEPENDS_TARGET="toolchain fuse glib libmtp" PKG_LONGDESC="MTPfs is a FUSE filesystem that supports reading and writing from any MTP device." PKG_TOOLCHAIN="autotools" +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--disable-mad" @@ -17,7 +18,3 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-mad" pre_configure_target() { export LIBS="-lusb-1.0 -ludev" } - -makeinstall_target() { - : # nop -} diff --git a/packages/addons/addon-depends/system-tools-depends/nmon/package.mk b/packages/addons/addon-depends/system-tools-depends/nmon/package.mk index a8c4273ff9..7d0be8c163 100644 --- a/packages/addons/addon-depends/system-tools-depends/nmon/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/nmon/package.mk @@ -10,6 +10,7 @@ PKG_URL="https://github.com/axibase/nmon/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain ncurses" PKG_LONGDESC="Systems administrator, tuner, benchmark tool gives you a huge amount of important performance information in one go." PKG_TOOLCHAIN="manual" +PKG_BUILD_FLAGS="-sysroot" make_target() { case $ARCH in @@ -24,3 +25,8 @@ make_target() { LDFLAGS="$LDFLAGS -lncurses -lm -g" $CC -o nmon lmon*.c $CFLAGS $LDFLAGS -D $arch -D KERNEL_2_6_18 } + +makeinstall_target() { + mkdir -p $INSTALL/usr/bin + cp -p nmon $INSTALL/usr/bin +} diff --git a/packages/addons/addon-depends/system-tools-depends/patch/package.mk b/packages/addons/addon-depends/system-tools-depends/patch/package.mk index 9d93d03733..d90167ec39 100644 --- a/packages/addons/addon-depends/system-tools-depends/patch/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/patch/package.mk @@ -9,9 +9,6 @@ PKG_SITE="http://savannah.gnu.org/projects/patch/" PKG_URL="http://ftpmirror.gnu.org/patch/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Patch takes a patch file containing a difference listing produced by the diff." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--disable-xattr" - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/system-tools-depends/pv/package.mk b/packages/addons/addon-depends/system-tools-depends/pv/package.mk index 294027bf0a..1f9428bfce 100644 --- a/packages/addons/addon-depends/system-tools-depends/pv/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/pv/package.mk @@ -9,9 +9,6 @@ PKG_SITE="http://www.ivarch.com/programs/pv.shtml" PKG_URL="http://www.ivarch.com/programs/sources/pv-$PKG_VERSION.tar.bz2" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Pipe Viwer can be inserted into any normal pipeline between two processes." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--enable-static-nls" - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/system-tools-depends/screen/package.mk b/packages/addons/addon-depends/system-tools-depends/screen/package.mk index d07de754fd..ad5a204c71 100644 --- a/packages/addons/addon-depends/system-tools-depends/screen/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/screen/package.mk @@ -9,7 +9,7 @@ PKG_SITE="http://www.gnu.org/software/screen/" PKG_URL="http://ftpmirror.gnu.org/screen/$PKG_NAME-${PKG_VERSION}.tar.gz" PKG_DEPENDS_TARGET="toolchain ncurses" PKG_LONGDESC="Screen is a window manager that multiplexes a physical terminal between several processes" -PKG_BUILD_FLAGS="-parallel" +PKG_BUILD_FLAGS="-parallel -sysroot" PKG_CONFIGURE_OPTS_TARGET="ac_cv_header_utempter_h=no \ --enable-colors256 \ @@ -26,7 +26,3 @@ pre_configure_target() { cd $PKG_BUILD rm -rf .$TARGET_NAME } - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/system-tools-depends/smartmontools/package.mk b/packages/addons/addon-depends/system-tools-depends/smartmontools/package.mk index b0ff05e860..28b49714f9 100644 --- a/packages/addons/addon-depends/system-tools-depends/smartmontools/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/smartmontools/package.mk @@ -9,6 +9,7 @@ PKG_SITE="https://www.smartmontools.org" PKG_URL="https://downloads.sourceforge.net/sourceforge/smartmontools/smartmontools-$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Control and monitor storage systems using S.M.A.R.T." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \ --without-initscriptdir \ @@ -17,7 +18,3 @@ PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \ --without-systemdsystemunitdir \ --without-systemdenvfile \ --without-systemdsystemunitdir" - -makeinstall_target() { - : -} diff --git a/packages/addons/addon-depends/system-tools-depends/strace/package.mk b/packages/addons/addon-depends/system-tools-depends/strace/package.mk index ce6db8f14b..ae2b024e93 100644 --- a/packages/addons/addon-depends/system-tools-depends/strace/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/strace/package.mk @@ -10,7 +10,4 @@ PKG_URL="https://strace.io/files/$PKG_VERSION/strace-$PKG_VERSION.tar.xz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="strace is a diagnostic, debugging and instructional userspace utility" PKG_TOOLCHAIN="autotools" - -makeinstall_target() { - : -} +PKG_BUILD_FLAGS="-sysroot" diff --git a/packages/addons/addon-depends/system-tools-depends/stress-ng/package.mk b/packages/addons/addon-depends/system-tools-depends/stress-ng/package.mk index bca940839b..62c0a7104a 100644 --- a/packages/addons/addon-depends/system-tools-depends/stress-ng/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/stress-ng/package.mk @@ -9,3 +9,4 @@ PKG_SITE="http://kernel.ubuntu.com/~cking/stress-ng/" PKG_URL="http://kernel.ubuntu.com/~cking/tarballs/stress-ng/stress-ng-$PKG_VERSION.tar.xz" PKG_DEPENDS_TARGET="toolchain attr keyutils libaio libcap zlib" PKG_LONGDESC="stress-ng will stress test a computer system in various selectable ways" +PKG_BUILD_FLAGS="-sysroot" diff --git a/packages/addons/addon-depends/system-tools-depends/unrar/package.mk b/packages/addons/addon-depends/system-tools-depends/unrar/package.mk index bc96a11bb9..d85ec41dba 100644 --- a/packages/addons/addon-depends/system-tools-depends/unrar/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/unrar/package.mk @@ -10,7 +10,7 @@ PKG_URL="http://www.rarlab.com/rar/unrarsrc-$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="unrar extract, test and view RAR archives" PKG_TOOLCHAIN="manual" -PKG_BUILD_FLAGS="+pic" +PKG_BUILD_FLAGS="+pic -sysroot" make_target() { make CXX="$CXX" \ @@ -32,3 +32,10 @@ make_target() { post_make_target() { rm -f libunrar.so } + +makeinstall_target() { + mkdir -p $INSTALL/usr/include/unrar $INSTALL/usr/lib $INSTALL/usr/bin + cp -p *.hpp $INSTALL/usr/include/unrar/ + cp -p libunrar.a $INSTALL/usr/lib/ + cp -p unrar $INSTALL/usr/bin/ +} diff --git a/packages/addons/addon-depends/system-tools-depends/usb-modeswitch/package.mk b/packages/addons/addon-depends/system-tools-depends/usb-modeswitch/package.mk index 93f973ff42..f34de0c20b 100644 --- a/packages/addons/addon-depends/system-tools-depends/usb-modeswitch/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/usb-modeswitch/package.mk @@ -9,7 +9,4 @@ PKG_SITE="http://www.draisberghof.de/usb_modeswitch/" PKG_URL="http://www.draisberghof.de/usb_modeswitch/${PKG_NAME}-${PKG_VERSION}.tar.bz2" PKG_DEPENDS_TARGET="toolchain libusb" PKG_LONGDESC="USB_ModeSwitch - Handling Mode-Switching USB Devices on Linux" - -makeinstall_target() { - : -} +PKG_BUILD_FLAGS="-sysroot" diff --git a/packages/addons/addon-depends/system-tools-depends/vim/package.mk b/packages/addons/addon-depends/system-tools-depends/vim/package.mk index 85725a1f27..351434526e 100644 --- a/packages/addons/addon-depends/system-tools-depends/vim/package.mk +++ b/packages/addons/addon-depends/system-tools-depends/vim/package.mk @@ -9,6 +9,7 @@ PKG_SITE="http://www.vim.org/" PKG_URL="https://github.com/vim/vim/archive/v$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain ncurses" PKG_LONGDESC="Vim is a highly configurable text editor built to enable efficient text editing." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_TARGET="vim_cv_getcwd_broken=no \ vim_cv_memmove_handles_overlap=yes \ diff --git a/packages/addons/addon-depends/tvh-dtv-scan-tables/package.mk b/packages/addons/addon-depends/tvh-dtv-scan-tables/package.mk index ae9d83a06e..029af8190b 100644 --- a/packages/addons/addon-depends/tvh-dtv-scan-tables/package.mk +++ b/packages/addons/addon-depends/tvh-dtv-scan-tables/package.mk @@ -10,3 +10,8 @@ PKG_URL="https://github.com/tvheadend/dtv-scan-tables/archive/$PKG_VERSION.tar.g PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Digital TV scan tables, a fork from Tvh to support more recent tables." PKG_TOOLCHAIN="manual" +PKG_BUILD_FLAGS="-sysroot" + +makeinstall_target() { + make install DATADIR=$INSTALL/usr/share +} diff --git a/packages/addons/addon-depends/whois/package.mk b/packages/addons/addon-depends/whois/package.mk index 67d36ed978..f6885f1211 100644 --- a/packages/addons/addon-depends/whois/package.mk +++ b/packages/addons/addon-depends/whois/package.mk @@ -9,11 +9,12 @@ PKG_SITE="http://www.linux.it/~md/software/" PKG_URL="https://github.com/rfc1036/whois/archive/v${PKG_VERSION}.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="A tool that queries the whois directory service for information pertaining to a particular domain name." +PKG_BUILD_FLAGS="-sysroot" make_target() { make mkpasswd } makeinstall_target() { - : # nop + make install BASEDIR=$INSTALL } diff --git a/packages/addons/browser/chrome/package.mk b/packages/addons/browser/chrome/package.mk index 57d62585a0..3039615378 100644 --- a/packages/addons/browser/chrome/package.mk +++ b/packages/addons/browser/chrome/package.mk @@ -35,7 +35,7 @@ addon() { cp -P $PKG_DIR/config/* $ADDON_BUILD/$PKG_ADDON_ID/config # atk - cp -PL $(get_build_dir atk)/.$TARGET_NAME/atk/libatk-1.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir atk)/usr/lib/libatk-1.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib # cairo cp -PL $(get_install_dir cairo)/usr/lib/libcairo-gobject.so.2 $ADDON_BUILD/$PKG_ADDON_ID/lib @@ -48,53 +48,53 @@ addon() { cp -PL $(get_install_dir gdk-pixbuf)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/* $ADDON_BUILD/$PKG_ADDON_ID/gdk-pixbuf-modules # gtk3 gdk3 - cp -PL $(get_build_dir gtk3)/.$TARGET_NAME/gtk/.libs/libgtk-3.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib - cp -PL $(get_build_dir gtk3)/.$TARGET_NAME/gdk/.libs/libgdk-3.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir gtk3)/usr/lib/libgtk-3.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir gtk3)/usr/lib/libgdk-3.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib # harfbuzz - cp -PL $(get_build_dir harfbuzz)/.$TARGET_NAME/src/.libs/libharfbuzz.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib - cp -PL $(get_build_dir harfbuzz)/.$TARGET_NAME/src/.libs/libharfbuzz-icu.so* $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir harfbuzz)/usr/lib/libharfbuzz.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir harfbuzz)/usr/lib/libharfbuzz-icu.so* $ADDON_BUILD/$PKG_ADDON_ID/lib # libatk-bridge - cp -PL $(get_build_dir at-spi2-atk)/.$TARGET_NAME/atk-adaptor/libatk-bridge-2.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir at-spi2-atk)/usr/lib/libatk-bridge-2.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib # libatspi - cp -PL $(get_build_dir at-spi2-core)/.$TARGET_NAME/atspi/libatspi.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir at-spi2-core)/usr/lib/libatspi.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib # libcups cp -PL $(get_install_dir cups)/usr/lib/libcups.so.2 $ADDON_BUILD/$PKG_ADDON_ID/lib # libxcb - cp -PL $(get_build_dir chrome-libxcb)/.$TARGET_NAME/src/.libs/libxcb.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir chrome-libxcb)/usr/lib/libxcb.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib # libXcomposite - cp -PL $(get_build_dir chrome-libXcomposite)/.$TARGET_NAME/src/.libs/libXcomposite.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir chrome-libXcomposite)/usr/lib/libXcomposite.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib # libXcursor - cp -PL $(get_build_dir libXcursor)/.$TARGET_NAME/src/.libs/libXcursor.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir libXcursor)/usr/lib/libXcursor.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib # libXdamage - cp -PL $(get_build_dir chrome-libXdamage)/.$TARGET_NAME/src/.libs/libXdamage.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir chrome-libXdamage)/usr/lib/libXdamage.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib # libXfixes - cp -PL $(get_build_dir chrome-libXfixes)/.$TARGET_NAME/src/.libs/libXfixes.so.3 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir chrome-libXfixes)/usr/lib/libXfixes.so.3 $ADDON_BUILD/$PKG_ADDON_ID/lib - # libXi - cp -PL $(get_build_dir chrome-libXi)/.$TARGET_NAME/src/.libs/libXi.so.6 $ADDON_BUILD/$PKG_ADDON_ID/lib + # libXi + cp -PL $(get_install_dir chrome-libXi)/usr/lib/libXi.so.6 $ADDON_BUILD/$PKG_ADDON_ID/lib # libXrender - cp -PL $(get_build_dir chrome-libXrender)/.$TARGET_NAME/src/.libs/libXrender.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir chrome-libXrender)/usr/lib/libXrender.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib # libxss - cp -PL $(get_build_dir libxss)/.$TARGET_NAME/src/.libs/libXss.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir libxss)/usr/lib/libXss.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib # libXtst - cp -PL $(get_build_dir chrome-libXtst)/.$TARGET_NAME/src/.libs/libXtst.so.6 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir chrome-libXtst)/usr/lib/libXtst.so.6 $ADDON_BUILD/$PKG_ADDON_ID/lib # pango - cp -PL $(get_build_dir pango)/.$TARGET_NAME/pango/libpangocairo-1.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib - cp -PL $(get_build_dir pango)/.$TARGET_NAME/pango/libpango-1.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib - cp -PL $(get_build_dir pango)/.$TARGET_NAME/pango/libpangoft2-1.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir pango)/usr/lib/libpangocairo-1.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir pango)/usr/lib/libpango-1.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_install_dir pango)/usr/lib/libpangoft2-1.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib # unclutter cp -P $(get_install_dir unclutter)/usr/bin/unclutter $ADDON_BUILD/$PKG_ADDON_ID/bin diff --git a/packages/addons/driver/sapphire/package.mk b/packages/addons/driver/sapphire/package.mk index 0c8ddf28a6..2b03f76f5d 100644 --- a/packages/addons/driver/sapphire/package.mk +++ b/packages/addons/driver/sapphire/package.mk @@ -9,7 +9,7 @@ PKG_ARCH="any" PKG_LICENSE="OSS" PKG_SITE="https://libreelec.tv" PKG_URL="http://www.rtr.ca/sapphire_remote/$PKG_NAME-$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain linux bash" +PKG_DEPENDS_TARGET="bash" PKG_SECTION="driver.remote" PKG_SHORTDESC="A Linux driver to add support for sapphire remotes" PKG_LONGDESC="A Linux driver to add support for sapphire remotes" diff --git a/packages/addons/service/locale/package.mk b/packages/addons/service/locale/package.mk index e3c8f05bc3..edb718e256 100644 --- a/packages/addons/service/locale/package.mk +++ b/packages/addons/service/locale/package.mk @@ -16,12 +16,12 @@ PKG_ADDON_TYPE="xbmc.service" addon() { mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/bin" - cp -PR "$(get_build_dir glibc)/.$TARGET_NAME/locale/localedef" \ + cp -PR "$(get_install_dir glibc)/.noinstall/localedef" \ "$ADDON_BUILD/$PKG_ADDON_ID/bin" mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/i18n" - cp -PR "$(get_build_dir glibc)/localedata/charmaps" \ - "$(get_build_dir glibc)/localedata/locales" \ + cp -PR "$(get_install_dir glibc)/.noinstall/charmaps" \ + "$(get_install_dir glibc)/.noinstall/locales" \ "$ADDON_BUILD/$PKG_ADDON_ID/i18n" mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/locpath" diff --git a/packages/addons/service/minisatip/package.mk b/packages/addons/service/minisatip/package.mk index 063f5082a9..c5ae85352c 100644 --- a/packages/addons/service/minisatip/package.mk +++ b/packages/addons/service/minisatip/package.mk @@ -14,6 +14,7 @@ PKG_DEPENDS_TARGET="toolchain dvb-apps libdvbcsa libxml2 openssl" PKG_SECTION="service" PKG_SHORTDESC="minisatip: a Sat>IP streaming server for Linux" PKG_LONGDESC="minisatip($PKG_VERSION_NUMBER): is a Sat>IP streaming server for Linux supporting DVB-C, DVB-S/S2, DVB-T/T2, ATSC and ISDB-T" +PKG_BUILD_FLAGS="-sysroot" PKG_IS_ADDON="yes" PKG_ADDON_NAME="Minisatip" @@ -24,15 +25,15 @@ PKG_CONFIGURE_OPTS_TARGET="--enable-static \ --enable-dvbca \ --enable-dvbaes \ --enable-dvbcsa \ - --with-xml2=$(get_build_dir libxml2)" + --with-xml2=$(get_install_dir libxml2)/usr/include/libxml2" pre_configure_target() { cd $PKG_BUILD rm -rf .$TARGET_NAME # enables Common Interface (DVBEN50221) - CFLAGS+=" -I$(get_build_dir dvb-apps)/lib" - LDFLAGS+=" -L$(get_build_dir dvb-apps)/lib/libdvbapi -L$(get_build_dir dvb-apps)/lib/libdvben50221 -L$(get_build_dir dvb-apps)/lib/libucsi" + CFLAGS+=" -I$(get_install_dir dvb-apps)/usr/include" + LDFLAGS+=" -L$(get_install_dir dvb-apps)/usr/lib" } makeinstall_target() { diff --git a/packages/addons/service/mpd/package.mk b/packages/addons/service/mpd/package.mk index 1350d9f782..deaec74540 100644 --- a/packages/addons/service/mpd/package.mk +++ b/packages/addons/service/mpd/package.mk @@ -15,6 +15,7 @@ PKG_DEPENDS_TARGET="toolchain alsa-lib avahi boost curl faad2 ffmpeg flac glib l PKG_SECTION="service.multimedia" PKG_SHORTDESC="Music Player Daemon (MPD): a free and open Music Player Server" PKG_LONGDESC="Music Player Daemon ($PKG_VERSION) is a flexible and powerful server-side application for playing music" +PKG_BUILD_FLAGS="-sysroot" PKG_IS_ADDON="yes" PKG_ADDON_NAME="Music Player Daemon (MPD)" @@ -93,15 +94,11 @@ PKG_MESON_OPTS_TARGET=" \ -Dzlib=enabled \ -Dzzip=disabled" -makeinstall_target() { - : -} - addon() { mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $PKG_BUILD/.$TARGET_NAME/mpd $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $PKG_INSTALL/usr/bin/mpd $ADDON_BUILD/$PKG_ADDON_ID/bin # copy mpd cli binary - cp -P $(get_build_dir mpd-mpc)/.$TARGET_NAME/mpc $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir mpd-mpc)/usr/bin/mpc $ADDON_BUILD/$PKG_ADDON_ID/bin mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib cp -p $(get_install_dir libmpdclient)/usr/lib/libmpdclient.so $ADDON_BUILD/$PKG_ADDON_ID/lib diff --git a/packages/addons/service/pcscd/package.mk b/packages/addons/service/pcscd/package.mk index 4bdf2ffc39..fa677a60f3 100644 --- a/packages/addons/service/pcscd/package.mk +++ b/packages/addons/service/pcscd/package.mk @@ -24,12 +24,7 @@ addon() { mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin/ cp -Pa $(get_install_dir pcsc-lite)/usr/sbin/pcscd $ADDON_BUILD/$PKG_ADDON_ID/bin/pcscd.bin - mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/drivers/serial - cp -Pa $(get_build_dir ccid)/.$TARGET_NAME/src/.libs/libccidtwin.so $ADDON_BUILD/$PKG_ADDON_ID/drivers/serial - - mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/drivers/ifd-ccid.bundle/Contents/Linux/ - cp -Pa $(get_build_dir ccid)/.$TARGET_NAME/src/.libs/libccid.so $ADDON_BUILD/$PKG_ADDON_ID/drivers/ifd-ccid.bundle/Contents/Linux/ - cp -Pa $(get_build_dir ccid)/.$TARGET_NAME/src/Info.plist $ADDON_BUILD/$PKG_ADDON_ID/drivers/ifd-ccid.bundle/Contents + cp -a $(get_install_dir ccid)/storage/.kodi/addons/$PKG_ADDON_ID/drivers $ADDON_BUILD/$PKG_ADDON_ID mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config cp -Pa $PKG_DIR/config/* $ADDON_BUILD/$PKG_ADDON_ID/config/ diff --git a/packages/addons/service/proftpd/package.mk b/packages/addons/service/proftpd/package.mk index d118822d4a..83916a7ab3 100644 --- a/packages/addons/service/proftpd/package.mk +++ b/packages/addons/service/proftpd/package.mk @@ -14,6 +14,7 @@ PKG_DEPENDS_TARGET="toolchain libcap openssl ncurses pcre whois" PKG_SECTION="service" PKG_SHORTDESC="ProFTPD: a FTP server for linux" PKG_LONGDESC="ProFTPD ($PKG_VERSION): is a secure and configurable FTP server with SSL/TLS support" +PKG_BUILD_FLAGS="-sysroot" PKG_IS_ADDON="yes" PKG_ADDON_NAME="ProFTPD Server" @@ -33,30 +34,26 @@ PKG_CONFIGURE_OPTS_TARGET="--enable-static \ --enable-ipv6 \ --enable-nls \ --enable-pcre \ - --enable-largefile" - -pre_build_target() { - mkdir -p $PKG_BUILD/.$TARGET_NAME - cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME -} + --enable-largefile \ + install_user=$(id -u) \ + install_group=$(id -g)" pre_configure_target() { - export CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I$PKG_BUILD/.$TARGET_NAME/include/" - export LDFLAGS="$LDFLAGS -L$PKG_BUILD/.$TARGET_NAME/lib" -} - -makeinstall_target() { - : # nop + export CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" + cd .. + rm -rf .$TARGET_NAME } addon() { mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin - cp $PKG_BUILD/.$TARGET_NAME/proftpd $ADDON_BUILD/$PKG_ADDON_ID/bin - cp $PKG_BUILD/.$TARGET_NAME/ftpwho $ADDON_BUILD/$PKG_ADDON_ID/bin - cp $PKG_BUILD/.$TARGET_NAME/ftptop $ADDON_BUILD/$PKG_ADDON_ID/bin + cp $PKG_INSTALL/usr/sbin/proftpd $ADDON_BUILD/$PKG_ADDON_ID/bin + cp $PKG_INSTALL/usr/bin/ftpwho $ADDON_BUILD/$PKG_ADDON_ID/bin + cp $PKG_INSTALL/usr/bin/ftptop $ADDON_BUILD/$PKG_ADDON_ID/bin - cp $(get_build_dir whois)/mkpasswd $ADDON_BUILD/$PKG_ADDON_ID/bin + cp $(get_install_dir whois)/usr/bin/mkpasswd $ADDON_BUILD/$PKG_ADDON_ID/bin mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/locale - cp $PKG_BUILD/.$TARGET_NAME/locale/* $ADDON_BUILD/$PKG_ADDON_ID/locale + for i in $PKG_INSTALL/storage/.kodi/addons/$PKG_ADDON_ID/locale/*; do + cp $i/LC_MESSAGES/proftpd.mo $ADDON_BUILD/$PKG_ADDON_ID/locale/$(basename $i).mo + done } diff --git a/packages/addons/service/rsyslog/package.mk b/packages/addons/service/rsyslog/package.mk index 9981072487..2a243dfd79 100644 --- a/packages/addons/service/rsyslog/package.mk +++ b/packages/addons/service/rsyslog/package.mk @@ -13,6 +13,7 @@ PKG_DEPENDS_TARGET="toolchain curl libestr libfastjson libgcrypt liblogging libl PKG_SECTION="service" PKG_SHORTDESC="Rsyslog: a rocket-fast system for log processing." PKG_LONGDESC="Rsyslog ($PKG_VERSION) offers high-performance, great security features and a modular design." +PKG_BUILD_FLAGS="-sysroot" PKG_IS_ADDON="yes" PKG_ADDON_NAME="Rsyslog" @@ -28,17 +29,13 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-default-tests \ export LIBGCRYPT_CONFIG="$SYSROOT_PREFIX/usr/bin/libgcrypt-config" -makeinstall_target() { - : -} - addon() { mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin - cp $PKG_BUILD/.$TARGET_NAME/tools/rsyslogd \ + cp $PKG_INSTALL/usr/sbin/rsyslogd \ $ADDON_BUILD/$PKG_ADDON_ID/bin/ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib/rsyslog - for l in $(find $PKG_BUILD/.$TARGET_NAME -name *.so) + for l in $(find $PKG_INSTALL/usr/lib -name *.so) do cp $l $ADDON_BUILD/$PKG_ADDON_ID/lib/rsyslog/ done diff --git a/packages/addons/service/snapclient/package.mk b/packages/addons/service/snapclient/package.mk index c9a4de2027..d959f27ae3 100644 --- a/packages/addons/service/snapclient/package.mk +++ b/packages/addons/service/snapclient/package.mk @@ -19,7 +19,7 @@ PKG_MAINTAINER="Anton Voyl (awiouy)" addon() { mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/bin" - cp "$(get_build_dir snapcast)/client/snapclient" \ + cp "$(get_install_dir snapcast)/usr/bin/snapclient" \ "$ADDON_BUILD/$PKG_ADDON_ID/bin" mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/lib" diff --git a/packages/addons/service/snapserver/package.mk b/packages/addons/service/snapserver/package.mk index 9a3510a1fe..ee6dda1845 100644 --- a/packages/addons/service/snapserver/package.mk +++ b/packages/addons/service/snapserver/package.mk @@ -20,7 +20,7 @@ PKG_MAINTAINER="Anton Voyl (awiouy)" addon() { mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/bin" - cp "$(get_build_dir shairport-sync)/.$TARGET_NAME/shairport-sync" \ - "$(get_build_dir snapcast)/server/snapserver" \ + cp "$(get_install_dir shairport-sync)/usr/bin/shairport-sync" \ + "$(get_install_dir snapcast)/usr/bin/snapserver" \ "$ADDON_BUILD/$PKG_ADDON_ID/bin" } diff --git a/packages/addons/service/touchscreen/package.mk b/packages/addons/service/touchscreen/package.mk index b640efdef2..67736f5a84 100644 --- a/packages/addons/service/touchscreen/package.mk +++ b/packages/addons/service/touchscreen/package.mk @@ -31,5 +31,5 @@ addon() { -i $ADDON_BUILD/$PKG_ADDON_ID/addon.xml cp $(get_install_dir tslib)/usr/bin/* $ADDON_BUILD/$PKG_ADDON_ID/bin - cp $(get_build_dir evtest)/.$TARGET_NAME/evtest $ADDON_BUILD/$PKG_ADDON_ID/bin + cp $(get_install_dir evtest)/usr/bin/evtest $ADDON_BUILD/$PKG_ADDON_ID/bin } diff --git a/packages/addons/service/tvheadend42/package.mk b/packages/addons/service/tvheadend42/package.mk index dd6a3fbc61..c03e65816e 100644 --- a/packages/addons/service/tvheadend42/package.mk +++ b/packages/addons/service/tvheadend42/package.mk @@ -12,9 +12,11 @@ PKG_SITE="http://www.tvheadend.org" PKG_URL="https://github.com/tvheadend/tvheadend/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain avahi comskip curl dvb-apps ffmpegx libdvbcsa libhdhomerun \ libiconv openssl pngquant:host Python3:host tvh-dtv-scan-tables" +PKG_DEPENDS_CONFIG="ffmpegx" PKG_SECTION="service" PKG_SHORTDESC="Tvheadend: a TV streaming server for Linux" PKG_LONGDESC="Tvheadend ($PKG_VERSION_NUMBER): is a TV streaming server for Linux supporting DVB-S/S2, DVB-C, DVB-T/T2, IPTV, SAT>IP, ATSC and ISDB-T" +PKG_BUILD_FLAGS="-sysroot" PKG_IS_ADDON="yes" PKG_ADDON_NAME="Tvheadend Server 4.2" @@ -82,7 +84,6 @@ pre_configure_target() { rm -rf .$TARGET_NAME # pass ffmpegx to build - PKG_CONFIG_PATH="$(get_install_dir ffmpegx)/usr/local/lib/pkgconfig" CFLAGS+=" -I$(get_install_dir ffmpegx)/usr/local/include" LDFLAGS+=" -L$(get_install_dir ffmpegx)/usr/local/lib" @@ -97,8 +98,9 @@ post_make_target() { $CC -O -fbuiltin -fomit-frame-pointer -fPIC -shared -o capmt_ca.so src/extra/capmt_ca.c -ldl } -makeinstall_target() { - : +post_makeinstall_target() { + mkdir -p $INSTALL/usr/lib + cp -p capmt_ca.so $INSTALL/usr/lib } addon() { @@ -110,14 +112,12 @@ addon() { sed -e "s|@ADDON_VERSION@|$ADDON_VERSION|g" \ -i $ADDON_BUILD/$PKG_ADDON_ID/addon.xml - cp -P $PKG_BUILD/build.linux/tvheadend $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $PKG_BUILD/capmt_ca.so $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $PKG_INSTALL/usr/bin/tvheadend $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $PKG_INSTALL/usr/lib/capmt_ca.so $ADDON_BUILD/$PKG_ADDON_ID/bin cp -P $(get_install_dir comskip)/usr/bin/comskip $ADDON_BUILD/$PKG_ADDON_ID/bin # dvb-scan files mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/dvb-scan - cp -r $(get_build_dir tvh-dtv-scan-tables)/atsc \ - $(get_build_dir tvh-dtv-scan-tables)/dvb-* \ - $(get_build_dir tvh-dtv-scan-tables)/isdb-t \ + cp -r $(get_install_dir tvh-dtv-scan-tables)/usr/share/dvbv5/* \ $ADDON_BUILD/$PKG_ADDON_ID/dvb-scan } diff --git a/packages/addons/skin/estouchy/package.mk b/packages/addons/skin/estouchy/package.mk index 6c1ded5f52..c8e38a70fd 100644 --- a/packages/addons/skin/estouchy/package.mk +++ b/packages/addons/skin/estouchy/package.mk @@ -8,7 +8,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.kodi.tv" PKG_URL="" -PKG_DEPENDS_TARGET="toolchain kodi" +PKG_DEPENDS_TARGET="kodi" PKG_SECTION="skin" PKG_SHORTDESC="Kodi skin Estouchy" PKG_LONGDESC="Kodi skin Estouchy" @@ -20,5 +20,5 @@ PKG_ADDON_TYPE="xbmc.gui.skin" addon() { mkdir -p $ADDON_BUILD/$PKG_ADDON_ID - cp -a $(get_build_dir kodi)/.$TARGET_NAME/addons/skin.estouchy/* $ADDON_BUILD/$PKG_ADDON_ID + cp -a $(get_install_dir kodi)/.noinstall/skin.estouchy/* $ADDON_BUILD/$PKG_ADDON_ID } diff --git a/packages/addons/tools/btrfs-progs/package.mk b/packages/addons/tools/btrfs-progs/package.mk index 3ac2b85ec6..32e3ac074e 100644 --- a/packages/addons/tools/btrfs-progs/package.mk +++ b/packages/addons/tools/btrfs-progs/package.mk @@ -14,6 +14,7 @@ PKG_SECTION="tools" PKG_SHORTDESC="tools for the btrfs filesystem" PKG_LONGDESC="tools for the btrfs filesystem" PKG_TOOLCHAIN="configure" +PKG_BUILD_FLAGS="-sysroot" PKG_IS_ADDON="yes" PKG_ADDON_NAME="BTRFS Tools" @@ -27,11 +28,7 @@ pre_configure_target() { ./autogen.sh } -makeinstall_target() { - : -} - addon() { mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin/ - cp -P $(get_build_dir btrfs-progs)/{btrfs,btrfsck,btrfstune,btrfs-zero-log,fsck.btrfs,mkfs.btrfs} $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $PKG_INSTALL/usr/bin/{btrfs,btrfsck,btrfstune,btrfs-zero-log,fsck.btrfs,mkfs.btrfs} $ADDON_BUILD/$PKG_ADDON_ID/bin } diff --git a/packages/addons/tools/dvb-tools/package.mk b/packages/addons/tools/dvb-tools/package.mk index 2bcab7dedb..d4100d63f1 100644 --- a/packages/addons/tools/dvb-tools/package.mk +++ b/packages/addons/tools/dvb-tools/package.mk @@ -32,39 +32,39 @@ addon() { mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin/ # blindscan-s2 - cp -P $(get_build_dir blindscan-s2)/blindscan-s2 $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir blindscan-s2)/usr/bin/blindscan-s2 $ADDON_BUILD/$PKG_ADDON_ID/bin # dvb-apps - cp -P $(get_build_dir dvb-apps)/util/dvbdate/dvbdate $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir dvb-apps)/util/dvbnet/dvbnet $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir dvb-apps)/util/dvbscan/dvbscan $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir dvb-apps)/util/dvbtraffic/dvbtraffic $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir dvb-apps)/util/femon/femon $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir dvb-apps)/util/scan/scan $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir dvb-apps)/util/szap/azap $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir dvb-apps)/util/szap/czap $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir dvb-apps)/util/szap/szap $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir dvb-apps)/util/szap/tzap $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir dvb-apps)/util/zap/zap $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir dvb-apps)/usr/bin/dvbdate $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir dvb-apps)/usr/bin/dvbnet $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir dvb-apps)/usr/bin/dvbscan $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir dvb-apps)/usr/bin/dvbtraffic $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir dvb-apps)/usr/bin/femon $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir dvb-apps)/usr/bin/scan $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir dvb-apps)/usr/bin/azap $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir dvb-apps)/usr/bin/czap $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir dvb-apps)/usr/bin/szap $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir dvb-apps)/usr/bin/tzap $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir dvb-apps)/usr/bin/zap $ADDON_BUILD/$PKG_ADDON_ID/bin # dvblast - cp -P $(get_build_dir dvblast)/dvblast $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir dvblast)/usr/bin/dvblast $ADDON_BUILD/$PKG_ADDON_ID/bin # dvbsnoop - cp -P $(get_build_dir dvbsnoop)/.$TARGET_NAME/src/dvbsnoop $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir dvbsnoop)/usr/bin/dvbsnoop $ADDON_BUILD/$PKG_ADDON_ID/bin # mumudvb - cp -P $(get_build_dir mumudvb)/.$TARGET_NAME/src/mumudvb $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir mumudvb)/usr/bin/mumudvb $ADDON_BUILD/$PKG_ADDON_ID/bin # szap-s2 - cp -P $(get_build_dir szap-s2)/szap-s2 $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir szap-s2)/usr/bin/szap-s2 $ADDON_BUILD/$PKG_ADDON_ID/bin # tune-s2 - cp -P $(get_build_dir tune-s2)/tune-s2 $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir tune-s2)/usr/bin/tune-s2 $ADDON_BUILD/$PKG_ADDON_ID/bin # t2scan - cp -P $(get_build_dir t2scan)/.$TARGET_NAME/t2scan $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir t2scan)/usr/bin/t2scan $ADDON_BUILD/$PKG_ADDON_ID/bin # w_scan - cp -P $(get_build_dir w_scan)/.$TARGET_NAME/w_scan $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir w_scan)/usr/bin/w_scan $ADDON_BUILD/$PKG_ADDON_ID/bin } diff --git a/packages/addons/tools/game-tools/package.mk b/packages/addons/tools/game-tools/package.mk index 4c5a5d2727..66effb6b2e 100644 --- a/packages/addons/tools/game-tools/package.mk +++ b/packages/addons/tools/game-tools/package.mk @@ -26,17 +26,17 @@ PKG_DEPENDS_TARGET="toolchain \ addon() { mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin/ # bchunk - cp -P $(get_build_dir bchunk)/bchunk $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir bchunk)/usr/bin/bchunk $ADDON_BUILD/$PKG_ADDON_ID/bin # ecm-tools - cp -P $(get_build_dir ecm-tools)/bin2ecm $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir ecm-tools)/usr/bin/bin2ecm $ADDON_BUILD/$PKG_ADDON_ID/bin ln -s bin2ecm $ADDON_BUILD/$PKG_ADDON_ID/bin/ecm2bin # iat - cp -P $(get_build_dir iat)/.$TARGET_NAME/src/iat $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir iat)/usr/bin/iat $ADDON_BUILD/$PKG_ADDON_ID/bin # linuxconsoletools - cp -P $(get_build_dir linuxconsoletools)/utils/fftest $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir linuxconsoletools)/utils/jscal $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir linuxconsoletools)/utils/jstest $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir linuxconsoletools)/usr/bin/fftest $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir linuxconsoletools)/usr/bin/jscal $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir linuxconsoletools)/usr/bin/jstest $ADDON_BUILD/$PKG_ADDON_ID/bin } diff --git a/packages/addons/tools/jre.zulu/package.mk b/packages/addons/tools/jre.zulu/package.mk index 427a3ae158..8185b4508e 100644 --- a/packages/addons/tools/jre.zulu/package.mk +++ b/packages/addons/tools/jre.zulu/package.mk @@ -5,7 +5,8 @@ PKG_NAME="jre.zulu" PKG_VERSION="1.0" PKG_REV="100" PKG_LICENSE="GPL2" -PKG_DEPENDS_TARGET="jdk-${TARGET_ARCH}-zulu jre-libbluray libXext chrome-libXtst chrome-libXi chrome-libXrender jre-libXinerama" +PKG_DEPENDS_TARGET="jre-libbluray libXext chrome-libXtst chrome-libXi chrome-libXrender jre-libXinerama" +PKG_DEPENDS_UNPACK="jdk-${TARGET_ARCH}-zulu" PKG_SECTION="tools" PKG_SHORTDESC="Java Runtime Environment 8 for Blu-ray Disc Java menus from Azul Systems." PKG_LONGDESC="$PKG_SHORTDESC" @@ -17,7 +18,7 @@ PKG_ADDON_TYPE="xbmc.python.script" # find $1.so.[0-9]* in $2 and copy it to dest _pkg_copy_lib() { - find "$2" -regextype sed -regex ".*/$1\.so\.[0-9]*" \ + find "$2/usr/lib" -regextype sed -regex ".*/$1\.so\.[0-9]*" \ -exec cp {} "$ADDON_BUILD/$PKG_ADDON_ID/lib" \; } @@ -25,18 +26,18 @@ addon() { mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib cp -a $(get_build_dir jdk-${TARGET_ARCH}-zulu)/jre \ - $(get_build_dir jre-libbluray)/.$TARGET_NAME/.libs/*.jar \ + $(get_install_dir jre-libbluray)/usr/share/java/*.jar \ ${PKG_DIR}/profile.d \ $ADDON_BUILD/$PKG_ADDON_ID # copy required libraries for JRE - _pkg_copy_lib libXtst $(get_build_dir chrome-libXtst)/.$TARGET_NAME/src/.libs - _pkg_copy_lib libXi $(get_build_dir chrome-libXi)/.$TARGET_NAME/src/.libs - _pkg_copy_lib libXrender $(get_build_dir chrome-libXrender)/.$TARGET_NAME/src/.libs - _pkg_copy_lib libXinerama $(get_build_dir jre-libXinerama)/.$TARGET_NAME/src/.libs + _pkg_copy_lib libXtst $(get_install_dir chrome-libXtst) + _pkg_copy_lib libXi $(get_install_dir chrome-libXi) + _pkg_copy_lib libXrender $(get_install_dir chrome-libXrender) + _pkg_copy_lib libXinerama $(get_install_dir jre-libXinerama) if [ "$TARGET_ARCH" = "arm" ]; then - _pkg_copy_lib libX11 $(get_build_dir libX11)/.$TARGET_NAME/src/.libs - _pkg_copy_lib libXext $(get_build_dir libXext)/.$TARGET_NAME/src/.libs + _pkg_copy_lib libX11 $(get_install_dir libX11) + _pkg_copy_lib libXext $(get_install_dir libXext) fi } diff --git a/packages/addons/tools/multimedia-tools/package.mk b/packages/addons/tools/multimedia-tools/package.mk index 475e6d8c08..b378928760 100644 --- a/packages/addons/tools/multimedia-tools/package.mk +++ b/packages/addons/tools/multimedia-tools/package.mk @@ -17,7 +17,6 @@ PKG_IS_ADDON="yes" PKG_ADDON_NAME="Multimedia Tools" PKG_ADDON_TYPE="xbmc.python.script" - PKG_DEPENDS_TARGET="toolchain \ alsa-utils \ mediainfo \ @@ -30,23 +29,23 @@ PKG_DEPENDS_TARGET="toolchain \ addon() { mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin/ # alsamixer - cp -P $(get_build_dir alsa-utils)/.$TARGET_NAME/alsamixer/alsamixer $ADDON_BUILD/$PKG_ADDON_ID/bin/ + cp -P $(get_install_dir alsa-utils)/.noinstall/alsamixer $ADDON_BUILD/$PKG_ADDON_ID/bin/ # mediainfo - cp -P $(get_build_dir mediainfo)/Project/GNU/CLI/mediainfo $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir mediainfo)/usr/bin/mediainfo $ADDON_BUILD/$PKG_ADDON_ID/bin # mpg123 cp -P $(get_install_dir mpg123)/usr/bin/* $ADDON_BUILD/$PKG_ADDON_ID/bin/ # opencaster - cp -P $(get_install_dir opencaster)/* $ADDON_BUILD/$PKG_ADDON_ID/bin/ + cp -P $(get_install_dir opencaster)/usr/bin/* $ADDON_BUILD/$PKG_ADDON_ID/bin/ # squeezelite - cp -P $(get_build_dir squeezelite)/squeezelite $ADDON_BUILD/$PKG_ADDON_ID/bin/ + cp -P $(get_install_dir squeezelite)/usr/bin/squeezelite $ADDON_BUILD/$PKG_ADDON_ID/bin/ # tsdecrypt - cp -P $(get_build_dir tsdecrypt)/tsdecrypt $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir tsdecrypt)/usr/bin/tsdecrypt $ADDON_BUILD/$PKG_ADDON_ID/bin # tstools - cp -P $(get_build_dir tstools)/bin/* $ADDON_BUILD/$PKG_ADDON_ID/bin/ + cp -P $(get_install_dir tstools)/usr/bin/* $ADDON_BUILD/$PKG_ADDON_ID/bin/ } diff --git a/packages/addons/tools/network-tools/package.mk b/packages/addons/tools/network-tools/package.mk index 3bcbcf6f4b..0e7576139a 100644 --- a/packages/addons/tools/network-tools/package.mk +++ b/packages/addons/tools/network-tools/package.mk @@ -27,7 +27,7 @@ PKG_DEPENDS_TARGET="toolchain \ ngrep \ nmap \ rar2fs \ - rsyncx \ + rsync \ sshfs \ tcpdump \ udpxy \ @@ -36,55 +36,54 @@ PKG_DEPENDS_TARGET="toolchain \ addon() { mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin # bwm-ng - cp -P $(get_build_dir bwm-ng)/.$TARGET_NAME/src/bwm-ng $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir bwm-ng)/usr/bin/bwm-ng $ADDON_BUILD/$PKG_ADDON_ID/bin # iftop - cp -P $(get_build_dir iftop)/.$TARGET_NAME/iftop $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir iftop)/usr/sbin/iftop $ADDON_BUILD/$PKG_ADDON_ID/bin # iperf - cp -P $(get_build_dir iperf)/.$TARGET_NAME/src/iperf3 $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir iperf)/usr/bin/iperf3 $ADDON_BUILD/$PKG_ADDON_ID/bin ln -s iperf3 $ADDON_BUILD/$PKG_ADDON_ID/bin/iperf # irssi - cp -P $(get_build_dir irssi)/.$TARGET_NAME/src/fe-text/irssi $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir irssi)/usr/bin/irssi $ADDON_BUILD/$PKG_ADDON_ID/bin # lftp - cp -P $(get_build_dir lftp)/.$TARGET_NAME/src/lftp $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir lftp)/usr/bin/lftp $ADDON_BUILD/$PKG_ADDON_ID/bin # ncftp - cp -P $(get_build_dir ncftp)/.$TARGET_NAME/bin/ncftp $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir ncftp)/.$TARGET_NAME/bin/ncftpbatch $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir ncftp)/.$TARGET_NAME/bin/ncftpget $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir ncftp)/.$TARGET_NAME/bin/ncftpls $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir ncftp)/.$TARGET_NAME/bin/ncftpput $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir ncftp)/usr/bin/ncftp $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir ncftp)/usr/bin/ncftpbatch $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir ncftp)/usr/bin/ncftpget $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir ncftp)/usr/bin/ncftpls $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir ncftp)/usr/bin/ncftpput $ADDON_BUILD/$PKG_ADDON_ID/bin # ngrep - cp -P $(get_build_dir ngrep)/.$TARGET_NAME/ngrep $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir ngrep)/usr/bin/ngrep $ADDON_BUILD/$PKG_ADDON_ID/bin # nmap - cp -P $(get_build_dir nmap)/nmap $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir nmap)/usr/bin/nmap $ADDON_BUILD/$PKG_ADDON_ID/bin # rar2fs - cp -P $(get_build_dir rar2fs)/.$TARGET_NAME/mkr2i $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir rar2fs)/.$TARGET_NAME/rar2fs $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir rar2fs)/usr/bin/mkr2i $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir rar2fs)/usr/bin/rar2fs $ADDON_BUILD/$PKG_ADDON_ID/bin - # rsyncx - cp -P $(get_build_dir rsyncx)/.$TARGET_NAME/rsync $ADDON_BUILD/$PKG_ADDON_ID/bin + # rsync + cp -P $(get_install_dir rsync)/usr/bin/rsync $ADDON_BUILD/$PKG_ADDON_ID/bin # sshfs - cp -P $(get_build_dir sshfs)/.$TARGET_NAME/sshfs $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir sshfs)/usr/bin/sshfs $ADDON_BUILD/$PKG_ADDON_ID/bin # tcpdump - cp -P $(get_build_dir tcpdump)/.$TARGET_NAME/tcpdump $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir tcpdump)/usr/sbin/tcpdump $ADDON_BUILD/$PKG_ADDON_ID/bin # udpxy - cp -P $(get_build_dir udpxy)/udpxy $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir udpxy)/usr/bin/udpxy $ADDON_BUILD/$PKG_ADDON_ID/bin # wireless_tools - cp -P $(get_build_dir wireless_tools)/iwmulticall $ADDON_BUILD/$PKG_ADDON_ID/bin - ln -s iwmulticall $ADDON_BUILD/$PKG_ADDON_ID/bin/iwconfig - ln -s iwmulticall $ADDON_BUILD/$PKG_ADDON_ID/bin/iwgetid - ln -s iwmulticall $ADDON_BUILD/$PKG_ADDON_ID/bin/iwlist - ln -s iwmulticall $ADDON_BUILD/$PKG_ADDON_ID/bin/iwspy - ln -s iwmulticall $ADDON_BUILD/$PKG_ADDON_ID/bin/iwpriv + cp -P $(get_install_dir wireless_tools)/usr/sbin/iwconfig $ADDON_BUILD/$PKG_ADDON_ID/bin + ln -s iwconfig $ADDON_BUILD/$PKG_ADDON_ID/bin/iwgetid + ln -s iwconfig $ADDON_BUILD/$PKG_ADDON_ID/bin/iwlist + ln -s iwconfig $ADDON_BUILD/$PKG_ADDON_ID/bin/iwspy + ln -s iwconfig $ADDON_BUILD/$PKG_ADDON_ID/bin/iwpriv } diff --git a/packages/addons/tools/system-tools/package.mk b/packages/addons/tools/system-tools/package.mk index a4b886af55..562e5dd188 100644 --- a/packages/addons/tools/system-tools/package.mk +++ b/packages/addons/tools/system-tools/package.mk @@ -59,116 +59,116 @@ addon() { mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/data/ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin/ # autossh - cp -P $(get_build_dir autossh)/.$TARGET_NAME/autossh $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir autossh)/usr/bin/autossh $ADDON_BUILD/$PKG_ADDON_ID/bin # diffutils - cp -P $(get_build_dir diffutils)/.$TARGET_NAME/src/cmp $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir diffutils)/.$TARGET_NAME/src/diff $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir diffutils)/.$TARGET_NAME/src/diff3 $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir diffutils)/.$TARGET_NAME/src/sdiff $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir diffutils)/usr/bin/cmp $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir diffutils)/usr/bin/diff $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir diffutils)/usr/bin/diff3 $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir diffutils)/usr/bin/sdiff $ADDON_BUILD/$PKG_ADDON_ID/bin # dstat - cp -P $(get_build_dir dstat)/dstat $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir dstat)/usr/bin/dstat $ADDON_BUILD/$PKG_ADDON_ID/bin # dtach - cp -P $(get_build_dir dtach)/.$TARGET_NAME/dtach $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir dtach)/usr/bin/dtach $ADDON_BUILD/$PKG_ADDON_ID/bin # efibootmgr - cp -P $(get_build_dir efibootmgr)/src/efibootmgr $ADDON_BUILD/$PKG_ADDON_ID/bin 2>/dev/null || : + cp -P $(get_install_dir efibootmgr)/usr/bin/efibootmgr $ADDON_BUILD/$PKG_ADDON_ID/bin 2>/dev/null || : # encfs - cp -P $(get_build_dir encfs)/.$TARGET_NAME/encfs $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir encfs)/.$TARGET_NAME/encfsctl $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir encfs)/usr/bin/encfs $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir encfs)/usr/bin/encfsctl $ADDON_BUILD/$PKG_ADDON_ID/bin # evtest - cp -P $(get_build_dir evtest)/.$TARGET_NAME/evtest $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir evtest)/usr/bin/evtest $ADDON_BUILD/$PKG_ADDON_ID/bin # fdupes - cp -P $(get_build_dir fdupes)/fdupes $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir fdupes)/usr/bin/fdupes $ADDON_BUILD/$PKG_ADDON_ID/bin # file - cp -P $(get_build_dir file)/.$TARGET_NAME/src/file $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir file)/.$TARGET_NAME/magic/magic.mgc $ADDON_BUILD/$PKG_ADDON_ID/data + cp -P $(get_install_dir file)/usr/bin/file $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir file)/usr/share/misc/magic.mgc $ADDON_BUILD/$PKG_ADDON_ID/data # getscancodes - cp -P $(get_build_dir getscancodes)/getscancodes $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir getscancodes)/usr/bin/getscancodes $ADDON_BUILD/$PKG_ADDON_ID/bin # hddtemp - cp -P $(get_build_dir hddtemp)/.$TARGET_NAME/src/hddtemp $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir hddtemp)/hddtemp.db $ADDON_BUILD/$PKG_ADDON_ID/data + cp -P $(get_install_dir hddtemp)/usr/sbin/hddtemp $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir hddtemp)/usr/share/misc/hddtemp.db $ADDON_BUILD/$PKG_ADDON_ID/data # hd-idle - cp -P $(get_build_dir hd-idle)/hd-idle $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir hd-idle)/usr/sbin/hd-idle $ADDON_BUILD/$PKG_ADDON_ID/bin # hid_mapper - cp -P $(get_build_dir hid_mapper)/hid_mapper $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir hid_mapper)/usr/bin/hid_mapper $ADDON_BUILD/$PKG_ADDON_ID/bin # htop cp -P $(get_install_dir htop)/usr/bin/htop $ADDON_BUILD/$PKG_ADDON_ID/bin # i2c-tools - cp -P $(get_build_dir i2c-tools)/tools/i2cdetect $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir i2c-tools)/tools/i2cdump $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir i2c-tools)/tools/i2cget $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir i2c-tools)/tools/i2cset $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir i2c-tools)/py-smbus/build/lib.linux-*/smbus.so $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -P $(get_install_dir i2c-tools)/usr/sbin/i2cdetect $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir i2c-tools)/usr/sbin/i2cdump $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir i2c-tools)/usr/sbin/i2cget $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir i2c-tools)/usr/sbin/i2cset $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir i2c-tools)/usr/lib/$PKG_PYTHON_VERSION/site-packages/smbus.so $ADDON_BUILD/$PKG_ADDON_ID/lib # inotify-tools - cp -P $(get_build_dir inotify-tools)/.$TARGET_NAME/src/inotifywait $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir inotify-tools)/.$TARGET_NAME/src/inotifywatch $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir inotify-tools)/usr/bin/inotifywait $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir inotify-tools)/usr/bin/inotifywatch $ADDON_BUILD/$PKG_ADDON_ID/bin # jq - cp -P $(get_build_dir jq)/.$TARGET_NAME/jq $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir jq)/usr/bin/jq $ADDON_BUILD/$PKG_ADDON_ID/bin cp -P $(get_install_dir oniguruma)/usr/lib/libonig.so $ADDON_BUILD/$PKG_ADDON_ID/lib # lm_sensors - cp -P $(get_build_dir lm_sensors)/prog/sensors/sensors $ADDON_BUILD/$PKG_ADDON_ID/bin 2>/dev/null || : + cp -P $(get_install_dir lm_sensors)/usr/bin/sensors $ADDON_BUILD/$PKG_ADDON_ID/bin 2>/dev/null || : # lshw - cp -P $(get_build_dir lshw)/src/lshw $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir lshw)/usr/sbin/lshw $ADDON_BUILD/$PKG_ADDON_ID/bin # mc cp -Pa $(get_install_dir mc)/usr/bin/* $ADDON_BUILD/$PKG_ADDON_ID/bin/ cp -Pa $(get_install_dir mc)/storage/.kodi/addons/virtual.system-tools/* $ADDON_BUILD/$PKG_ADDON_ID # mrxvt - cp -P $(get_build_dir mrxvt)/.$TARGET_NAME/src/mrxvt $ADDON_BUILD/$PKG_ADDON_ID/bin 2>/dev/null || : + cp -P $(get_install_dir mrxvt)/usr/bin/mrxvt $ADDON_BUILD/$PKG_ADDON_ID/bin 2>/dev/null || : # mtpfs - cp -P $(get_build_dir mtpfs)/.$TARGET_NAME/mtpfs $ADDON_BUILD/$PKG_ADDON_ID/bin/ + cp -P $(get_install_dir mtpfs)/usr/bin/mtpfs $ADDON_BUILD/$PKG_ADDON_ID/bin/ # nmon - cp -P $(get_build_dir nmon)/nmon $ADDON_BUILD/$PKG_ADDON_ID/bin/ + cp -P $(get_install_dir nmon)/usr/bin/nmon $ADDON_BUILD/$PKG_ADDON_ID/bin/ # p7zip - cp -P $(get_build_dir p7zip)/.$TARGET_NAME/bin/7z.so $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -PR $(get_build_dir p7zip)/.$TARGET_NAME/bin/Codecs $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir p7zip)/.$TARGET_NAME/bin/7z $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $(get_build_dir p7zip)/.$TARGET_NAME/bin/7za $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir p7zip)/usr/bin/7z.so $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -PR $(get_install_dir p7zip)/usr/bin/Codecs $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir p7zip)/usr/bin/7z $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir p7zip)/usr/bin/7za $ADDON_BUILD/$PKG_ADDON_ID/bin # patch - cp -P $(get_build_dir patch)/.$TARGET_NAME/src/patch $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir patch)/usr/bin/patch $ADDON_BUILD/$PKG_ADDON_ID/bin # pv - cp -P $(get_build_dir pv)/.$TARGET_NAME/pv $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir pv)/usr/bin/pv $ADDON_BUILD/$PKG_ADDON_ID/bin # screen - cp -P $(get_build_dir screen)/screen $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -L $(get_install_dir screen)/usr/bin/screen $ADDON_BUILD/$PKG_ADDON_ID/bin # smartmontools - cp -P $(get_build_dir smartmontools)/.$TARGET_NAME/smartctl $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir smartmontools)/usr/sbin/smartctl $ADDON_BUILD/$PKG_ADDON_ID/bin # strace - cp -P $(get_build_dir strace)/.$TARGET_NAME/strace $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir strace)/usr/bin/strace $ADDON_BUILD/$PKG_ADDON_ID/bin # stress-ng cp -P $(get_install_dir stress-ng)/usr/bin/stress-ng $ADDON_BUILD/$PKG_ADDON_ID/bin # unrar - cp -P $(get_build_dir unrar)/unrar $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir unrar)/usr/bin/unrar $ADDON_BUILD/$PKG_ADDON_ID/bin # usb-modeswitch - cp -P $(get_build_dir usb-modeswitch)/usb_modeswitch $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $(get_install_dir usb-modeswitch)/usr/sbin/usb_modeswitch $ADDON_BUILD/$PKG_ADDON_ID/bin # vim cp -P $(get_install_dir vim)/usr/bin/vim $ADDON_BUILD/$PKG_ADDON_ID/bin diff --git a/packages/audio/alsa-utils/package.mk b/packages/audio/alsa-utils/package.mk index 7edc9ce9c8..125586afb1 100644 --- a/packages/audio/alsa-utils/package.mk +++ b/packages/audio/alsa-utils/package.mk @@ -30,8 +30,9 @@ post_makeinstall_target() { # so we avoid resetting our soundconfig rm -rf $INSTALL/usr/lib/udev/rules.d/90-alsa-restore.rules + mkdir -p $INSTALL/.noinstall for i in aconnect alsamixer amidi aplaymidi arecord arecordmidi aseqdump aseqnet iecset; do - rm -rf $INSTALL/usr/bin/$i + mv $INSTALL/usr/bin/$i $INSTALL/.noinstall done mkdir -p $INSTALL/usr/lib/udev diff --git a/packages/compress/p7zip/package.mk b/packages/compress/p7zip/package.mk index 18f30581f2..2a78613249 100644 --- a/packages/compress/p7zip/package.mk +++ b/packages/compress/p7zip/package.mk @@ -36,3 +36,11 @@ pre_build_target() { make_target() { make CXX=$CXX CC=$CC -C $PKG_BUILD/.$TARGET_NAME 7z 7za } + +makeinstall_target() { + mkdir -p $INSTALL/usr/bin + cp -p $PKG_BUILD/.$TARGET_NAME/bin/7z.so $INSTALL/usr/bin + cp -pr $PKG_BUILD/.$TARGET_NAME/bin/Codecs $INSTALL/usr/bin + cp -p $PKG_BUILD/.$TARGET_NAME/bin/7z $INSTALL/usr/bin + cp -p $PKG_BUILD/.$TARGET_NAME/bin/7za $INSTALL/usr/bin +} diff --git a/packages/devel/glibc/package.mk b/packages/devel/glibc/package.mk index 9297b0be5b..b6a2ffd1a3 100644 --- a/packages/devel/glibc/package.mk +++ b/packages/devel/glibc/package.mk @@ -97,15 +97,20 @@ build-programs=yes EOF # binaries to install into target - GLIBC_INCLUDE_BIN="getent ldd locale" - - # Generic "installer" needs localedef to define drawing chars - if [ "$PROJECT" = "Generic" ]; then - GLIBC_INCLUDE_BIN+=" localedef" - fi + GLIBC_INCLUDE_BIN="getent ldd locale localedef" } post_makeinstall_target() { + mkdir -p $INSTALL/.noinstall + cp -p $INSTALL/usr/bin/localedef $INSTALL/.noinstall + cp -a $INSTALL/usr/share/i18n/locales $INSTALL/.noinstall + mv $INSTALL/usr/share/i18n/charmaps $INSTALL/.noinstall + + # Generic "installer" needs localedef to define drawing chars + if [ "$PROJECT" != "Generic" ]; then + rm $INSTALL/usr/bin/localedef + fi + # we are linking against ld.so, so symlink ln -sf $(basename $INSTALL/usr/lib/ld-*.so) $INSTALL/usr/lib/ld.so @@ -122,9 +127,6 @@ post_makeinstall_target() { safe_remove $INSTALL/usr/lib/*.map safe_remove $INSTALL/var -# remove locales and charmaps - safe_remove $INSTALL/usr/share/i18n/charmaps - # add UTF-8 charmap for Generic (charmap is needed for installer) if [ "$PROJECT" = "Generic" ]; then mkdir -p $INSTALL/usr/share/i18n/charmaps diff --git a/packages/devel/pkg-config/patches/0001-Add-support-for-multiple-sysroots.patch b/packages/devel/pkg-config/patches/0001-Add-support-for-multiple-sysroots.patch new file mode 100644 index 0000000000..61403a4c85 --- /dev/null +++ b/packages/devel/pkg-config/patches/0001-Add-support-for-multiple-sysroots.patch @@ -0,0 +1,256 @@ +From 64a39cd046040552729d32caef2a753b7f3dfc9c Mon Sep 17 00:00:00 2001 +From: Andre Heider +Date: Thu, 19 Dec 2019 17:42:01 +0100 +Subject: [PATCH] Add support for multiple sysroots + +Introduce PKG_CONFIG_SYSROOT_BASE, which can be set to a base directory +under which multiple install prefixes exist. + +Now it's possible to: +* configure and install libfoo with --prefix=/base/foo/usr +* configure and install libbar with --prefix=/base/bar/usr +* export PKG_CONFIG_SYSROOT_BASE=/base + +and pkg-config attempts to detect the sysroot directory for each .pc +file located under the base directory, and sets its sysroot accordingly. + +Example with libfoo.pc and libbar.pc both contain includedir=/usr/include + +$ PKG_CONFIG_PATH=/base/foo/usr/lib/pkg-config:/base/bar/usr/lib/pkgconfig \ + PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ + pkg-config --cflags libfoo libbar + +Will print "-I/base/foo/usr/include -I/base/bar/usr/include" +--- + main.c | 5 ++++ + parse.c | 2 ++ + pkg.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- + pkg.h | 2 ++ + 4 files changed, 84 insertions(+), 3 deletions(-) + +diff --git a/main.c b/main.c +index 9b27d9a..409d474 100644 +--- a/main.c ++++ b/main.c +@@ -35,6 +35,7 @@ + #undef STRICT + #endif + ++GString *pcsysrootbase = NULL; + char *pcsysrootdir = NULL; + char *pkg_config_pc_path = NULL; + +@@ -531,6 +532,8 @@ main (int argc, char **argv) + add_search_dirs(pkg_config_pc_path, G_SEARCHPATH_SEPARATOR_S); + } + ++ pcsysrootbase = g_string_new(getenv("PKG_CONFIG_SYSROOT_BASE")); ++ + pcsysrootdir = getenv ("PKG_CONFIG_SYSROOT_DIR"); + if (pcsysrootdir) + { +@@ -834,5 +837,7 @@ main (int argc, char **argv) + if (need_newline) + printf ("\n"); + ++ g_string_free(pcsysrootbase, FALSE); ++ + return 0; + } +diff --git a/parse.c b/parse.c +index 6e9907c..bea87f3 100644 +--- a/parse.c ++++ b/parse.c +@@ -634,6 +634,7 @@ static void _do_parse_libs (Package *pkg, int argc, char **argv) + while (i < argc) + { + Flag *flag = g_new (Flag, 1); ++ flag->pkg = pkg; + char *tmp = trim_string (argv[i]); + char *arg = strdup_escape_shell(tmp); + char *p; +@@ -837,6 +838,7 @@ parse_cflags (Package *pkg, const char *str, const char *path) + while (i < argc) + { + Flag *flag = g_new (Flag, 1); ++ flag->pkg = pkg; + char *tmp = trim_string (argv[i]); + char *arg = strdup_escape_shell(tmp); + char *p = arg; +diff --git a/pkg.c b/pkg.c +index f29ecc7..ecae401 100644 +--- a/pkg.c ++++ b/pkg.c +@@ -408,6 +408,9 @@ flag_list_strip_duplicates (GList *list) + + if (cur->type == prev->type && g_strcmp0 (cur->arg, prev->arg) == 0) + { ++ if (cur->type & (CFLAGS_I | LIBS_L) && cur->pkg != prev->pkg) ++ continue; ++ + /* Remove the duplicate flag from the list and move to the last + * element to prepare for the next iteration. */ + GList *dup = tmp; +@@ -421,19 +424,75 @@ flag_list_strip_duplicates (GList *list) + return list; + } + ++static const struct _suffix { ++ const char * const suffix; ++ const size_t len; ++} suffixes[] = { ++ { ++ "/usr/local/lib/pkgconfig", ++ 24, ++ }, ++ { ++ "/usr/local/share/pkgconfig", ++ 26, ++ }, ++ { ++ "/usr/lib/pkgconfig", ++ 18, ++ }, ++ { ++ "/usr/share/pkgconfig", ++ 20, ++ }, ++ { ++ "/lib/pkgconfig", ++ 14, ++ }, ++ { ++ "/share/pkgconfig", ++ 16, ++ }, ++}; ++ ++static void ++get_sysroot(const Package *pkg, GString *dst) ++{ ++ if (pcsysrootbase->len && !strncmp(pkg->pcfiledir, pcsysrootbase->str, pcsysrootbase->len)) ++ { ++ size_t len = strlen(pkg->pcfiledir); ++ ++ for (int i = 0; i < sizeof(suffixes) / sizeof(*suffixes); i++) ++ { ++ const struct _suffix *x = &suffixes[i]; ++ ++ if (len > x->len && !strcmp(pkg->pcfiledir + len - x->len, x->suffix)) ++ { ++ g_string_assign(dst, pkg->pcfiledir); ++ g_string_truncate(dst, dst->len - x->len); ++ return; ++ } ++ } ++ } ++ ++ g_string_assign(dst, pcsysrootdir ? pcsysrootdir : ""); ++} ++ + static char * + flag_list_to_string (GList *list) + { + GList *tmp; + GString *str = g_string_new (""); ++ GString *sysroot = g_string_new (""); ++ GString *cmp = g_string_new(pcsysrootbase->len ? pcsysrootbase->str : pcsysrootdir); + char *retval; + + tmp = list; + while (tmp != NULL) { + Flag *flag = tmp->data; ++ get_sysroot(flag->pkg, sysroot); + char *tmpstr = flag->arg; + +- if (pcsysrootdir != NULL && flag->type & (CFLAGS_I | LIBS_L)) { ++ if (sysroot->len && flag->type & (CFLAGS_I | LIBS_L) && strncmp(tmpstr + 2, cmp->str, cmp->len)) { + /* Handle non-I Cflags like -isystem */ + if (flag->type & CFLAGS_I && strncmp (tmpstr, "-I", 2) != 0) { + char *space = strchr (tmpstr, ' '); +@@ -441,14 +500,17 @@ flag_list_to_string (GList *list) + /* Ensure this has a separate arg */ + g_assert (space != NULL && space[1] != '\0'); + g_string_append_len (str, tmpstr, space - tmpstr + 1); +- g_string_append (str, pcsysrootdir); ++ g_string_append (str, sysroot->str); + g_string_append (str, space + 1); + } else { + g_string_append_c (str, '-'); + g_string_append_c (str, tmpstr[1]); +- g_string_append (str, pcsysrootdir); ++ g_string_append (str, sysroot->str); + g_string_append (str, tmpstr+2); + } ++ } else if (sysroot->len && !strncmp(tmpstr, "/usr", 4) && strncmp(tmpstr, cmp->str, cmp->len)) { ++ g_string_append (str, sysroot->str); ++ g_string_append (str, tmpstr); + } else { + g_string_append (str, tmpstr); + } +@@ -458,6 +520,8 @@ flag_list_to_string (GList *list) + + retval = str->str; + g_string_free (str, FALSE); ++ g_string_free (cmp, FALSE); ++ g_string_free (sysroot, TRUE); + + return retval; + } +@@ -1046,6 +1110,8 @@ packages_get_var (GList *pkgs, + { + GList *tmp; + GString *str; ++ GString *sysroot = g_string_new (""); ++ GString *cmp = g_string_new(pcsysrootbase->len ? pcsysrootbase->str : pcsysrootdir); + + str = g_string_new (NULL); + +@@ -1055,11 +1121,14 @@ packages_get_var (GList *pkgs, + Package *pkg = tmp->data; + char *var; + ++ get_sysroot(pkg, sysroot); + var = parse_package_variable (pkg, varname); + if (var) + { + if (str->len > 0) + g_string_append_c (str, ' '); ++ if (sysroot->len && (!strcmp(varname, "includedir") || !strcmp(varname, "libdir")) && strncmp(var, sysroot->str, sysroot->len)) ++ g_string_append(str, sysroot->str); + g_string_append (str, var); + g_free (var); + } +@@ -1067,6 +1136,9 @@ packages_get_var (GList *pkgs, + tmp = g_list_next (tmp); + } + ++ g_string_free(cmp, FALSE); ++ g_string_free(sysroot, TRUE); ++ + return g_string_free (str, FALSE); + } + +diff --git a/pkg.h b/pkg.h +index c6732bd..58edf38 100644 +--- a/pkg.h ++++ b/pkg.h +@@ -53,6 +53,7 @@ struct Flag_ + { + FlagType type; + char *arg; ++ Package *pkg; + }; + + struct RequiredVersion_ +@@ -126,6 +127,7 @@ void disable_requires_private(void); + /* If TRUE, do not automatically prefer uninstalled versions */ + extern gboolean disable_uninstalled; + ++extern GString *pcsysrootbase; + extern char *pcsysrootdir; + + /* pkg-config default search path. On Windows the current pkg-config install +-- +2.24.0 + diff --git a/packages/devel/pkg-config/patches/pkg-config-0001-use-sysroot-path.patch b/packages/devel/pkg-config/patches/pkg-config-0001-use-sysroot-path.patch deleted file mode 100644 index 851801dfd6..0000000000 --- a/packages/devel/pkg-config/patches/pkg-config-0001-use-sysroot-path.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 35fe817168fe0bdb78777d2707ba0189a4ce19bc Mon Sep 17 00:00:00 2001 -From: MilhouseVH -Date: Fri, 5 May 2017 08:23:25 +0100 -Subject: [PATCH] pkg-config: use sysroot path (see #1135) - ---- - pkg.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/pkg.c b/pkg.c -index f29ecc7..a7a1f2a 100644 ---- a/pkg.c -+++ b/pkg.c -@@ -433,7 +433,7 @@ flag_list_to_string (GList *list) - Flag *flag = tmp->data; - char *tmpstr = flag->arg; - -- if (pcsysrootdir != NULL && flag->type & (CFLAGS_I | LIBS_L)) { -+ if (pcsysrootdir != NULL && flag->type & (CFLAGS_I | LIBS_L) && strncmp(tmpstr+2, pcsysrootdir, strlen(pcsysrootdir)) != 0) { - /* Handle non-I Cflags like -isystem */ - if (flag->type & CFLAGS_I && strncmp (tmpstr, "-I", 2) != 0) { - char *space = strchr (tmpstr, ' '); -@@ -449,6 +449,9 @@ flag_list_to_string (GList *list) - g_string_append (str, pcsysrootdir); - g_string_append (str, tmpstr+2); - } -+ } else if (pcsysrootdir != NULL && strncmp(tmpstr, "/usr", 4) == 0 && strncmp(tmpstr, pcsysrootdir, strlen(pcsysrootdir)) != 0) { -+ g_string_append (str, pcsysrootdir); -+ g_string_append (str, tmpstr); - } else { - g_string_append (str, tmpstr); - } -@@ -1060,6 +1063,8 @@ packages_get_var (GList *pkgs, - { - if (str->len > 0) - g_string_append_c (str, ' '); -+ if (pcsysrootdir != NULL && (strcmp(varname, "includedir") == 0 || strcmp(varname, "libdir") == 0) && strncmp(var, pcsysrootdir, strlen(pcsysrootdir)) != 0) -+ g_string_append (str, pcsysrootdir); - g_string_append (str, var); - g_free (var); - } --- -2.7.4 - diff --git a/packages/emulation/libretro-mame2016/package.mk b/packages/emulation/libretro-mame2016/package.mk index 66162a7d11..7ff7f6c227 100644 --- a/packages/emulation/libretro-mame2016/package.mk +++ b/packages/emulation/libretro-mame2016/package.mk @@ -7,7 +7,7 @@ PKG_SHA256="da9b5b86473d0abb846c12cc0bd127aca80e4ccbcaba1fa6493fc88a69521480" PKG_LICENSE="GPLv2" PKG_SITE="https://github.com/libretro/mame2016-libretro" PKG_URL="https://github.com/libretro/mame2016-libretro/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain linux glibc alsa-lib" +PKG_DEPENDS_TARGET="toolchain linux:host alsa-lib" PKG_LONGDESC="Late 2016 version of MAME (0.174) for libretro. Compatible with MAME 0.174 romsets." PKG_TOOLCHAIN="make" diff --git a/packages/emulation/libretro-picodrive/package.mk b/packages/emulation/libretro-picodrive/package.mk index f3279f760d..abf4d53b16 100644 --- a/packages/emulation/libretro-picodrive/package.mk +++ b/packages/emulation/libretro-picodrive/package.mk @@ -8,7 +8,7 @@ PKG_LICENSE="MAME" PKG_SITE="https://github.com/libretro/picodrive" PKG_URL="https://github.com/libretro/picodrive/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain kodi-platform $PKG_NAME:host" -PKG_DEPENDS_HOST="cyclone68000" +PKG_DEPENDS_UNPACK="cyclone68000" PKG_LONGDESC="Fast MegaDrive/MegaCD/32X emulator" PKG_TOOLCHAIN="manual" PKG_BUILD_FLAGS="-gold" diff --git a/packages/linux-driver-addons/dvb/crazycat/package.mk b/packages/linux-driver-addons/dvb/crazycat/package.mk index 2cc34987de..d735b6e870 100644 --- a/packages/linux-driver-addons/dvb/crazycat/package.mk +++ b/packages/linux-driver-addons/dvb/crazycat/package.mk @@ -7,8 +7,7 @@ PKG_SHA256="6b44a96d82c4a3e052864a995baceaede46b37c048c5718a6f62a009492d08ff" PKG_LICENSE="GPL" PKG_SITE="https://bitbucket.org/CrazyCat/media_build" PKG_URL="https://bitbucket.org/CrazyCat/media_build/get/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain linux media_tree_cc" -PKG_NEED_UNPACK="$LINUX_DEPENDS $(get_pkg_directory media_tree_cc)" +PKG_DEPENDS_UNPACK="media_tree_cc" PKG_SECTION="driver.dvb" PKG_LONGDESC="DVB driver for TBS cards with CrazyCats additions" diff --git a/packages/linux-driver-addons/dvb/dvb-latest/package.mk b/packages/linux-driver-addons/dvb/dvb-latest/package.mk index 6a58f3a1ea..a2df2f707f 100644 --- a/packages/linux-driver-addons/dvb/dvb-latest/package.mk +++ b/packages/linux-driver-addons/dvb/dvb-latest/package.mk @@ -7,8 +7,7 @@ PKG_SHA256="71294995cff2bc556bcf9aa7ade595a4ccd91a1972b73d1e537d99d2ce86dbed" PKG_LICENSE="GPL" PKG_SITE="http://git.linuxtv.org/media_build.git" PKG_URL="https://git.linuxtv.org/media_build.git/snapshot/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain linux media_tree" -PKG_NEED_UNPACK="$LINUX_DEPENDS $(get_pkg_directory media_tree)" +PKG_DEPENDS_UNPACK="media_tree" PKG_SECTION="driver.dvb" PKG_LONGDESC="DVB drivers from the latest kernel (media_build)" diff --git a/packages/linux-drivers/RTL8188EU/package.mk b/packages/linux-drivers/RTL8188EU/package.mk index d9574b9f7a..c1432c14d3 100644 --- a/packages/linux-drivers/RTL8188EU/package.mk +++ b/packages/linux-drivers/RTL8188EU/package.mk @@ -9,8 +9,6 @@ PKG_LICENSE="GPL" # realtek: PKG_SITE="http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PFid=48&Level=5&Conn=4&ProdID=274&DownTypeID=3&GetDown=false&Downloads=true" PKG_SITE="https://github.com/lwfinger/rtl8188eu" PKG_URL="https://github.com/lwfinger/rtl8188eu/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain linux" -PKG_NEED_UNPACK="$LINUX_DEPENDS" PKG_LONGDESC="Realtek RTL81xxEU Linux 3.x driver" PKG_IS_KERNEL_PKG="yes" diff --git a/packages/linux-drivers/RTL8192CU/package.mk b/packages/linux-drivers/RTL8192CU/package.mk index 9db216f0c4..3fa1a529f5 100644 --- a/packages/linux-drivers/RTL8192CU/package.mk +++ b/packages/linux-drivers/RTL8192CU/package.mk @@ -8,8 +8,6 @@ PKG_SHA256="1488e6fdfc51d7a7ec8fb95d1c3b212d64f3e66e8d2f7e6637bf3dd642a75289" PKG_LICENSE="GPL" PKG_SITE="https://github.com/pvaret/rtl8192cu-fixes" PKG_URL="$PKG_SITE/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain linux" -PKG_NEED_UNPACK="$LINUX_DEPENDS" PKG_LONGDESC="Realtek RTL81xxCU Linux 3.x driver" PKG_IS_KERNEL_PKG="yes" diff --git a/packages/linux-drivers/RTL8192DU/package.mk b/packages/linux-drivers/RTL8192DU/package.mk index 397d5079e4..521e671faf 100644 --- a/packages/linux-drivers/RTL8192DU/package.mk +++ b/packages/linux-drivers/RTL8192DU/package.mk @@ -8,8 +8,6 @@ PKG_SHA256="63007fe5a19606303b4666ec54fe48527c9504e136c6e30f5f119a39517115cf" PKG_LICENSE="GPL" PKG_SITE="https://github.com/lwfinger/rtl8192du" PKG_URL="https://github.com/lwfinger/rtl8192du/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain linux" -PKG_NEED_UNPACK="$LINUX_DEPENDS" PKG_LONGDESC="Realtek RTL8192DU Linux 3.x driver" PKG_IS_KERNEL_PKG="yes" diff --git a/packages/linux-drivers/RTL8192EU/package.mk b/packages/linux-drivers/RTL8192EU/package.mk index 0c4f20746f..ed52ad77a5 100644 --- a/packages/linux-drivers/RTL8192EU/package.mk +++ b/packages/linux-drivers/RTL8192EU/package.mk @@ -8,8 +8,6 @@ PKG_SHA256="09b6bf64ea0686a4ecc6ec25191b32e384b903edf9cc1d2f891c56cf7b7e6d5e" PKG_LICENSE="GPL" PKG_SITE="https://github.com/Mange/rtl8192eu-linux-driver" PKG_URL="https://github.com/Mange/rtl8192eu-linux-driver/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain linux" -PKG_NEED_UNPACK="$LINUX_DEPENDS" PKG_LONGDESC="Realtek RTL8192EU Linux 3.x driver" PKG_IS_KERNEL_PKG="yes" diff --git a/packages/linux-drivers/RTL8812AU/package.mk b/packages/linux-drivers/RTL8812AU/package.mk index bc235c3fa6..bdc6b9038a 100644 --- a/packages/linux-drivers/RTL8812AU/package.mk +++ b/packages/linux-drivers/RTL8812AU/package.mk @@ -8,8 +8,6 @@ PKG_SHA256="fa8f55a1998f860c4629c6e5ccc79e01164fbcfd59fb511fd22027962dc2d36a" PKG_LICENSE="GPL" PKG_SITE="https://github.com/MilhouseVH/RTL8812AU" PKG_URL="https://github.com/MilhouseVH/RTL8812AU/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain linux" -PKG_NEED_UNPACK="$LINUX_DEPENDS" PKG_LONGDESC="Realtek RTL8812AU Linux 3.x driver" PKG_IS_KERNEL_PKG="yes" diff --git a/packages/linux-drivers/bcm_sta/package.mk b/packages/linux-drivers/bcm_sta/package.mk index 0eca39128a..fbe7fa5889 100644 --- a/packages/linux-drivers/bcm_sta/package.mk +++ b/packages/linux-drivers/bcm_sta/package.mk @@ -12,8 +12,6 @@ PKG_ARCH="x86_64" PKG_LICENSE="nonfree" PKG_SITE="http://www.broadcom.com/" PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" -PKG_DEPENDS_TARGET="toolchain linux" -PKG_NEED_UNPACK="$LINUX_DEPENDS" PKG_LONGDESC="Broadcom's BCM4311-, BCM4312-, BCM4313-, BCM4321-, BCM4322-, BCM43224-, and BCM43225-based WLAN driver." PKG_TOOLCHAIN="manual" PKG_IS_KERNEL_PKG="yes" diff --git a/packages/linux-drivers/intel_nuc_led/package.mk b/packages/linux-drivers/intel_nuc_led/package.mk index c792fe7d7e..eca8137174 100644 --- a/packages/linux-drivers/intel_nuc_led/package.mk +++ b/packages/linux-drivers/intel_nuc_led/package.mk @@ -8,8 +8,6 @@ PKG_ARCH="x86_64" PKG_LICENSE="GPL" PKG_SITE="https://github.com/milesp20/intel_nuc_led/" PKG_URL="https://github.com/milesp20/intel_nuc_led/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain linux" -PKG_NEED_UNPACK="$LINUX_DEPENDS" PKG_LONGDESC="Intel NUC7i[x]BN and NUC6CAY LED Control for Linux" PKG_IS_KERNEL_PKG="yes" diff --git a/packages/linux-drivers/mali-bifrost/package.mk b/packages/linux-drivers/mali-bifrost/package.mk index f0d59b4ee5..acd4690379 100644 --- a/packages/linux-drivers/mali-bifrost/package.mk +++ b/packages/linux-drivers/mali-bifrost/package.mk @@ -8,8 +8,6 @@ PKG_ARCH="arm aarch64" PKG_LICENSE="GPL" PKG_SITE="https://developer.arm.com/products/software/mali-drivers/bifrost-kernel" PKG_URL="https://github.com/LibreELEC/mali-bifrost/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain linux" -PKG_NEED_UNPACK="$LINUX_DEPENDS" PKG_LONGDESC="mali-bifrost: the Linux kernel driver for ARM Mali Bifrost GPUs" PKG_TOOLCHAIN="manual" PKG_IS_KERNEL_PKG="yes" diff --git a/packages/linux-drivers/mali-midgard/package.mk b/packages/linux-drivers/mali-midgard/package.mk index 1e7eeb4118..3e01ba7857 100644 --- a/packages/linux-drivers/mali-midgard/package.mk +++ b/packages/linux-drivers/mali-midgard/package.mk @@ -8,8 +8,6 @@ PKG_ARCH="arm aarch64" PKG_LICENSE="GPL" PKG_SITE="https://developer.arm.com/products/software/mali-drivers/" PKG_URL="https://github.com/LibreELEC/mali-midgard/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain linux" -PKG_NEED_UNPACK="$LINUX_DEPENDS" PKG_LONGDESC="mali-midgard: Linux drivers for Mali Midgard GPUs" PKG_TOOLCHAIN="manual" PKG_IS_KERNEL_PKG="yes" diff --git a/packages/linux-drivers/mali-utgard/package.mk b/packages/linux-drivers/mali-utgard/package.mk index 2718978dbd..b564b3b2e4 100644 --- a/packages/linux-drivers/mali-utgard/package.mk +++ b/packages/linux-drivers/mali-utgard/package.mk @@ -8,8 +8,6 @@ PKG_ARCH="arm aarch64" PKG_LICENSE="GPL" PKG_SITE="https://developer.arm.com/products/software/mali-drivers/utgard-kernel" PKG_URL="https://github.com/LibreELEC/mali-utgard/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain linux" -PKG_NEED_UNPACK="$LINUX_DEPENDS" PKG_LONGDESC="mali-utgard: Linux drivers for Mali Utgard GPUs" PKG_TOOLCHAIN="manual" PKG_IS_KERNEL_PKG="yes" diff --git a/packages/linux-drivers/slice-drivers/package.mk b/packages/linux-drivers/slice-drivers/package.mk index 4c9f8fec45..b8d5418f25 100644 --- a/packages/linux-drivers/slice-drivers/package.mk +++ b/packages/linux-drivers/slice-drivers/package.mk @@ -8,8 +8,6 @@ PKG_ARCH="arm" PKG_LICENSE="GPL" PKG_SITE="https://github.com/LibreELEC/slice-drivers" PKG_URL="https://github.com/LibreELEC/slice-drivers/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain linux" -PKG_NEED_UNPACK="$LINUX_DEPENDS" PKG_LONGDESC="linux kernel modules for the Slice box" PKG_IS_KERNEL_PKG="yes" diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 0b2346b26e..63ed08ba34 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -50,7 +50,8 @@ if [ "$PKG_BUILD_PERF" != "no" ] && grep -q ^CONFIG_PERF_EVENTS= $PKG_KERNEL_CFG fi if [ "$TARGET_ARCH" = "x86_64" ]; then - PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET intel-ucode:host kernel-firmware elfutils:host pciutils" + PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET elfutils:host pciutils" + PKG_DEPENDS_UNPACK+=" intel-ucode kernel-firmware" fi if [[ "$KERNEL_TARGET" = uImage* ]]; then @@ -101,6 +102,15 @@ post_patch() { sed -e "s|^CONFIG_DRM_LIMA=.*$|# CONFIG_DRM_LIMA is not set|" -i $PKG_BUILD/.config sed -e "s|^CONFIG_DRM_PANFROST=.*$|# CONFIG_DRM_PANFROST is not set|" -i $PKG_BUILD/.config fi + + # prepare the tree for kernel packages if the build dir has been removed and linux get unpacked again + if [ -d $PKG_INSTALL/.image ]; then + kernel_make -C $PKG_BUILD oldconfig + kernel_make -C $PKG_BUILD prepare + + # restore the required Module.symvers from an earlier build + cp -p $PKG_INSTALL/.image/Module.symvers $PKG_BUILD + fi } make_host() { @@ -228,7 +238,7 @@ make_target() { makeinstall_target() { mkdir -p $INSTALL/.image - cp -p arch/${TARGET_KERNEL_ARCH}/boot/${KERNEL_TARGET} System.map $INSTALL/.image/ + cp -p arch/${TARGET_KERNEL_ARCH}/boot/${KERNEL_TARGET} System.map Module.symvers $INSTALL/.image/ kernel_make INSTALL_MOD_PATH=$INSTALL/$(get_kernel_overlay_dir) modules_install rm -f $INSTALL/$(get_kernel_overlay_dir)/lib/modules/*/build diff --git a/packages/mediacenter/JsonSchemaBuilder/package.mk b/packages/mediacenter/JsonSchemaBuilder/package.mk index 698fa07f69..950f3c4f51 100644 --- a/packages/mediacenter/JsonSchemaBuilder/package.mk +++ b/packages/mediacenter/JsonSchemaBuilder/package.mk @@ -7,8 +7,7 @@ PKG_VERSION="0" PKG_LICENSE="GPL" PKG_SITE="http://www.kodi.tv" PKG_DEPENDS_HOST="toolchain:host" -PKG_DEPENDS_UNPACK="kodi" -PKG_NEED_UNPACK="$(get_pkg_directory $MEDIACENTER)" +PKG_DEPENDS_UNPACK="$MEDIACENTER" PKG_LONGDESC="kodi-platform:" PKG_CMAKE_SCRIPT="$(get_build_dir $MEDIACENTER)/tools/depends/native/JsonSchemaBuilder/CMakeLists.txt" diff --git a/packages/mediacenter/TexturePacker/package.mk b/packages/mediacenter/TexturePacker/package.mk index ed8ee075be..15f436a6c4 100644 --- a/packages/mediacenter/TexturePacker/package.mk +++ b/packages/mediacenter/TexturePacker/package.mk @@ -7,8 +7,7 @@ PKG_VERSION="0" PKG_LICENSE="GPL" PKG_SITE="http://www.kodi.tv" PKG_DEPENDS_HOST="lzo:host libpng:host libjpeg-turbo:host giflib:host" -PKG_DEPENDS_UNPACK="kodi" -PKG_NEED_UNPACK="$(get_pkg_directory $MEDIACENTER)" +PKG_DEPENDS_UNPACK="$MEDIACENTER" PKG_LONGDESC="kodi-platform:" PKG_CMAKE_SCRIPT="$(get_build_dir $MEDIACENTER)/tools/depends/native/TexturePacker/CMakeLists.txt" diff --git a/packages/mediacenter/kodi-theme-Estuary/package.mk b/packages/mediacenter/kodi-theme-Estuary/package.mk index c20c36a583..e467a1e595 100644 --- a/packages/mediacenter/kodi-theme-Estuary/package.mk +++ b/packages/mediacenter/kodi-theme-Estuary/package.mk @@ -6,12 +6,11 @@ PKG_VERSION="1.0" PKG_LICENSE="GPL" PKG_SITE="http://www.kodi.tv" PKG_URL="" -PKG_DEPENDS_TARGET="toolchain kodi" -PKG_NEED_UNPACK="$(get_pkg_directory $MEDIACENTER)" +PKG_DEPENDS_TARGET="kodi" PKG_LONGDESC="Kodi Mediacenter default theme." PKG_TOOLCHAIN="manual" makeinstall_target() { mkdir -p $INSTALL/usr/share/kodi/addons/ - cp -a $(get_build_dir kodi)/.$TARGET_NAME/addons/skin.estuary $INSTALL/usr/share/kodi/addons/ + cp -a $(get_install_dir kodi)/.noinstall/skin.estuary $INSTALL/usr/share/kodi/addons/ } diff --git a/packages/mediacenter/kodi/package.mk b/packages/mediacenter/kodi/package.mk index 2939fa7e3b..468e44b157 100644 --- a/packages/mediacenter/kodi/package.mk +++ b/packages/mediacenter/kodi/package.mk @@ -251,6 +251,12 @@ pre_configure_target() { } post_makeinstall_target() { + mkdir -p $INSTALL/.noinstall + mv $INSTALL/usr/share/kodi/addons/skin.estouchy \ + $INSTALL/usr/share/kodi/addons/skin.estuary \ + $INSTALL/usr/share/kodi/addons/service.xbmc.versioncheck \ + $INSTALL/.noinstall + rm -rf $INSTALL/usr/bin/kodi rm -rf $INSTALL/usr/bin/kodi-standalone rm -rf $INSTALL/usr/bin/xbmc @@ -259,10 +265,6 @@ post_makeinstall_target() { rm -rf $INSTALL/usr/share/applications rm -rf $INSTALL/usr/share/icons rm -rf $INSTALL/usr/share/pixmaps - rm -rf $INSTALL/usr/share/kodi/addons/skin.estouchy - rm -rf $INSTALL/usr/share/kodi/addons/skin.estuary - rm -rf $INSTALL/usr/share/kodi/addons/service.xbmc.versioncheck - rm -rf $INSTALL/usr/share/kodi/addons/visualization.vortex rm -rf $INSTALL/usr/share/xsessions mkdir -p $INSTALL/usr/lib/kodi diff --git a/packages/network/iptables/package.mk b/packages/network/iptables/package.mk index b25cbc92d1..10ac3a22cf 100644 --- a/packages/network/iptables/package.mk +++ b/packages/network/iptables/package.mk @@ -8,13 +8,10 @@ PKG_SHA256="993a3a5490a544c2cbf2ef15cf7e7ed21af1845baf228318d5c36ef8827e157c" PKG_LICENSE="GPL" PKG_SITE="http://www.netfilter.org/" PKG_URL="http://www.netfilter.org/projects/iptables/files/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS_TARGET="toolchain linux libmnl libnftnl" +PKG_DEPENDS_TARGET="toolchain linux:host libmnl libnftnl" PKG_LONGDESC="IP packet filter administration." PKG_TOOLCHAIN="autotools" -PKG_CONFIGURE_OPTS_TARGET="--with-kernel=$(kernel_path)" - - post_makeinstall_target() { mkdir -p $INSTALL/usr/config/iptables/ cp -PR $PKG_DIR/config/README $INSTALL/usr/config/iptables/ diff --git a/packages/network/rsync/package.mk b/packages/network/rsync/package.mk index 64abf9e677..01c76b233d 100644 --- a/packages/network/rsync/package.mk +++ b/packages/network/rsync/package.mk @@ -10,7 +10,11 @@ PKG_URL="https://download.samba.org/pub/rsync/src/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_DEPENDS_HOST="autotools:host" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="A very fast method for bringing remote files into sync." +PKG_BUILD_FLAGS="-sysroot" PKG_CONFIGURE_OPTS_HOST="--with-included-popt \ --with-included-zlib" +PKG_CONFIGURE_OPTS_TARGET="--disable-acl-support \ + --disable-xattr-support \ + --with-included-popt" diff --git a/packages/readme.md b/packages/readme.md index dda9bc6b3a..8ffeadff34 100644 --- a/packages/readme.md +++ b/packages/readme.md @@ -35,6 +35,7 @@ To control the build behaviour of your package, use variables in the top-down or | PKG_BUILD_FLAGS | - | no | A space separated list of flags with which to fine-tune the build process. Flags can be enabled or disabled with a `+` or `-` prefix. For detailed information, see the [Reference](#build_flags-options). | | PKG_PYTHON_VERSION | python3.7 | no | Define the Python version to be used. | | PKG_IS_KERNEL_PKG | - | no | Set to `yes` for packages that include Linux kernel modules | +| PKG_DEPENDS_CONFIG | - | no | Space separated list of packages to add to PKG_CONFIG_PATH. Use this to build with support for `-sysroot` packages (See [reference](BUILD_FLAGS options). | #### Meson Options | Variable | Default | Required |Description | @@ -157,6 +158,12 @@ Full list of overwrittable functions. | addon | - | Copy all files together for addon creation. This is requiered for addons | | post_install_addon | - | Post processing of installed addon files in `${INSTALL}` directory | +## Directory structure +Every package has its own set of build and install directories. The sources are extracted and built in the former, and build artifacts are installed to the latter. +Usually an install target provided by the package build system will populate the install directory automatically, but it's important that you use the standard `usr/lib/`, `usr/bin/` etc. structure when doing so manually, because the contents of the install directory will be part of the final image (with the exception of top level hidden directories). + +Sometimes it's necessary to access build artifacts from different packages - like an addon collecting files of various other packages. In that case you need to access the files using the package's install directories (and not their build directories since they might not exist anymore). If you need additional files which should not be part of the final image, you can use a hidden directory for those - grep for `.noinstall` for some examples. + ## Late Binding variable assignment A package will be loaded only once, by the call to `config/options`. During this process, additional package specific variables will be initialised, such as: diff --git a/packages/tools/atf/package.mk b/packages/tools/atf/package.mk index 76b09dff98..740c6f9021 100644 --- a/packages/tools/atf/package.mk +++ b/packages/tools/atf/package.mk @@ -18,6 +18,7 @@ make_target() { CROSS_COMPILE="$TARGET_KERNEL_PREFIX" LDFLAGS="" CFLAGS="" make PLAT=$ATF_PLATFORM bl31 } -post_make_target() { - cp -av build/$ATF_PLATFORM/release/bl31.bin . +makeinstall_target() { + mkdir -p $INSTALL/usr/share/bootloader + cp -a build/$ATF_PLATFORM/release/bl31.bin $INSTALL/usr/share/bootloader } diff --git a/packages/tools/grub/package.mk b/packages/tools/grub/package.mk index dbeb1252ec..ed4dccdbfd 100755 --- a/packages/tools/grub/package.mk +++ b/packages/tools/grub/package.mk @@ -8,7 +8,8 @@ PKG_ARCH="x86_64" PKG_LICENSE="GPLv3" PKG_SITE="https://www.gnu.org/software/grub/index.html" PKG_URL="http://git.savannah.gnu.org/cgit/grub.git/snapshot/$PKG_NAME-$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain flex freetype:host gnulib:host gettext:host" +PKG_DEPENDS_TARGET="toolchain flex freetype:host gettext:host" +PKG_DEPENDS_UNPACK="gnulib" PKG_LONGDESC="GRUB is a Multiboot boot loader." PKG_TOOLCHAIN="configure" diff --git a/packages/x11/driver/xf86-video-nvidia-legacy/package.mk b/packages/x11/driver/xf86-video-nvidia-legacy/package.mk index c72557d098..9b99530e5e 100644 --- a/packages/x11/driver/xf86-video-nvidia-legacy/package.mk +++ b/packages/x11/driver/xf86-video-nvidia-legacy/package.mk @@ -9,11 +9,13 @@ PKG_ARCH="x86_64" PKG_LICENSE="nonfree" PKG_SITE="http://www.nvidia.com/" PKG_URL="http://us.download.nvidia.com/XFree86/Linux-x86_64/$PKG_VERSION/NVIDIA-Linux-x86_64-$PKG_VERSION-no-compat32.run" -PKG_DEPENDS_TARGET="toolchain util-macros linux xorg-server libvdpau" +PKG_DEPENDS_TARGET="util-macros xorg-server libvdpau" PKG_NEED_UNPACK="$LINUX_DEPENDS" PKG_LONGDESC="The Xorg driver for NVIDIA video chips supporting Geforce 6 and Geforce 7 devices." PKG_TOOLCHAIN="manual" +PKG_IS_KERNEL_PKG="yes" + unpack() { [ -d $PKG_BUILD ] && rm -rf $PKG_BUILD diff --git a/packages/x11/driver/xf86-video-nvidia/package.mk b/packages/x11/driver/xf86-video-nvidia/package.mk index ae6b5e61f0..5db078adcb 100644 --- a/packages/x11/driver/xf86-video-nvidia/package.mk +++ b/packages/x11/driver/xf86-video-nvidia/package.mk @@ -12,11 +12,12 @@ PKG_ARCH="x86_64" PKG_LICENSE="nonfree" PKG_SITE="http://www.nvidia.com/" PKG_URL="http://us.download.nvidia.com/XFree86/Linux-x86_64/${PKG_VERSION}/NVIDIA-Linux-x86_64-${PKG_VERSION}-no-compat32.run" -PKG_DEPENDS_TARGET="toolchain util-macros linux xorg-server libvdpau libglvnd" -PKG_NEED_UNPACK="${LINUX_DEPENDS}" +PKG_DEPENDS_TARGET="util-macros xorg-server libvdpau libglvnd" PKG_LONGDESC="The Xorg driver for NVIDIA video chips." PKG_TOOLCHAIN="manual" +PKG_IS_KERNEL_PKG="yes" + unpack() { [ -d ${PKG_BUILD} ] && rm -rf ${PKG_BUILD} diff --git a/projects/Allwinner/bootloader/firmware b/projects/Allwinner/bootloader/firmware index 623002c58f..51142b4b91 100644 --- a/projects/Allwinner/bootloader/firmware +++ b/projects/Allwinner/bootloader/firmware @@ -1,4 +1,4 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) -[ -n "$ATF_PLATFORM" ] && cp -av $(get_build_dir atf)/bl31.bin . +[ -n "$ATF_PLATFORM" ] && cp -av $(get_install_dir atf)/usr/share/bootloader/bl31.bin . diff --git a/projects/Allwinner/bootloader/release b/projects/Allwinner/bootloader/release new file mode 100644 index 0000000000..8b0b39a9ae --- /dev/null +++ b/projects/Allwinner/bootloader/release @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) + +SRCDIR="$BUILD/image/system/usr/share/bootloader" +DSTDIR="$RELEASE_DIR/3rdparty/bootloader" + +mkdir -p "$DSTDIR" + if [ -n "$UBOOT_SYSTEM" ]; then + cp -a "$SRCDIR/u-boot-sunxi-with-spl.bin" "$DSTDIR" + fi + + cp -a "$SRCDIR"/sun*-${DEVICE,,}-*.dtb "$DSTDIR" diff --git a/projects/Allwinner/devices/A20/bootloader/release b/projects/Allwinner/devices/A20/bootloader/release deleted file mode 100644 index 21ea999ef5..0000000000 --- a/projects/Allwinner/devices/A20/bootloader/release +++ /dev/null @@ -1,9 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) - -mkdir -p $RELEASE_DIR/3rdparty/bootloader - if [ -n "$UBOOT_SYSTEM" ]; then - cp -a $(get_build_dir $BOOTLOADER)/u-boot-sunxi-with-spl.bin $RELEASE_DIR/3rdparty/bootloader - fi - - cp -a $(get_build_dir linux)/arch/$TARGET_KERNEL_ARCH/boot/dts/sun7i-a20-*.dtb $RELEASE_DIR/3rdparty/bootloader diff --git a/projects/Allwinner/devices/A64/bootloader/release b/projects/Allwinner/devices/A64/bootloader/release deleted file mode 100644 index 682f6d2ae4..0000000000 --- a/projects/Allwinner/devices/A64/bootloader/release +++ /dev/null @@ -1,9 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) - -mkdir -p $RELEASE_DIR/3rdparty/bootloader - if [ -n "$UBOOT_SYSTEM" ]; then - cp -a $(get_build_dir $BOOTLOADER)/u-boot-sunxi-with-spl.bin $RELEASE_DIR/3rdparty/bootloader - fi - - cp -a $(get_build_dir linux)/arch/$TARGET_KERNEL_ARCH/boot/dts/allwinner/sun50i-a64-*.dtb $RELEASE_DIR/3rdparty/bootloader diff --git a/projects/Allwinner/devices/H3/bootloader/release b/projects/Allwinner/devices/H3/bootloader/release deleted file mode 100644 index fadd618a05..0000000000 --- a/projects/Allwinner/devices/H3/bootloader/release +++ /dev/null @@ -1,9 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -mkdir -p $RELEASE_DIR/3rdparty/bootloader - if [ -n "$UBOOT_SYSTEM" ]; then - cp -a $(get_build_dir $BOOTLOADER)/u-boot-sunxi-with-spl.bin $RELEASE_DIR/3rdparty/bootloader - fi - - cp -a $(get_build_dir linux)/arch/$TARGET_KERNEL_ARCH/boot/dts/sun8i-h3-*.dtb $RELEASE_DIR/3rdparty/bootloader diff --git a/projects/Allwinner/devices/H6/bootloader/release b/projects/Allwinner/devices/H6/bootloader/release deleted file mode 100644 index 30058f2207..0000000000 --- a/projects/Allwinner/devices/H6/bootloader/release +++ /dev/null @@ -1,9 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) - -mkdir -p $RELEASE_DIR/3rdparty/bootloader - if [ -n "$UBOOT_SYSTEM" ]; then - cp -a $(get_build_dir $BOOTLOADER)/u-boot-sunxi-with-spl.bin $RELEASE_DIR/3rdparty/bootloader - fi - - cp -a $(get_build_dir linux)/arch/$TARGET_KERNEL_ARCH/boot/dts/allwinner/sun50i-h6-*.dtb $RELEASE_DIR/3rdparty/bootloader diff --git a/projects/Amlogic/bootloader/install b/projects/Amlogic/bootloader/install index b701b89122..40e269023a 100644 --- a/projects/Amlogic/bootloader/install +++ b/projects/Amlogic/bootloader/install @@ -20,7 +20,7 @@ case "${UBOOT_SYSTEM}" in $FIPDIR/fip_create --bl30 $FIPDIR/gxb/bl30.bin \ --bl301 $FIPDIR/gxb/bl301.bin \ --bl31 $FIPDIR/gxb/bl31.bin \ - --bl33 $(get_build_dir $BOOTLOADER)/u-boot.bin $DESTDIR/fip.bin + --bl33 u-boot.bin $DESTDIR/fip.bin $FIPDIR/fip_create --dump $DESTDIR/fip.bin @@ -50,7 +50,7 @@ case "${UBOOT_SYSTEM}" in cp $FIPDIR/lpddr4_1d.fw $DESTDIR/ cp $FIPDIR/lpddr4_2d.fw $DESTDIR/ cp $FIPDIR/piei.fw $DESTDIR/ - cp $(get_build_dir $BOOTLOADER)/u-boot.bin $DESTDIR/bl33.bin + cp u-boot.bin $DESTDIR/bl33.bin $FIPDIR/blx_fix.sh $DESTDIR/bl30.bin \ $DESTDIR/zero_tmp \ @@ -104,7 +104,7 @@ case "${UBOOT_SYSTEM}" in cp $FIPDIR/gxb/bl30.bin $DESTDIR/ cp $FIPDIR/gxb/bl301.bin $DESTDIR/ cp $FIPDIR/gxb/bl31.img $DESTDIR/ - cp $(get_build_dir $BOOTLOADER)/u-boot.bin $DESTDIR/bl33.bin + cp u-boot.bin $DESTDIR/bl33.bin $FIPDIR/blx_fix.sh $DESTDIR/bl30.bin \ $DESTDIR/zero_tmp \ @@ -143,7 +143,7 @@ case "${UBOOT_SYSTEM}" in cp $FIPDIR/gxl/bl30.bin $DESTDIR/ cp $FIPDIR/gxl/bl301.bin $DESTDIR/ cp $FIPDIR/gxl/bl31.img $DESTDIR/ - cp $(get_build_dir $BOOTLOADER)/u-boot.bin $DESTDIR/bl33.bin + cp u-boot.bin $DESTDIR/bl33.bin $FIPDIR/blx_fix.sh $DESTDIR/bl30.bin \ $DESTDIR/zero_tmp \ diff --git a/projects/Amlogic/bootloader/release b/projects/Amlogic/bootloader/release index 3e9646b00c..af0bd402f0 100644 --- a/projects/Amlogic/bootloader/release +++ b/projects/Amlogic/bootloader/release @@ -1,25 +1,28 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) -mkdir -p "$RELEASE_DIR/3rdparty/bootloader" - cp -a $(get_build_dir u-boot-script)/* $RELEASE_DIR/3rdparty/bootloader +SRCDIR="$BUILD/image/system/usr/share/bootloader" +DSTDIR="$RELEASE_DIR/3rdparty/bootloader" - if find_file_path bootloader/${UBOOT_SYSTEM}.ini; then - cp -av ${FOUND_PATH} $RELEASE_DIR/3rdparty/bootloader/boot.ini +mkdir -p "$DSTDIR" + cp -a "$SRCDIR"/*.scr "$SRCDIR"/*script "$DSTDIR" + + if find_file_path "bootloader/${UBOOT_SYSTEM}.ini"; then + cp -av "${FOUND_PATH}" "$DSTDIR/boot.ini" fi -mkdir -p "$RELEASE_DIR/3rdparty/bootloader/dtb" +mkdir -p "$DSTDIR/dtb" case ${DEVICE:-$PROJECT} in AMLGX) - cp -a $(get_build_dir linux)/arch/$TARGET_KERNEL_ARCH/boot/dts/amlogic/*gxbb*.dtb $RELEASE_DIR/3rdparty/bootloader/dtb - cp -a $(get_build_dir linux)/arch/$TARGET_KERNEL_ARCH/boot/dts/amlogic/*gxl*.dtb $RELEASE_DIR/3rdparty/bootloader/dtb - cp -a $(get_build_dir linux)/arch/$TARGET_KERNEL_ARCH/boot/dts/amlogic/*gxm*.dtb $RELEASE_DIR/3rdparty/bootloader/dtb + cp -a "$SRCDIR"/*gxbb*.dtb "$DSTDIR/dtb" + cp -a "$SRCDIR"/*gxl*.dtb "$DSTDIR/dtb" + cp -a "$SRCDIR"/*gxm*.dtb "$DSTDIR/dtb" ;; AMLG12) - cp -a $(get_build_dir linux)/arch/$TARGET_KERNEL_ARCH/boot/dts/amlogic/*g12a*.dtb $RELEASE_DIR/3rdparty/bootloader/dtb - cp -a $(get_build_dir linux)/arch/$TARGET_KERNEL_ARCH/boot/dts/amlogic/*g12b*.dtb $RELEASE_DIR/3rdparty/bootloader/dtb + cp -a "$SRCDIR"/*g12a*.dtb "$DSTDIR/dtb" + cp -a "$SRCDIR"/*g12b*.dtb "$DSTDIR/dtb" ;; *) - cp -a $(get_build_dir linux)/arch/$TARGET_KERNEL_ARCH/boot/dts/amlogic/*.dtb $RELEASE_DIR/3rdparty/bootloader/dtb + cp -a "$SRCDIR"/*.dtb "$DSTDIR/dtb" ;; esac diff --git a/projects/Amlogic/options b/projects/Amlogic/options index 4fbe299845..6e6ee3e929 100644 --- a/projects/Amlogic/options +++ b/projects/Amlogic/options @@ -6,7 +6,7 @@ BOOTLOADER="u-boot" # U-Boot firmware package(s) to use - UBOOT_FIRMWARE="amlogic-boot-fip" + UBOOT_FIRMWARE="amlogic-boot-fip u-boot-script" # Kernel to use LINUX="amlogic" @@ -64,7 +64,7 @@ DRIVER_ADDONS="crazycat dvb-latest" # additional packages to install: - ADDITIONAL_PACKAGES="u-boot-script dtc ethmactool" + ADDITIONAL_PACKAGES="dtc ethmactool" # use the kernel CEC framework for libcec (yes / no) CEC_FRAMEWORK_SUPPORT="yes" diff --git a/projects/NXP/devices/iMX6/bootloader/release b/projects/NXP/devices/iMX6/bootloader/release index 32cc788b14..898ed95da2 100644 --- a/projects/NXP/devices/iMX6/bootloader/release +++ b/projects/NXP/devices/iMX6/bootloader/release @@ -1,10 +1,13 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) -mkdir -p $RELEASE_DIR/3rdparty/bootloader +SRCDIR="$BUILD/image/system/usr/share/bootloader" +DSTDIR="$RELEASE_DIR/3rdparty/bootloader" + +mkdir -p "$DSTDIR" if [ -n "$UBOOT_SYSTEM" ]; then - cp -a $(get_build_dir $BOOTLOADER)/u-boot.img $RELEASE_DIR/3rdparty/bootloader - cp -a $(get_build_dir $BOOTLOADER)/SPL $RELEASE_DIR/3rdparty/bootloader + cp -a "$SRCDIR/u-boot.img" "$DSTDIR" + cp -a "$SRCDIR/SPL" "$DSTDIR" fi - cp -a $(get_build_dir linux)/arch/$TARGET_KERNEL_ARCH/boot/dts/*.dtb $RELEASE_DIR/3rdparty/bootloader + cp -a "$SRCDIR"/*.dtb "$DSTDIR" diff --git a/projects/Qualcomm/devices/Dragonboard/bootloader/release b/projects/Qualcomm/devices/Dragonboard/bootloader/release index a90f7506cb..320b6bea0b 100644 --- a/projects/Qualcomm/devices/Dragonboard/bootloader/release +++ b/projects/Qualcomm/devices/Dragonboard/bootloader/release @@ -1,9 +1,12 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) -mkdir -p $RELEASE_DIR/3rdparty/bootloader +SRCDIR="$BUILD/image/system/usr/share/bootloader" +DSTDIR="$RELEASE_DIR/3rdparty/bootloader" + +mkdir -p "$DSTDIR" if [ -n "$UBOOT_SYSTEM" ]; then - cp -a $(get_build_dir $BOOTLOADER)/u-boot.img $RELEASE_DIR/3rdparty/bootloader + cp -a "$SRCDIR/u-boot.img" "$DSTDIR" fi - cp -a $(get_build_dir linux)/arch/$TARGET_KERNEL_ARCH/boot/dts/qcom/* $RELEASE_DIR/3rdparty/bootloader + cp -a "$SRCDIR"/*.dtb "$DSTDIR" diff --git a/projects/Rockchip/bootloader/release b/projects/Rockchip/bootloader/release index 31ec591c14..25a3210c67 100644 --- a/projects/Rockchip/bootloader/release +++ b/projects/Rockchip/bootloader/release @@ -1,24 +1,20 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) -mkdir -p $RELEASE_DIR/3rdparty/bootloader +SRCDIR="$BUILD/image/system/usr/share/bootloader" +DSTDIR="$RELEASE_DIR/3rdparty/bootloader" + +mkdir -p "$DSTDIR" if [ -n "$UBOOT_SYSTEM" ]; then - BOOTLOADER_DIR=$(get_build_dir $BOOTLOADER) - if [ -f $BOOTLOADER_DIR/idbloader.img ]; then - cp -a $BOOTLOADER_DIR/idbloader.img $RELEASE_DIR/3rdparty/bootloader + if [ -f "$SRCDIR/idbloader.img" ]; then + cp -a "$SRCDIR/idbloader.img" "$DSTDIR" fi - if [ -f $BOOTLOADER_DIR/uboot.img ]; then - cp -a $BOOTLOADER_DIR/uboot.img $RELEASE_DIR/3rdparty/bootloader + if [ -f "$SRCDIR/uboot.img" ]; then + cp -a "$SRCDIR/uboot.img" "$DSTDIR" fi - if [ -f $BOOTLOADER_DIR/trust.img ]; then - cp -a $BOOTLOADER_DIR/trust.img $RELEASE_DIR/3rdparty/bootloader + if [ -f "$SRCDIR/trust.img" ]; then + cp -a "$SRCDIR/trust.img" "$DSTDIR" fi fi - DTB_PREFIX="${DEVICE/RK/rk}-" - LINUX_DTS_DIR=$(get_build_dir linux)/arch/$TARGET_KERNEL_ARCH/boot/dts - for dtb in $LINUX_DTS_DIR/$DTB_PREFIX*.dtb $LINUX_DTS_DIR/rockchip/$DTB_PREFIX*.dtb; do - if [ -f $dtb ]; then - cp -a $dtb $RELEASE_DIR/3rdparty/bootloader - fi - done + cp -a "$SRCDIR"/${DEVICE,,}-*.dtb "$DSTDIR" diff --git a/scripts/autoremove b/scripts/autoremove new file mode 100755 index 0000000000..ac57465489 --- /dev/null +++ b/scripts/autoremove @@ -0,0 +1,12 @@ +#!/bin/bash + +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) + +. config/options "${1}" + +if [ -d "${PKG_BUILD}" -a "${PKG_SECTION}" != "virtual" ]; then + print_color CLR_AUTOREMOVE "AUTOREMOVE ${PKG_BUILD}" + echo + rm -r "${PKG_BUILD}" +fi diff --git a/scripts/build b/scripts/build index 82419f992d..88dae73782 100755 --- a/scripts/build +++ b/scripts/build @@ -231,6 +231,20 @@ if [ -f "${PKG_CONFIGURE_SCRIPT}" -o -f "${PKG_CMAKE_SCRIPT}" -o -f "${PKG_MESON fi # configure +if [ -n "${PKG_DEPENDS_CONFIG}" -a -n "${PKG_INSTALL}" ]; then + for pkg in ${PKG_DEPENDS_CONFIG}; do + for dir in "$(get_install_dir ${pkg})"/{usr/local/,usr/,}{lib/,share/}pkgconfig; do + if [ -d "${dir}" ]; then + build_msg "CLR_TOOLCHAIN" "PKG_CONFIG_PATH" "${dir}" + [ -n "${PKG_CONFIG_PATH}" ] && PKG_CONFIG_PATH+=":" + PKG_CONFIG_PATH+="${dir}" + fi + done + done + + export PKG_CONFIG_PATH +fi + pkg_call_exists pre_configure && pkg_call pre_configure pkg_call_exists pre_configure_${TARGET} && pkg_call pre_configure_${TARGET} diff --git a/scripts/genbuildplan.py b/scripts/genbuildplan.py index 84adf8925d..82918b6076 100755 --- a/scripts/genbuildplan.py +++ b/scripts/genbuildplan.py @@ -19,6 +19,8 @@ class LibreELEC_Package: self.wants = [] self.wantedby = [] + self.unpacks = [] + def __repr__(self): s = "%-9s: %s" % ("name", self.name) s = "%s\n%-9s: %s" % (s, "section", self.section) @@ -26,6 +28,8 @@ class LibreELEC_Package: for t in self.deps: s = "%s\n%-9s: %s" % (s, t, self.deps[t]) + s = "%s\n%-9s: %s" % (s, "UNPACKS", self.unpacks) + s = "%s\n%-9s: %s" % (s, "NEEDS", self.wants) s = "%s\n%-9s: %s" % (s, "WANTED BY", self.wantedby) @@ -55,6 +59,10 @@ class LibreELEC_Package: if name in self.wantedby: self.wantedby.remove(name) + def addUnpack(self, packages): + if packages.strip(): + self.unpacks = packages.strip().split() + def isReferenced(self): return False if self.wants == [] else True @@ -106,7 +114,8 @@ class Node: return self.name if self.target == "target" else "%s:%s" % (self.name, self.target) def addEdge(self, node): - self.edges.append(node) + if node not in self.edges: + self.edges.append(node) def eprint(*args, **kwargs): print(*args, file=sys.stderr, **kwargs) @@ -136,6 +145,8 @@ def initPackage(package): for target in ["bootstrap", "init", "host", "target"]: pkg.addDependencies(target, package[target]) + pkg.addUnpack(package["unpack"]) + return pkg # Split name:target into components @@ -236,7 +247,8 @@ def processPackages(args, packages): "bootstrap": "", "init": "", "host": " ".join(get_packages_by_target("host", args.build)), - "target": " ".join(get_packages_by_target("target", args.build)) + "target": " ".join(get_packages_by_target("target", args.build)), + "unpack": "" } packages[pkg["name"]] = initPackage(pkg) @@ -366,9 +378,12 @@ eprint("") if args.with_json: plan = [] for step in steps: + (pkg_name, target) = split_package(step[1]) plan.append({"task": step[0], "name": step[1], - "deps": [d.fqname for d in REQUIRED_PKGS[step[1]].edges]}) + "section": ALL_PACKAGES[pkg_name].section, + "wants": [d.fqname for d in REQUIRED_PKGS[step[1]].edges], + "unpacks": ALL_PACKAGES[pkg_name].unpacks if pkg_name in ALL_PACKAGES else []}) with open(args.with_json, "w") as out: print(json.dumps(plan, indent=2, sort_keys=False), file=out) diff --git a/scripts/pkgbuilder.py b/scripts/pkgbuilder.py index f4b2602576..be12d8a0ac 100755 --- a/scripts/pkgbuilder.py +++ b/scripts/pkgbuilder.py @@ -63,18 +63,71 @@ class Generator: self.building = {} self.built = {} self.failed = {} + self.removedPackages = {} self.check_no_deps = True + # Transform unpack info from package:target to just package - simplifying refcount generation + # Create a map for sections, as we don't autoremove "virtual" packages + self.unpacks = {} + self.sections = {} + for job in self.work: + (pkg_name, target) = job["name"].split(":") + if pkg_name not in self.unpacks: + self.unpacks[pkg_name] = job["unpacks"] + self.sections[pkg_name] = job["section"] + for unpack in job["unpacks"]: + if unpack not in self.sections: + self.sections[unpack] = "" # don't know section, assume not virtual + + # Count number of times each package is referenced by package:target (including itself) and + # then recursively accumulate counts for any other packages that may be referenced + # by "PKG_DEPENDS_UNPACK". + # Once the refcount is zero for a package, the source directory can be removed. + self.refcount = {} + for job in self.work: + (pkg_name, target) = job["name"].split(":") + self.refcount[pkg_name] = self.refcount.get(pkg_name, 0) + 1 + for pkg_name in job["unpacks"]: + self.addRefCounts(pkg_name) + def canBuildJob(self, job): - for dep in job["deps"]: + for dep in job["wants"]: if dep not in self.built: return False return True + def getPackagesToRemove(self, job): + packages = {} + + pkg_name = job["name"].split(":")[0] + packages[pkg_name] = True + for pkg_name in job["unpacks"]: + self.addUnpackPackages(pkg_name, packages) + + for pkg_name in packages: + if self.refcount[pkg_name] == 0 and \ + self.sections[pkg_name] != "virtual" and \ + pkg_name not in self.removedPackages: + yield pkg_name + + def getPackageReferenceCounts(self, job): + packages = {} + + pkg_name = job["name"].split(":")[0] + packages[pkg_name] = True + for pkg_name in job["unpacks"]: + self.addUnpackPackages(pkg_name, packages) + + for pkg_name in packages: + tokens = "" + tokens += "[v]" if self.sections[pkg_name] == "virtual" else "" + tokens += "[r]" if pkg_name in self.removedPackages else "" + yield("%s:%d%s" % (pkg_name, self.refcount[pkg_name], tokens)) + def getFirstFailedJob(self, job): - for dep in job["deps"]: + for dep in job["wants"]: if dep in self.failed: failedjob = self.getFirstFailedJob(self.failed[dep]) if not failedjob: @@ -86,7 +139,7 @@ class Generator: def getAllFailedJobs(self, job): flist = {} - for dep in job["deps"]: + for dep in job["wants"]: if dep in self.failed: failedjob = self.getFirstFailedJob(self.failed[dep]) if failedjob: @@ -104,7 +157,7 @@ class Generator: # until we're sure there's none left... if self.check_no_deps: for i, job in enumerate(self.work): - if job["deps"] == []: + if job["wants"] == []: self.building[job["name"]] = True del self.work[i] job["failedjobs"] = self.getAllFailedJobs(job) @@ -133,11 +186,11 @@ class Generator: # currently building jobs are complete. def getStallInfo(self): for job in self.work: - for dep in job["deps"]: + for dep in job["wants"]: if dep not in self.building and dep not in self.built: break else: - yield (job["name"], [d for d in job["deps"] if d in self.building]) + yield (job["name"], [d for d in job["wants"] if d in self.building]) def activeJobCount(self): return len(self.building) @@ -157,10 +210,37 @@ class Generator: return self.totalJobs def completed(self, job): - del self.building[job["name"]] self.built[job["name"]] = job + del self.building[job["name"]] + if job["failed"]: self.failed[job["name"]] = job + else: + self.refcount[job["name"].split(":")[0]] -= 1 + + for pkg_name in job["unpacks"]: + self.delRefCounts(pkg_name) + + def removed(self, pkg_name): + self.removedPackages[pkg_name] = True + + def addUnpackPackages(self, pkg_name, packages): + packages[pkg_name] = True + if pkg_name in self.unpacks: + for p in self.unpacks[pkg_name]: + self.addUnpackPackages(p, packages) + + def addRefCounts(self, pkg_name): + self.refcount[pkg_name] = self.refcount.get(pkg_name, 0) + 1 + if pkg_name in self.unpacks: + for p in self.unpacks[pkg_name]: + self.addRefCounts(p) + + def delRefCounts(self, pkg_name): + self.refcount[pkg_name] = self.refcount.get(pkg_name, 0) - 1 + if pkg_name in self.unpacks: + for p in self.unpacks[pkg_name]: + self.delRefCounts(p) class BuildProcess(threading.Thread): def __init__(self, slot, maxslot, jobtotal, haltonerror, work, complete): @@ -259,8 +339,8 @@ class BuildProcess(threading.Thread): class Builder: def __init__(self, maxthreadcount, inputfilename, jobglog, loadstats, stats_interval, \ - haltonerror=True, failimmediately=True, log_burst=True, log_combine="always", bookends=True, \ - debug=False, verbose=False, colors=False): + haltonerror=True, failimmediately=True, log_burst=True, log_combine="always", \ + autoremove=False, bookends=True, colors=False, debug=False, verbose=False): if inputfilename == "-": plan = json.load(sys.stdin) else: @@ -282,6 +362,7 @@ class Builder: self.debug = debug self.verbose = verbose self.bookends = bookends + self.autoremove = autoremove self.colors = (colors == "always" or (colors == "auto" and sys.stderr.isatty())) self.color_code = {} @@ -345,6 +426,7 @@ class Builder: job = self.getCompletedJob() self.writeJobLog(job) + self.autoRemovePackages(job) self.processJobOutput(job) self.displayJobStatus(job) @@ -538,6 +620,13 @@ class Builder: if self.debug: log_size += len(line) + if "autoremove" in job: + for line in job["autoremove"].stdout: + print(line, end="") + if self.debug: + log_size += len(line) + job["autoremove"] = None + if self.bookends: print(">>> %s" % job["name"]) @@ -561,6 +650,29 @@ class Builder: j=job, prec=4, width=self.twidth), file=self.joblogfile, flush=True) + # Remove any source code directories that are no longer required. + # Output from the subprocess is either appended to the burst logfile + # or is captured for later output to stdout (after the correspnding logfile). + def autoRemovePackages(self, job): + if self.autoremove: + if self.debug: + DEBUG("Cleaning Pkg: %s (%s)" % (job["name"], ", ".join(self.generator.getPackageReferenceCounts(job)))) + + for pkg_name in self.generator.getPackagesToRemove(job): + DEBUG("Removing Pkg: %s" % pkg_name) + args = ["%s/%s/autoremove" % (ROOT, SCRIPTS), pkg_name] + if job["logfile"]: + with open(job["logfile"], "a") as logfile: + cmd = subprocess.run(args, cwd=ROOT, + stdin=subprocess.PIPE, stdout=logfile, stderr=subprocess.STDOUT, + universal_newlines=True, shell=False) + else: + job["autoremove"] = subprocess.run(args, cwd=ROOT, + stdin=subprocess.PIPE, capture_output=True, + universal_newlines=True, shell=False) + + self.generator.removed(pkg_name) + def startProcesses(self): for process in self.processes: process.start() @@ -634,6 +746,9 @@ group.add_argument("--fail-immediately", action="store_true", default=True, \ group.add_argument("--fail-after-active", action="store_false", dest="fail_immediately", \ help="With --halt-on-error, when an error occurs fail after all other active jobs have finished.") +parser.add_argument("--auto-remove", action="store_true", default=False, \ + help="Automatically remove redundant source code directories. Default is disabled.") + parser.add_argument("--verbose", action="store_true", default=False, \ help="Output verbose information to stderr.") @@ -665,7 +780,8 @@ try: result = Builder(args.max_procs, args.plan, args.joblog, args.loadstats, args.stats_interval, \ haltonerror=args.halt_on_error, failimmediately=args.fail_immediately, \ log_burst=args.log_burst, log_combine=args.log_combine, bookends=args.with_bookends, \ - colors=args.colors, debug=args.debug, verbose=args.verbose).build() + autoremove=args.auto_remove, colors=args.colors, \ + debug=args.debug, verbose=args.verbose).build() if DEBUG_LOG: DEBUG_LOG.close() diff --git a/scripts/pkgjson b/scripts/pkgjson index 789fd51715..91b55efaa1 100755 --- a/scripts/pkgjson +++ b/scripts/pkgjson @@ -34,7 +34,8 @@ json_worker() { "bootstrap": "${PKG_DEPENDS_BOOTSTRAP}", "init": "${PKG_DEPENDS_INIT}", "host": "${PKG_DEPENDS_HOST}", - "target": "${PKG_DEPENDS_TARGET}" + "target": "${PKG_DEPENDS_TARGET}", + "unpack": "${PKG_DEPENDS_UNPACK}" }, EOF done diff --git a/scripts/unpack b/scripts/unpack index 03980c6699..c1e37eb13d 100755 --- a/scripts/unpack +++ b/scripts/unpack @@ -206,8 +206,6 @@ if [ "${PKG_SECTION}" != "virtual" ]; then mkdir -p "${PKG_BUILD}" echo "INFO_PKG_NAME=\"${PKG_NAME}\"" > "${PKG_BUILD}/.libreelec-package" - rm -f ${STAMPS}/${PKG_NAME}/build_* - PKG_DEEPHASH=$(calculate_stamp) for i in PKG_NAME PKG_DEEPHASH; do echo "STAMP_${i}=\"${!i}\"" >> ${STAMP} diff --git a/tools/pkgcheck b/tools/pkgcheck index 491017e061..fb509b83cd 100755 --- a/tools/pkgcheck +++ b/tools/pkgcheck @@ -44,7 +44,7 @@ process_line() { DESTIMAGE CC CXX CPP LD AS AR NM \ RANLIB OBJCOPY OBJDUMP STRIP \ CPPFLAGS CFLAGS CXXFLAGS LDFLAGS \ - PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR PKG_CONFIG_SYSROOT_DIR PKG_CONFIG_ALLOW_SYSTEM_CFLAGS PKG_CONFIG_ALLOW_SYSTEM_LIBS \ + PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR PKG_CONFIG_SYSROOT_BASE PKG_CONFIG_SYSROOT_DIR PKG_CONFIG_ALLOW_SYSTEM_CFLAGS PKG_CONFIG_ALLOW_SYSTEM_LIBS \ CMAKE_CONF CMAKE \ HOST_CC HOST_CXX HOSTCC HOSTCXX \ CC_FOR_BUILD CXX_FOR_BUILD BUILD_CC BUILD_CXX \