diff --git a/build/scripts/build_haiku_image b/build/scripts/build_haiku_image index a345e532ba..19fac6329c 100755 --- a/build/scripts/build_haiku_image +++ b/build/scripts/build_haiku_image @@ -147,6 +147,18 @@ else fi +is_in_list() +{ + local element + for element in $2; do + if [ "$1" = "$element" ]; then + return 0 + fi + done + return 1 +} + + extractFile() { # extractFile @@ -279,6 +291,18 @@ if [ -n "$resolvePackageDependencies" ]; then systemPackages="$systemPackages $packageFilePath" done + # Remove packages from the list for common, that are already in the package + # list for system. + unfilteredCommonPackages="$commonPackages" + commonPackages= + for packageFile in $unfilteredCommonPackages; do + if is_in_list "$packageFile" "$systemPackages"; then + : + else + commonPackages="$commonPackages $packageFile" + fi + done + # additional packages for common packageUrls=`$getPackageDependencies $repositories -- $systemPackages \ $commonPackages`