@@ -66,6 +66,7 @@ __UbuntuPackages+=" libcurl4-openssl-dev"
6666__UbuntuPackages+="  libkrb5-dev" 
6767__UbuntuPackages+="  libssl-dev" 
6868__UbuntuPackages+="  zlib1g-dev" 
69+ __UbuntuPackages+="  libbrotli-dev" 
6970
7071__AlpinePackages+="  curl-dev" 
7172__AlpinePackages+="  krb5-dev" 
@@ -91,18 +92,18 @@ __HaikuPackages="gcc_syslibs"
9192__HaikuPackages+="  gcc_syslibs_devel" 
9293__HaikuPackages+="  gmp" 
9394__HaikuPackages+="  gmp_devel" 
94- __HaikuPackages+="  icu66 " 
95- __HaikuPackages+="  icu66_devel " 
95+ __HaikuPackages+="  icu[0-9]+ " 
96+ __HaikuPackages+="  icu[0-9]*_devel " 
9697__HaikuPackages+="  krb5" 
9798__HaikuPackages+="  krb5_devel" 
9899__HaikuPackages+="  libiconv" 
99100__HaikuPackages+="  libiconv_devel" 
100- __HaikuPackages+="  llvm12_libunwind " 
101- __HaikuPackages+="  llvm12_libunwind_devel " 
101+ __HaikuPackages+="  llvm[0-9]*_libunwind " 
102+ __HaikuPackages+="  llvm[0-9]*_libunwind_devel " 
102103__HaikuPackages+="  mpfr" 
103104__HaikuPackages+="  mpfr_devel" 
104- __HaikuPackages+="  openssl " 
105- __HaikuPackages+="  openssl_devel " 
105+ __HaikuPackages+="  openssl3 " 
106+ __HaikuPackages+="  openssl3_devel " 
106107__HaikuPackages+="  zlib" 
107108__HaikuPackages+="  zlib_devel" 
108109
@@ -496,7 +497,7 @@ if [[ "$__CodeName" == "alpine" ]]; then
496497    arch=" $( uname -m) " 
497498
498499    ensureDownloadTool
499-      
500+ 
500501    if  [[ " $__hasWget " ==  1 ]];  then 
501502        wget -P " $__ApkToolsDir " " https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v$__ApkToolsVersion /$arch /apk.static" 
502503    else 
@@ -681,7 +682,7 @@ elif [[ "$__CodeName" == "haiku" ]]; then
681682
682683    ensureDownloadTool
683684
684-     echo  " Downloading Haiku package tool " 
685+     echo  " Downloading Haiku package tools " 
685686    git clone https://github.com/haiku/haiku-toolchains-ubuntu --depth 1 " $__RootfsDir /tmp/script" 
686687    if  [[ " $__hasWget " ==  1 ]];  then 
687688        wget -O " $__RootfsDir /tmp/download/hosttools.zip" " $( " $__RootfsDir /tmp/script/fetch.sh" ) " 
@@ -691,34 +692,42 @@ elif [[ "$__CodeName" == "haiku" ]]; then
691692
692693    unzip -o " $__RootfsDir /tmp/download/hosttools.zip" " $__RootfsDir /tmp/bin" 
693694
694-     DepotBaseUrl=" https://depot.haiku-os.org/__api/v2/pkg/get-pkg" 
695-     HpkgBaseUrl=" https://eu.hpkg.haiku-os.org/haiku/master/$__HaikuArch /current" 
695+     HaikuBaseUrl=" https://eu.hpkg.haiku-os.org/haiku/master/$__HaikuArch /current" 
696+     HaikuPortsBaseUrl=" https://eu.hpkg.haiku-os.org/haikuports/master/$__HaikuArch /current" 
697+ 
698+     echo  " Downloading HaikuPorts package repository index..." 
699+     if  [[ " $__hasWget " ==  1 ]];  then 
700+         wget -P " $__RootfsDir /tmp/download" " $HaikuPortsBaseUrl /repo" 
701+     else 
702+         curl -SLO --create-dirs --output-dir " $__RootfsDir /tmp/download" " $HaikuPortsBaseUrl /repo" 
703+     fi 
696704
697-     #  Download Haiku packages
698705    echo  " Downloading Haiku packages" 
699706    read  -ra array <<< " $__HaikuPackages" 
700707    for  package  in  " ${array[@]} " ;  do 
701708        echo  " Downloading $package ..." 
702-         #  API documented here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L60
703-         #  The schema here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L598
709+         hpkgFilename=" $( LD_LIBRARY_PATH=" $__RootfsDir /tmp/bin" " $__RootfsDir /tmp/bin/package_repo" " $__RootfsDir /tmp/download/repo" | 
710+             grep -E " ${package} -" |  sort -V |  tail -n 1 |  xargs)  " 
711+         if  [ -z  " $hpkgFilename " ;  then 
712+             >&2  echo  " ERROR: package $package  missing." 
713+             exit  1
714+         fi 
715+         echo  " Resolved filename: $hpkgFilename ..." 
716+         hpkgDownloadUrl=" $HaikuPortsBaseUrl /packages/$hpkgFilename " 
704717        if  [[ " $__hasWget " ==  1 ]];  then 
705-             hpkgDownloadUrl=" $( wget -qO- --post-data ' {"name":"' " $package " ' ","repositorySourceCode":"haikuports_' $__HaikuArch ' ","versionType":"LATEST","naturalLanguageCode":"en"}' 
706-                 --header ' Content-Type:application/json' " $DepotBaseUrl " |  jq -r ' .result.versions[].hpkgDownloadURL' )  " 
707718            wget -P " $__RootfsDir /tmp/download" " $hpkgDownloadUrl " 
708719        else 
709-             hpkgDownloadUrl=" $( curl -sSL -XPOST --data ' {"name":"' " $package " ' ","repositorySourceCode":"haikuports_' $__HaikuArch ' ","versionType":"LATEST","naturalLanguageCode":"en"}' 
710-                 --header ' Content-Type:application/json' " $DepotBaseUrl " |  jq -r ' .result.versions[].hpkgDownloadURL' )  " 
711720            curl -SLO --create-dirs --output-dir " $__RootfsDir /tmp/download" " $hpkgDownloadUrl " 
712721        fi 
713722    done 
714723    for  package  in  haiku haiku_devel;  do 
715724        echo  " Downloading $package ..." 
716725        if  [[ " $__hasWget " ==  1 ]];  then 
717-             hpkgVersion=" $( wget -qO- " $HpkgBaseUrl  " |  sed -n ' s/^.*version: "\([^"]*\)".*$/\1/p' ) " 
718-             wget -P " $__RootfsDir /tmp/download" " $HpkgBaseUrl  /packages/$package -$hpkgVersion -1-$__HaikuArch .hpkg" 
726+             hpkgVersion=" $( wget -qO- " $HaikuBaseUrl  " |  sed -n ' s/^.*version: "\([^"]*\)".*$/\1/p' ) " 
727+             wget -P " $__RootfsDir /tmp/download" " $HaikuBaseUrl  /packages/$package -$hpkgVersion -1-$__HaikuArch .hpkg" 
719728        else 
720-             hpkgVersion=" $( curl -sSL " $HpkgBaseUrl  " |  sed -n ' s/^.*version: "\([^"]*\)".*$/\1/p' ) " 
721-             curl -SLO --create-dirs --output-dir " $__RootfsDir /tmp/download" " $HpkgBaseUrl  /packages/$package -$hpkgVersion -1-$__HaikuArch .hpkg" 
729+             hpkgVersion=" $( curl -sSL " $HaikuBaseUrl  " |  sed -n ' s/^.*version: "\([^"]*\)".*$/\1/p' ) " 
730+             curl -SLO --create-dirs --output-dir " $__RootfsDir /tmp/download" " $HaikuBaseUrl  /packages/$package -$hpkgVersion -1-$__HaikuArch .hpkg" 
722731        fi 
723732    done 
724733
0 commit comments