build_haiku_image: filter duplicate packages

Resolving the package dependencies for system might yield packages that
are already given for common. Filter those out of the list for common
before resolving the common dependencies.
This commit is contained in:
Ingo Weinhold
2013-08-13 15:31:22 +02:00
parent 998ef89065
commit 37cfff1f04
+24
View File
@@ -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 <archive> <directory> <extractedSubDir>
@@ -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`