diff options
author | Jonathan Bauer | 2019-06-13 11:37:48 +0200 |
---|---|---|
committer | Jonathan Bauer | 2019-06-13 11:37:48 +0200 |
commit | 0790dea3c1f4804e7a791271c47eae70f5249e64 (patch) | |
tree | 4de5479fe784e2f03b4b0a4532eef9bdf1d9617d /core/includes | |
parent | [kernel-vanilla] fix CC override in Makefile (diff) | |
download | mltk-0790dea3c1f4804e7a791271c47eae70f5249e64.tar.gz mltk-0790dea3c1f4804e7a791271c47eae70f5249e64.tar.xz mltk-0790dea3c1f4804e7a791271c47eae70f5249e64.zip |
[*] auto install REQUIRED_CONTENT_PACKAGES
only install those not marked as optional '@'
Diffstat (limited to 'core/includes')
-rw-r--r-- | core/includes/packagemanager.inc | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/core/includes/packagemanager.inc b/core/includes/packagemanager.inc index 6bc5d22a..5b798c22 100644 --- a/core/includes/packagemanager.inc +++ b/core/includes/packagemanager.inc @@ -58,7 +58,6 @@ list_content_package(){ else FILES="$($PACKAGECOMMAND "$PACKAGE" | grep "^/" | grep -v -E 'share/(man|doc)|/var/run|/var/log|/etc/init\.d'; echo ":###:${PIPESTATUS[0]}")" fi -# FILES="$(rpm -ql "$PACKAGE" | grep "^/" | grep -v -E 'share/(man|doc)|/var/run|/var/log'; echo ":###:${PIPESTATUS[0]}")" # ugly hack to get our return value local LPRET=$(echo "$FILES" | awk -F ':###:' '{printf $2}') @@ -67,8 +66,8 @@ list_content_package(){ pdebug "FILES: '$FILES'" perror "dpkg/rpm exited with code '$LPRET' for required package ${PACKAGE}." fi - [ "x$LPRET" != "x0" ] && pwarning "dpkg/rpm exited with code '$LPRET' for optional package ${PACKAGE}." && continue - [ -z "$FILES" ] && pwarning "list_packet_files empty for packet ${PACKAGE}." && continue + [ "x$LPRET" != "x0" ] && pwarning "dpkg/rpm exited with code '$LPRET' for optional package ${PACKAGE}." && return + [ -z "$FILES" ] && pwarning "list_packet_files empty for packet ${PACKAGE}." && return pdebug "Packet $PACKAGE has $(echo $FILES | wc -w) files..." for FILE in $FILES; do if [ "$OP" "$FILE" ] || [ -h "$FILE" ]; then @@ -89,8 +88,15 @@ list_packet_files() { # install all dependencies of a module # goes through all package as given in the variable REQUIRED_INSTALLED_PACKAGES install_dependencies() { - [ -z "$REQUIRED_INSTALLED_PACKAGES" ] && return - install_packages "$REQUIRED_INSTALLED_PACKAGES" + [ -z "${REQUIRED_INSTALLED_PACKAGES}${REQUIRED_CONTENT_PACKAGES}" ] && return + # add all REQUIRED_CONTENT_PACKAGES that are not tagged as optional + local TO_INSTALL="$REQUIRED_INSTALLED_PACKAGES" + for pkg in $REQUIRED_CONTENT_PACKAGES ; do + if [ "${pkg:0:1}" != "@" ]; then + TO_INSTALL="$TO_INSTALL $pkg" + fi + done + install_packages "$TO_INSTALL" } # |