Adjust to changed HaikuPorts repository layout

The package kit actually requires the files "repo", "repo.info",
"repo.sha256" to be located under the repository base URL, so the
approach to name the repository file "repo-<hash>" doesn't work.
Now there's a directory "<hash>" which contains the files.

This commit moves the computation of the hash and downloading the
repository file from the build_haiku_image script to the jam build
system. The repo.info is also downloaded and a repository config file
is generated.
This commit is contained in:
Ingo Weinhold
2013-07-06 02:29:51 +02:00
parent f4e265d53c
commit d72ce06673
6 changed files with 88 additions and 35 deletions
+3 -15
View File
@@ -8,6 +8,7 @@ set -o errexit
# addBuildCompatibilityLibDir
# systemPackages, commonPackages - lists of the hpkg packages copied/updated
# (in "system" and "common" respectively)
# repositories - all repository files
# downloadDir
# The following are only for image types:
# installDir
@@ -306,21 +307,8 @@ done
if [ -n "$resolvePackageDependencies" ]; then
echo "Resolving package dependencies ..."
repoFiles=
for repository in $repositories; do
eval 'repositoryPackageList=$repositoryPackageList_'$repository
eval 'repositoryUrl=$repositoryUrl_'$repository
packageListHash=`sha256sum $repositoryPackageList \
| sed -r 's,([^[:space:]]*).*,\1,'`
repoFileName=repo-$packageListHash
repoFileUrl="$repositoryUrl/repos/$repoFileName"
repoFilePath="$downloadDir/$repoFileName"
downloadFile $repoFileUrl $repoFilePath
repoFiles="$repoFiles $repoFilePath"
done
# additional packages for system
packageUrls=`$getPackageDependencies $repoFiles -- $systemPackages`
packageUrls=`$getPackageDependencies $repositories -- $systemPackages`
for packageUrl in $packageUrls; do
packageFileName=`basename $packageUrl`
packageFilePath="$downloadDir/$packageFileName"
@@ -330,7 +318,7 @@ if [ -n "$resolvePackageDependencies" ]; then
done
# additional packages for common
packageUrls=`$getPackageDependencies $repoFiles -- $systemPackages \
packageUrls=`$getPackageDependencies $repositories -- $systemPackages \
$commonPackages`
for packageUrl in $packageUrls; do
packageFileName=`basename $packageUrl`