@ -6,13 +6,15 @@ usage()
{
{
echo " Usage: $0 [BuildArch] [CodeName] [lldbx.y] [llvmx[.y]] [--skipunmount] --rootfsdir <directory>] "
echo " Usage: $0 [BuildArch] [CodeName] [lldbx.y] [llvmx[.y]] [--skipunmount] --rootfsdir <directory>] "
echo "BuildArch can be: arm(default), arm64, armel, armv6, ppc64le, riscv64, s390x, x64, x86"
echo "BuildArch can be: arm(default), arm64, armel, armv6, ppc64le, riscv64, s390x, x64, x86"
echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine, alpine3.13 or alpine3.14. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen."
echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine"
echo " for FreeBSD can be: freebsd12, freebsd13"
echo " for alpine can be specified with version: alpineX.YY or alpineedge"
echo " for illumos can be: illumos"
echo " for FreeBSD can be: freebsd12, freebsd13"
echo " for Haiku can be: haiku."
echo " for illumos can be: illumos"
echo " for Haiku can be: haiku."
echo "lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine and FreeBSD"
echo "lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine and FreeBSD"
echo "llvmx[.y] - optional, LLVM version for LLVM related packages."
echo "llvmx[.y] - optional, LLVM version for LLVM related packages."
echo "--skipunmount - optional, will skip the unmount of rootfs folder."
echo "--skipunmount - optional, will skip the unmount of rootfs folder."
echo "--skipsigcheck - optional, will skip package signature checks (allowing untrusted packages)."
echo "--use-mirror - optional, use mirror URL to fetch resources, when available."
echo "--use-mirror - optional, use mirror URL to fetch resources, when available."
echo "--jobs N - optional, restrict to N jobs."
echo "--jobs N - optional, restrict to N jobs."
exit 1
exit 1
@ -25,6 +27,7 @@ __AlpineArch=armv7
__FreeBSDArch = arm
__FreeBSDArch = arm
__FreeBSDMachineArch = armv7
__FreeBSDMachineArch = armv7
__IllumosArch = arm7
__IllumosArch = arm7
__HaikuArch = arm
__QEMUArch = arm
__QEMUArch = arm
__UbuntuArch = armhf
__UbuntuArch = armhf
__UbuntuRepo = "http://ports.ubuntu.com/"
__UbuntuRepo = "http://ports.ubuntu.com/"
@ -48,12 +51,14 @@ __UbuntuPackages+=" symlinks"
__UbuntuPackages += " libicu-dev"
__UbuntuPackages += " libicu-dev"
__UbuntuPackages += " liblttng-ust-dev"
__UbuntuPackages += " liblttng-ust-dev"
__UbuntuPackages += " libunwind8-dev"
__UbuntuPackages += " libunwind8-dev"
__UbuntuPackages += " libnuma-dev"
__AlpinePackages += " gettext-dev"
__AlpinePackages += " gettext-dev"
__AlpinePackages += " icu-dev"
__AlpinePackages += " icu-dev"
__AlpinePackages += " libunwind-dev"
__AlpinePackages += " libunwind-dev"
__AlpinePackages += " lttng-ust-dev"
__AlpinePackages += " lttng-ust-dev"
__AlpinePackages += " compiler-rt-static"
__AlpinePackages += " compiler-rt"
__AlpinePackages += " numactl-dev"
# runtime libraries' dependencies
# runtime libraries' dependencies
__UbuntuPackages += " libcurl4-openssl-dev"
__UbuntuPackages += " libcurl4-openssl-dev"
@ -66,7 +71,7 @@ __AlpinePackages+=" krb5-dev"
__AlpinePackages += " openssl-dev"
__AlpinePackages += " openssl-dev"
__AlpinePackages += " zlib-dev"
__AlpinePackages += " zlib-dev"
__FreeBSDBase = "12.3 -RELEASE"
__FreeBSDBase = "12.4 -RELEASE"
__FreeBSDPkg = "1.17.0"
__FreeBSDPkg = "1.17.0"
__FreeBSDABI = "12"
__FreeBSDABI = "12"
__FreeBSDPackages = "libunwind"
__FreeBSDPackages = "libunwind"
@ -81,8 +86,12 @@ __IllumosPackages+=" mit-krb5"
__IllumosPackages += " openssl"
__IllumosPackages += " openssl"
__IllumosPackages += " zlib"
__IllumosPackages += " zlib"
__HaikuPackages = "gmp"
__HaikuPackages = "gcc_syslibs"
__HaikuPackages += " gcc_syslibs_devel"
__HaikuPackages += " gmp"
__HaikuPackages += " gmp_devel"
__HaikuPackages += " gmp_devel"
__HaikuPackages += " icu66"
__HaikuPackages += " icu66_devel"
__HaikuPackages += " krb5"
__HaikuPackages += " krb5"
__HaikuPackages += " krb5_devel"
__HaikuPackages += " krb5_devel"
__HaikuPackages += " libiconv"
__HaikuPackages += " libiconv"
@ -91,12 +100,36 @@ __HaikuPackages+=" llvm12_libunwind"
__HaikuPackages += " llvm12_libunwind_devel"
__HaikuPackages += " llvm12_libunwind_devel"
__HaikuPackages += " mpfr"
__HaikuPackages += " mpfr"
__HaikuPackages += " mpfr_devel"
__HaikuPackages += " mpfr_devel"
__HaikuPackages += " openssl"
__HaikuPackages += " openssl_devel"
__HaikuPackages += " zlib"
__HaikuPackages += " zlib_devel"
# ML.NET dependencies
# ML.NET dependencies
__UbuntuPackages += " libomp5"
__UbuntuPackages += " libomp5"
__UbuntuPackages += " libomp-dev"
__UbuntuPackages += " libomp-dev"
# Taken from https://github.com/alpinelinux/alpine-chroot-install/blob/6d08f12a8a70dd9b9dc7d997c88aa7789cc03c42/alpine-chroot-install#L85-L133
__AlpineKeys = '
4a6a0840:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1yHJxQgsHQREclQu4Ohe\n qxTxd1tHcNnvnQTu/UrTky8wWvgXT+jpveroeWWnzmsYlDI93eLI2ORakxb3gA2O\n Q0Ry4ws8vhaxLQGC74uQR5+/yYrLuTKydFzuPaS1dK19qJPXB8GMdmFOijnXX4SA\n jixuHLe1WW7kZVtjL7nufvpXkWBGjsfrvskdNA/5MfxAeBbqPgaq0QMEfxMAn6/R\n L5kNepi/Vr4S39Xvf2DzWkTLEK8pcnjNkt9/aafhWqFVW7m3HCAII6h/qlQNQKSo\n GuH34Q8GsFG30izUENV9avY7hSLq7nggsvknlNBZtFUcmGoQrtx3FmyYsIC8/R+B\n ywIDAQAB
5243ef4b:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvNijDxJ8kloskKQpJdx+\n mTMVFFUGDoDCbulnhZMJoKNkSuZOzBoFC94omYPtxnIcBdWBGnrm6ncbKRlR+6oy\n DO0W7c44uHKCFGFqBhDasdI4RCYP+fcIX/lyMh6MLbOxqS22TwSLhCVjTyJeeH7K\n aA7vqk+QSsF4TGbYzQDDpg7+6aAcNzg6InNePaywA6hbT0JXbxnDWsB+2/LLSF2G\n mnhJlJrWB1WGjkz23ONIWk85W4S0XB/ewDefd4Ly/zyIciastA7Zqnh7p3Ody6Q0\n sS2MJzo7p3os1smGjUF158s6m/JbVh4DN6YIsxwl2OjDOz9R0OycfJSDaBVIGZzg\n cQIDAQAB
524d27bb:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr8s1q88XpuJWLCZALdKj\n lN8wg2ePB2T9aIcaxryYE/Jkmtu+ZQ5zKq6BT3y/udt5jAsMrhHTwroOjIsF9DeG\n e8Y3vjz+Hh4L8a7hZDaw8jy3CPag47L7nsZFwQOIo2Cl1SnzUc6/owoyjRU7ab0p\n iWG5HK8IfiybRbZxnEbNAfT4R53hyI6z5FhyXGS2Ld8zCoU/R4E1P0CUuXKEN4p0\n 64dyeUoOLXEWHjgKiU1mElIQj3k/IF02W89gDj285YgwqA49deLUM7QOd53QLnx+\n xrIrPv3A+eyXMFgexNwCKQU9ZdmWa00MjjHlegSGK8Y2NPnRoXhzqSP9T9i2HiXL\n VQIDAQAB
5261cecb:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwlzMkl7b5PBdfMzGdCT0\n cGloRr5xGgVmsdq5EtJvFkFAiN8Ac9MCFy/vAFmS8/7ZaGOXoCDWbYVLTLOO2qtX\n yHRl+7fJVh2N6qrDDFPmdgCi8NaE+3rITWXGrrQ1spJ0B6HIzTDNEjRKnD4xyg4j\n g01FMcJTU6E+V2JBY45CKN9dWr1JDM/nei/Pf0byBJlMp/mSSfjodykmz4Oe13xB\n Ca1WTwgFykKYthoLGYrmo+LKIGpMoeEbY1kuUe04UiDe47l6Oggwnl+8XD1MeRWY\n sWgj8sF4dTcSfCMavK4zHRFFQbGp/YFJ/Ww6U9lA3Vq0wyEI6MCMQnoSMFwrbgZw\n wwIDAQAB
58199dcc:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3v8/ye/V/t5xf4JiXLXa\n hWFRozsnmn3hobON20GdmkrzKzO/eUqPOKTpg2GtvBhK30fu5oY5uN2ORiv2Y2ht\n eLiZ9HVz3XP8Fm9frha60B7KNu66FO5P2o3i+E+DWTPqqPcCG6t4Znk2BypILcit\n wiPKTsgbBQR2qo/cO01eLLdt6oOzAaF94NH0656kvRewdo6HG4urbO46tCAizvCR\n CA7KGFMyad8WdKkTjxh8YLDLoOCtoZmXmQAiwfRe9pKXRH/XXGop8SYptLqyVVQ+\n tegOD9wRs2tOlgcLx4F/uMzHN7uoho6okBPiifRX+Pf38Vx+ozXh056tjmdZkCaV\n aQIDAQAB
58cbb476:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoSPnuAGKtRIS5fEgYPXD\n 8pSGvKAmIv3A08LBViDUe+YwhilSHbYXUEAcSH1KZvOo1WT1x2FNEPBEFEFU1Eyc\n +qGzbA03UFgBNvArurHQ5Z/GngGqE7IarSQFSoqewYRtFSfp+TL9CUNBvM0rT7vz\n 2eMu3/wWG+CBmb92lkmyWwC1WSWFKO3x8w+Br2IFWvAZqHRt8oiG5QtYvcZL6jym\n Y8T6sgdDlj+Y+wWaLHs9Fc+7vBuyK9C4O1ORdMPW15qVSl4Lc2Wu1QVwRiKnmA+c\n DsH/m7kDNRHM7TjWnuj+nrBOKAHzYquiu5iB3Qmx+0gwnrSVf27Arc3ozUmmJbLj\n zQIDAQAB
58e4f17d:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvBxJN9ErBgdRcPr5g4hV\n qyUSGZEKuvQliq2Z9SRHLh2J43+EdB6A+yzVvLnzcHVpBJ+BZ9RV30EM9guck9sh\n r+bryZcRHyjG2wiIEoduxF2a8KeWeQH7QlpwGhuobo1+gA8L0AGImiA6UP3LOirl\n I0G2+iaKZowME8/tydww4jx5vG132JCOScMjTalRsYZYJcjFbebQQolpqRaGB4iG\n WqhytWQGWuKiB1A22wjmIYf3t96l1Mp+FmM2URPxD1gk/BIBnX7ew+2gWppXOK9j\n 1BJpo0/HaX5XoZ/uMqISAAtgHZAqq+g3IUPouxTphgYQRTRYpz2COw3NF43VYQrR\n bQIDAQAB
60ac2099:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwR4uJVtJOnOFGchnMW5Y\n j5/waBdG1u5BTMlH+iQMcV5+VgWhmpZHJCBz3ocD+0IGk2I68S5TDOHec/GSC0lv\n 6R9o6F7h429GmgPgVKQsc8mPTPtbjJMuLLs4xKc+viCplXc0Nc0ZoHmCH4da6fCV\n tdpHQjVe6F9zjdquZ4RjV6R6JTiN9v924dGMAkbW/xXmamtz51FzondKC52Gh8Mo\n /oA0/T0KsCMCi7tb4QNQUYrf+Xcha9uus4ww1kWNZyfXJB87a2kORLiWMfs2IBBJ\n TmZ2Fnk0JnHDb8Oknxd9PvJPT0mvyT8DA+KIAPqNvOjUXP4bnjEHJcoCP9S5HkGC\n IQIDAQAB
6165ee59:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAutQkua2CAig4VFSJ7v54\n ALyu/J1WB3oni7qwCZD3veURw7HxpNAj9hR+S5N/pNeZgubQvJWyaPuQDm7PTs1+\n tFGiYNfAsiibX6Rv0wci3M+z2XEVAeR9Vzg6v4qoofDyoTbovn2LztaNEjTkB+oK\n tlvpNhg1zhou0jDVYFniEXvzjckxswHVb8cT0OMTKHALyLPrPOJzVtM9C1ew2Nnc\n 3848xLiApMu3NBk0JqfcS3Bo5Y2b1FRVBvdt+2gFoKZix1MnZdAEZ8xQzL/a0YS5\n Hd0wj5+EEKHfOd3A75uPa/WQmA+o0cBFfrzm69QDcSJSwGpzWrD1ScH3AK8nWvoj\n v7e9gukK/9yl1b4fQQ00vttwJPSgm9EnfPHLAtgXkRloI27H6/PuLoNvSAMQwuCD\n hQRlyGLPBETKkHeodfLoULjhDi1K2gKJTMhtbnUcAA7nEphkMhPWkBpgFdrH+5z4\n Lxy+3ek0cqcI7K68EtrffU8jtUj9LFTUC8dERaIBs7NgQ/LfDbDfGh9g6qVj1hZl\n k9aaIPTm/xsi8v3u+0qaq7KzIBc9s59JOoA8TlpOaYdVgSQhHHLBaahOuAigH+VI\n isbC9vmqsThF2QdDtQt37keuqoda2E6sL7PUvIyVXDRfwX7uMDjlzTxHTymvq2Ck\n htBqojBnThmjJQFgZXocHG8CAwEAAQ= =
61666e3f:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlEyxkHggKCXC2Wf5Mzx4\n nZLFZvU2bgcA3exfNPO/g1YunKfQY+Jg4fr6tJUUTZ3XZUrhmLNWvpvSwDS19ZmC\n IXOu0+V94aNgnhMsk9rr59I8qcbsQGIBoHzuAl8NzZCgdbEXkiY90w1skUw8J57z\n qCsMBydAueMXuWqF5nGtYbi5vHwK42PffpiZ7G5Kjwn8nYMW5IZdL6ZnMEVJUWC9\n I4waeKg0yskczYDmZUEAtrn3laX9677ToCpiKrvmZYjlGl0BaGp3cxggP2xaDbUq\n qfFxWNgvUAb3pXD09JM6Mt6HSIJaFc9vQbrKB9KT515y763j5CC2KUsilszKi3mB\n HYe5PoebdjS7D1Oh+tRqfegU2IImzSwW3iwA7PJvefFuc/kNIijfS/gH/cAqAK6z\n bhdOtE/zc7TtqW2Wn5Y03jIZdtm12CxSxwgtCF1NPyEWyIxAQUX9ACb3M0FAZ61n\n fpPrvwTaIIxxZ01L3IzPLpbc44x/DhJIEU+iDt6IMTrHOphD9MCG4631eIdB0H1b\n 6zbNX1CXTsafqHRFV9XmYYIeOMggmd90s3xIbEujA6HKNP/gwzO6CDJ+nHFDEqoF\n SkxRdTkEqjTjVKieURW7Swv7zpfu5PrsrrkyGnsRrBJJzXlm2FOOxnbI2iSL1B5F\n rO5kbUxFeZUIDq+7Yv4kLWcCAwEAAQ= =
616a9724:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnC+bR4bHf/L6QdU4puhQ\n gl1MHePszRC38bzvVFDUJsmCaMCL2suCs2A2yxAgGb9pu9AJYLAmxQC4mM3jNqhg\n /E7yuaBbek3O02zN/ctvflJ250wZCy+z0ZGIp1ak6pu1j14IwHokl9j36zNfGtfv\n ADVOcdpWITFFlPqwq1qt/H3UsKVmtiF3BNWWTeUEQwKvlU8ymxgS99yn0+4OPyNT\n L3EUeS+NQJtDS01unau0t7LnjUXn+XIneWny8bIYOQCuVR6s/gpIGuhBaUqwaJOw\n 7jkJZYF2Ij7uPb4b5/R3vX2FfxxqEHqssFSg8FFUNTZz3qNZs0CRVyfA972g9WkJ\n hPfn31pQYil4QGRibCMIeU27YAEjXoqfJKEPh4UWMQsQLrEfdGfb8VgwrPbniGfU\n L3jKJR3VAafL9330iawzVQDlIlwGl6u77gEXMl9K0pfazunYhAp+BMP+9ot5ckK+\n osmrqj11qMESsAj083GeFdfV3pXEIwUytaB0AKEht9DbqUfiE/oeZ/LAXgySMtVC\n sbC4ESmgVeY2xSBIJdDyUap7FR49GGrw0W49NUv9gRgQtGGaNVQQO9oGL2PBC41P\n iWF9GLoX30HIz1P8PF/cZvicSSPkQf2Z6TV+t0ebdGNS5DjapdnCrq8m9Z0pyKsQ\n uxAL2a7zX8l5i1CZh1ycUGsCAwEAAQ= =
616abc23:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0MfCDrhODRCIxR9Dep1s\n eXafh5CE5BrF4WbCgCsevyPIdvTeyIaW4vmO3bbG4VzhogDZju+R3IQYFuhoXP5v\n Y+zYJGnwrgz3r5wYAvPnLEs1+dtDKYOgJXQj+wLJBW1mzRDL8FoRXOe5iRmn1EFS\n wZ1DoUvyu7/J5r0itKicZp3QKED6YoilXed+1vnS4Sk0mzN4smuMR9eO1mMCqNp9\n 9KTfRDHTbakIHwasECCXCp50uXdoW6ig/xUAFanpm9LtK6jctNDbXDhQmgvAaLXZ\n LvFqoaYJ/CvWkyYCgL6qxvMvVmPoRv7OPcyni4xR/WgWa0MSaEWjgPx3+yj9fiMA\n 1S02pFWFDOr5OUF/O4YhFJvUCOtVsUPPfA/Lj6faL0h5QI9mQhy5Zb9TTaS9jB6p\n Lw7u0dJlrjFedk8KTJdFCcaGYHP6kNPnOxMylcB/5WcztXZVQD5WpCicGNBxCGMm\n W64SgrV7M07gQfL/32QLsdqPUf0i8hoVD8wfQ3EpbQzv6Fk1Cn90bZqZafg8XWGY\n wddhkXk7egrr23Djv37V2okjzdqoyLBYBxMz63qQzFoAVv5VoY2NDTbXYUYytOvG\n GJ1afYDRVWrExCech1mX5ZVUB1br6WM+psFLJFoBFl6mDmiYt0vMYBddKISsvwLl\n IJQkzDwtXzT2cSjoj3T5QekCAwEAAQ= =
616ac3bc:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvaaoSLab+IluixwKV5Od\n 0gib2YurjPatGIbn5Ov2DLUFYiebj2oJINXJSwUOO+4WcuHFEqiL/1rya+k5hLZt\n hnPL1tn6QD4rESznvGSasRCQNT2vS/oyZbTYJRyAtFkEYLlq0t3S3xBxxHWuvIf0\n qVxVNYpQWyM3N9RIeYBR/euXKJXileSHk/uq1I5wTC0XBIHWcthczGN0m9wBEiWS\n 0m3cnPk4q0Ea8mUJ91Rqob19qETz6VbSPYYpZk3qOycjKosuwcuzoMpwU8KRiMFd\n 5LHtX0Hx85ghGsWDVtS0c0+aJa4lOMGvJCAOvDfqvODv7gKlCXUpgumGpLdTmaZ8\n 1RwqspAe3IqBcdKTqRD4m2mSg23nVx2FAY3cjFvZQtfooT7q1ItRV5RgH6FhQSl7\n +6YIMJ1Bf8AAlLdRLpg+doOUGcEn+pkDiHFgI8ylH1LKyFKw+eXaAml/7DaWZk1d\n dqggwhXOhc/UUZFQuQQ8A8zpA13PcbC05XxN2hyP93tCEtyynMLVPtrRwDnHxFKa\n qKzs3rMDXPSXRn3ZZTdKH3069ApkEjQdpcwUh+EmJ1Ve/5cdtzT6kKWCjKBFZP/s\n 91MlRrX2BTRdHaU5QJkUheUtakwxuHrdah2F94lRmsnQlpPr2YseJu6sIE+Dnx4M\n CfhdVbQL2w54R645nlnohu8CAwEAAQ= =
616adfeb:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq0BFD1D4lIxQcsqEpQzU\n pNCYM3aP1V/fxxVdT4DWvSI53JHTwHQamKdMWtEXetWVbP5zSROniYKFXd/xrD9X\n 0jiGHey3lEtylXRIPxe5s+wXoCmNLcJVnvTcDtwx/ne2NLHxp76lyc25At+6RgE6\n ADjLVuoD7M4IFDkAsd8UQ8zM0Dww9SylIk/wgV3ZkifecvgUQRagrNUdUjR56EBZ\n raQrev4hhzOgwelT0kXCu3snbUuNY/lU53CoTzfBJ5UfEJ5pMw1ij6X0r5S9IVsy\n KLWH1hiO0NzU2c8ViUYCly4Fe9xMTFc6u2dy/dxf6FwERfGzETQxqZvSfrRX+GLj\n /QZAXiPg5178hT/m0Y3z5IGenIC/80Z9NCi+byF1WuJlzKjDcF/TU72zk0+PNM/H\n Kuppf3JT4DyjiVzNC5YoWJT2QRMS9KLP5iKCSThwVceEEg5HfhQBRT9M6KIcFLSs\n mFjx9kNEEmc1E8hl5IR3+3Ry8G5/bTIIruz14jgeY9u5jhL8Vyyvo41jgt9sLHR1\n /J1TxKfkgksYev7PoX6/ZzJ1ksWKZY5NFoDXTNYUgzFUTOoEaOg3BAQKadb3Qbbq\n XIrxmPBdgrn9QI7NCgfnAY3Tb4EEjs3ON/BNyEhUENcXOH6I1NbcuBQ7g9P73kE4\n VORdoc8MdJ5eoKBpO8Ww8HECAwEAAQ= =
616ae350:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyduVzi1mWm+lYo2Tqt/0\n XkCIWrDNP1QBMVPrE0/ZlU2bCGSoo2Z9FHQKz/mTyMRlhNqTfhJ5qU3U9XlyGOPJ\n piM+b91g26pnpXJ2Q2kOypSgOMOPA4cQ42PkHBEqhuzssfj9t7x47ppS94bboh46\n xLSDRff/NAbtwTpvhStV3URYkxFG++cKGGa5MPXBrxIp+iZf9GnuxVdST5PGiVGP\n ODL/b69sPJQNbJHVquqUTOh5Ry8uuD2WZuXfKf7/C0jC/ie9m2+0CttNu9tMciGM\n EyKG1/Xhk5iIWO43m4SrrT2WkFlcZ1z2JSf9Pjm4C2+HovYpihwwdM/OdP8Xmsnr\n DzVB4YvQiW+IHBjStHVuyiZWc+JsgEPJzisNY0Wyc/kNyNtqVKpX6dRhMLanLmy+\n f53cCSI05KPQAcGj6tdL+D60uKDkt+FsDa0BTAobZ31OsFVid0vCXtsbplNhW1IF\n HwsGXBTVcfXg44RLyL8Lk/2dQxDHNHzAUslJXzPxaHBLmt++2COa2EI1iWlvtznk\n Ok9WP8SOAIj+xdqoiHcC4j72BOVVgiITIJNHrbppZCq6qPR+fgXmXa+sDcGh30m6\n 9Wpbr28kLMSHiENCWTdsFij+NQTd5S47H7XTROHnalYDuF1RpS+DpQidT5tUimaT\n JZDr++FjKrnnijbyNF8b98UCAwEAAQ= =
616db30d:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnpUpyWDWjlUk3smlWeA0\n lIMW+oJ38t92CRLHH3IqRhyECBRW0d0aRGtq7TY8PmxjjvBZrxTNDpJT6KUk4LRm\n a6A6IuAI7QnNK8SJqM0DLzlpygd7GJf8ZL9SoHSH+gFsYF67Cpooz/YDqWrlN7Vw\n tO00s0B+eXy+PCXYU7VSfuWFGK8TGEv6HfGMALLjhqMManyvfp8hz3ubN1rK3c8C\n US/ilRh1qckdbtPvoDPhSbTDmfU1g/EfRSIEXBrIMLg9ka/XB9PvWRrekrppnQzP\n hP9YE3x/wbFc5QqQWiRCYyQl/rgIMOXvIxhkfe8H5n1Et4VAorkpEAXdsfN8KSVv\n LSMazVlLp9GYq5SUpqYX3KnxdWBgN7BJoZ4sltsTpHQ/34SXWfu3UmyUveWj7wp0\n x9hwsPirVI00EEea9AbP7NM2rAyu6ukcm4m6ATd2DZJIViq2es6m60AE6SMCmrQF\n wmk4H/kdQgeAELVfGOm2VyJ3z69fQuywz7xu27S6zTKi05Qlnohxol4wVb6OB7qG\n LPRtK9ObgzRo/OPumyXqlzAi/Yvyd1ZQk8labZps3e16bQp8+pVPiumWioMFJDWV\n GZjCmyMSU8V6MB6njbgLHoyg2LCukCAeSjbPGGGYhnKLm1AKSoJh3IpZuqcKCk5C\n 8CM1S15HxV78s9dFntEqIokCAwEAAQ= =
'
__Keyring =
__Keyring =
__SkipSigCheck = 0
__UseMirror = 0
__UseMirror = 0
__UnprocessedBuildArgs =
__UnprocessedBuildArgs =
@ -143,47 +176,56 @@ while :; do
__Keyring = "--keyring /usr/share/keyrings/raspbian-archive-keyring.gpg"
__Keyring = "--keyring /usr/share/keyrings/raspbian-archive-keyring.gpg"
fi
fi
; ;
; ;
ppc64le)
__BuildArch = ppc64le
__UbuntuArch = ppc64el
__UbuntuRepo = "http://ports.ubuntu.com/ubuntu-ports/"
__UbuntuPackages = $( echo ${ __UbuntuPackages } | sed 's/ libunwind8-dev//' )
__UbuntuPackages = $( echo ${ __UbuntuPackages } | sed 's/ libomp-dev//' )
__UbuntuPackages = $( echo ${ __UbuntuPackages } | sed 's/ libomp5//' )
unset __LLDB_Package
; ;
riscv64)
riscv64)
__BuildArch = riscv64
__BuildArch = riscv64
__AlpineArch = riscv64
__AlpinePackages = " ${ __AlpinePackages // lldb-dev/ } "
__QEMUArch = riscv64
__UbuntuArch = riscv64
__UbuntuArch = riscv64
__UbuntuRepo = "http://deb.debian.org/debian-ports"
__UbuntuRepo = "http://deb.debian.org/debian-ports"
__CodeName = sid
__UbuntuPackages = " ${ __UbuntuPackages // libunwind8-dev/ } "
__UbuntuPackages = $( echo ${ __UbuntuPackages } | sed 's/ libunwind8-dev//' )
unset __LLDB_Package
unset __LLDB_Package
if [ [ -e "/usr/share/keyrings/debian-ports-archive-keyring.gpg" ] ] ; then
if [ [ -e "/usr/share/keyrings/debian-ports-archive-keyring.gpg" ] ] ; then
__Keyring = "--keyring /usr/share/keyrings/debian-ports-archive-keyring.gpg --include=debian-ports-archive-keyring"
__Keyring = "--keyring /usr/share/keyrings/debian-ports-archive-keyring.gpg --include=debian-ports-archive-keyring"
fi
fi
; ;
; ;
ppc64le)
__BuildArch = ppc64le
__AlpineArch = ppc64le
__QEMUArch = ppc64le
__UbuntuArch = ppc64el
__UbuntuRepo = "http://ports.ubuntu.com/ubuntu-ports/"
__UbuntuPackages = " ${ __UbuntuPackages // libunwind8-dev/ } "
__UbuntuPackages = " ${ __UbuntuPackages // libomp-dev/ } "
__UbuntuPackages = " ${ __UbuntuPackages // libomp5/ } "
unset __LLDB_Package
; ;
s390x)
s390x)
__BuildArch = s390x
__BuildArch = s390x
__AlpineArch = s390x
__QEMUArch = s390x
__UbuntuArch = s390x
__UbuntuArch = s390x
__UbuntuRepo = "http://ports.ubuntu.com/ubuntu-ports/"
__UbuntuRepo = "http://ports.ubuntu.com/ubuntu-ports/"
__UbuntuPackages = $( echo ${ __UbuntuPackages } | sed 's/ libunwind8-dev//' )
__UbuntuPackages = " ${ __UbuntuPackages // libunwind8-dev/ } "
__UbuntuPackages = $( echo ${ __UbuntuPackages } | sed 's/ libomp-dev//' )
__UbuntuPackages = " ${ __UbuntuPackages // libomp-dev/ } "
__UbuntuPackages = $( echo ${ __UbuntuPackages } | sed 's/ libomp5//' )
__UbuntuPackages = " ${ __UbuntuPackages // libomp5/ } "
unset __LLDB_Package
unset __LLDB_Package
; ;
; ;
x64)
x64)
__BuildArch = x64
__BuildArch = x64
__AlpineArch = x86_64
__UbuntuArch = amd64
__UbuntuArch = amd64
__FreeBSDArch = amd64
__FreeBSDArch = amd64
__FreeBSDMachineArch = amd64
__FreeBSDMachineArch = amd64
__illumosArch = x86_64
__illumosArch = x86_64
__UbuntuRepo =
__HaikuArch = x86_64
__UbuntuRepo = "http://archive.ubuntu.com/ubuntu/"
; ;
; ;
x86)
x86)
__BuildArch = x86
__BuildArch = x86
__UbuntuArch = i386
__UbuntuArch = i386
__AlpineArch = x86
__UbuntuRepo = "http://archive.ubuntu.com/ubuntu/"
__UbuntuRepo = "http://archive.ubuntu.com/ubuntu/"
; ;
; ;
lldb*)
lldb*)
@ -238,34 +280,59 @@ while :; do
; ;
; ;
jessie) # Debian 8
jessie) # Debian 8
__CodeName = jessie
__CodeName = jessie
__UbuntuRepo = "http://ftp.debian.org/debian/"
if [ [ -z " $__UbuntuRepo " ] ] ; then
__UbuntuRepo = "http://ftp.debian.org/debian/"
fi
; ;
; ;
stretch) # Debian 9
stretch) # Debian 9
__CodeName = stretch
__CodeName = stretch
__UbuntuRepo = "http://ftp.debian.org/debian/"
__LLDB_Package = "liblldb-6.0-dev"
__LLDB_Package = "liblldb-6.0-dev"
if [ [ -z " $__UbuntuRepo " ] ] ; then
__UbuntuRepo = "http://ftp.debian.org/debian/"
fi
; ;
; ;
buster) # Debian 10
buster) # Debian 10
__CodeName = buster
__CodeName = buster
__UbuntuRepo = "http://ftp.debian.org/debian/"
__LLDB_Package = "liblldb-6.0-dev"
__LLDB_Package = "liblldb-6.0-dev"
if [ [ -z " $__UbuntuRepo " ] ] ; then
__UbuntuRepo = "http://ftp.debian.org/debian/"
fi
; ;
bullseye) # Debian 11
__CodeName = bullseye
if [ [ -z " $__UbuntuRepo " ] ] ; then
__UbuntuRepo = "http://ftp.debian.org/debian/"
fi
; ;
sid) # Debian sid
__CodeName = sid
if [ [ -z " $__UbuntuRepo " ] ] ; then
__UbuntuRepo = "http://ftp.debian.org/debian/"
fi
; ;
; ;
tizen)
tizen)
__CodeName =
__CodeName =
__UbuntuRepo =
__UbuntuRepo =
__Tizen = tizen
__Tizen = tizen
; ;
; ;
alpine| alpine3.13)
alpine* )
__CodeName = alpine
__CodeName = alpine
__UbuntuRepo =
__UbuntuRepo =
__AlpineVersion = 3.13
version = " ${ lowerI /alpine/ } "
__AlpinePackages += " llvm10-libs"
; ;
if [ [ " $version " = = "edge" ] ] ; then
alpine3.14)
__AlpineVersion = edge
__CodeName = alpine
else
__UbuntuRepo =
parts = ( ${ version //./ } )
__AlpineVersion = 3.14
__AlpineMajorVersion = " ${ parts [0] } "
__AlpinePackages += " llvm11-libs"
__AlpineMinoVersion = " ${ parts [1] } "
__AlpineVersion = " $__AlpineMajorVersion . $__AlpineMinoVersion "
fi
; ;
; ;
freebsd12)
freebsd12)
__CodeName = freebsd
__CodeName = freebsd
@ -273,7 +340,7 @@ while :; do
; ;
; ;
freebsd13)
freebsd13)
__CodeName = freebsd
__CodeName = freebsd
__FreeBSDBase = "13.0 -RELEASE"
__FreeBSDBase = "13.2 -RELEASE"
__FreeBSDABI = "13"
__FreeBSDABI = "13"
__SkipUnmount = 1
__SkipUnmount = 1
; ;
; ;
@ -283,12 +350,14 @@ while :; do
; ;
; ;
haiku)
haiku)
__CodeName = haiku
__CodeName = haiku
__BuildArch = x64
__SkipUnmount = 1
__SkipUnmount = 1
; ;
; ;
--skipunmount)
--skipunmount)
__SkipUnmount = 1
__SkipUnmount = 1
; ;
; ;
--skipsigcheck)
__SkipSigCheck = 1
; ;
--rootfsdir| -rootfsdir)
--rootfsdir| -rootfsdir)
shift
shift
__RootfsDir = " $1 "
__RootfsDir = " $1 "
@ -308,10 +377,47 @@ while :; do
shift
shift
done
done
case " $__AlpineVersion " in
3.14) __AlpinePackages += " llvm11-libs" ; ;
3.15) __AlpinePackages += " llvm12-libs" ; ;
3.16) __AlpinePackages += " llvm13-libs" ; ;
3.17) __AlpinePackages += " llvm15-libs" ; ;
edge) __AlpineLlvmLibsLookup = 1 ; ;
*)
if [ [ " $__AlpineArch " = ~ s390x| ppc64le ] ] ; then
__AlpineVersion = 3.15 # minimum version that supports lldb-dev
__AlpinePackages += " llvm12-libs"
elif [ [ " $__AlpineArch " = = "x86" ] ] ; then
__AlpineVersion = 3.17 # minimum version that supports lldb-dev
__AlpinePackages += " llvm15-libs"
elif [ [ " $__AlpineArch " = = "riscv64" ] ] ; then
__AlpineLlvmLibsLookup = 1
__AlpineVersion = edge # minimum version with APKINDEX.tar.gz (packages archive)
else
__AlpineVersion = 3.13 # 3.13 to maximize compatibility
__AlpinePackages += " llvm10-libs"
if [ [ " $__AlpineArch " = = "armv7" ] ] ; then
__AlpinePackages = " ${ __AlpinePackages //numactl-dev/ } "
fi
fi
esac
if [ [ " $__AlpineVersion " = ~ 3\. 1[ 345] ] ] ; then
# compiler-rt--static was merged in compiler-rt package in alpine 3.16
# for older versions, we need compiler-rt--static, so replace the name
__AlpinePackages = " ${ __AlpinePackages /compiler-rt/compiler-rt-static } "
fi
if [ [ " $__BuildArch " = = "armel" ] ] ; then
if [ [ " $__BuildArch " = = "armel" ] ] ; then
__LLDB_Package = "lldb-3.5-dev"
__LLDB_Package = "lldb-3.5-dev"
fi
fi
if [ [ " $__CodeName " = = "xenial" && " $__UbuntuArch " = = "armhf" ] ] ; then
# libnuma-dev is not available on armhf for xenial
__UbuntuPackages = " ${ __UbuntuPackages //libnuma-dev/ } "
fi
__UbuntuPackages += " ${ __LLDB_Package :- } "
__UbuntuPackages += " ${ __LLDB_Package :- } "
if [ [ -n " $__LLVM_MajorVersion " ] ] ; then
if [ [ -n " $__LLVM_MajorVersion " ] ] ; then
@ -337,18 +443,59 @@ mkdir -p "$__RootfsDir"
__RootfsDir = " $( cd " $__RootfsDir " && pwd ) "
__RootfsDir = " $( cd " $__RootfsDir " && pwd ) "
if [ [ " $__CodeName " = = "alpine" ] ] ; then
if [ [ " $__CodeName " = = "alpine" ] ] ; then
__ApkToolsVersion = 2.9.1
__ApkToolsVersion = 2.12.11
__ApkToolsSHA512SUM = 53e57b49230da07ef44ee0765b9592580308c407a8d4da7125550957bb72cb59638e04f8892a18b584451c8d841d1c7cb0f0ab680cc323a3015776affaa3be33
__ApkToolsDir = " $( mktemp -d) "
__ApkToolsDir = " $( mktemp -d) "
wget " https://github.com/alpinelinux/apk-tools/releases/download/v $__ApkToolsVersion /apk-tools- $__ApkToolsVersion -x86_64-linux.tar.gz " -P " $__ApkToolsDir "
__ApkKeysDir = " $( mktemp -d) "
tar -xf " $__ApkToolsDir /apk-tools- $__ApkToolsVersion -x86_64-linux.tar.gz " -C " $__ApkToolsDir "
mkdir -p " $__RootfsDir " /usr/bin
wget " https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic//v $__ApkToolsVersion /x86_64/apk.static " -P " $__ApkToolsDir "
cp -v " /usr/bin/qemu- $__QEMUArch -static " " $__RootfsDir /usr/bin "
echo " $__ApkToolsSHA512SUM $__ApkToolsDir /apk.static " | sha512sum -c
chmod +x " $__ApkToolsDir /apk.static "
if [ [ -f " /usr/bin/qemu- $__QEMUArch -static " ] ] ; then
mkdir -p " $__RootfsDir " /usr/bin
cp -v " /usr/bin/qemu- $__QEMUArch -static " " $__RootfsDir /usr/bin "
fi
if [ [ " $__AlpineVersion " = = "edge" ] ] ; then
version = edge
else
version = " v $__AlpineVersion "
fi
for line in $__AlpineKeys ; do
id = " ${ line %% : * } "
content = " ${ line #* : } "
echo -e " -----BEGIN PUBLIC KEY-----\n $content \n-----END PUBLIC KEY----- " > " $__ApkKeysDir /alpine-devel@lists.alpinelinux.org- $id .rsa.pub "
done
if [ [ " $__SkipSigCheck " = = "1" ] ] ; then
__ApkSignatureArg = "--allow-untrusted"
else
__ApkSignatureArg = " --keys-dir $__ApkKeysDir "
fi
# initialize DB
" $__ApkToolsDir /apk.static " \
-X " http://dl-cdn.alpinelinux.org/alpine/ $version /main " \
-X " http://dl-cdn.alpinelinux.org/alpine/ $version /community " \
-U $__ApkSignatureArg --root " $__RootfsDir " --arch " $__AlpineArch " --initdb add
if [ [ " $__AlpineLlvmLibsLookup " = = 1 ] ] ; then
__AlpinePackages += " $( " $__ApkToolsDir /apk.static " \
-X " http://dl-cdn.alpinelinux.org/alpine/ $version /main " \
-X " http://dl-cdn.alpinelinux.org/alpine/ $version /community " \
-U $__ApkSignatureArg --root " $__RootfsDir " --arch " $__AlpineArch " \
search 'llvm*-libs' | sort | tail -1 | sed 's/-[^-]*//2g' ) "
fi
" $__ApkToolsDir /apk-tools- $__ApkToolsVersion /apk " \
# install all packages in one go
-X " http://dl-cdn.alpinelinux.org/alpine/v $__AlpineVersion /main " \
" $__ApkToolsDir /apk.static " \
-X " http://dl-cdn.alpinelinux.org/alpine/v $__AlpineVersion /community " \
-X " http://dl-cdn.alpinelinux.org/alpine/ $version /main " \
-U --allow-untrusted --root " $__RootfsDir " --arch " $__AlpineArch " --initdb \
-X " http://dl-cdn.alpinelinux.org/alpine/ $version /community " \
add $__AlpinePackages
-U $__ApkSignatureArg --root " $__RootfsDir " --arch " $__AlpineArch " \
add $__AlpinePackages
rm -r " $__ApkToolsDir "
rm -r " $__ApkToolsDir "
elif [ [ " $__CodeName " = = "freebsd" ] ] ; then
elif [ [ " $__CodeName " = = "freebsd" ] ] ; then
@ -391,9 +538,9 @@ elif [[ "$__CodeName" == "illumos" ]]; then
--with-gnu-ld --disable-nls --disable-libgomp --disable-libquadmath --disable-libssp --disable-libvtv --disable-libcilkrts --disable-libada --disable-libsanitizer \
--with-gnu-ld --disable-nls --disable-libgomp --disable-libquadmath --disable-libssp --disable-libvtv --disable-libcilkrts --disable-libada --disable-libsanitizer \
--disable-libquadmath-support --disable-shared --enable-tls
--disable-libquadmath-support --disable-shared --enable-tls
make -j " $JOBS " && make install && cd ..
make -j " $JOBS " && make install && cd ..
BaseUrl = https://pkgsrc.joyent.com
BaseUrl = https://pkgsrc.smartos.org
if [ [ " $__UseMirror " = = 1 ] ] ; then
if [ [ " $__UseMirror " = = 1 ] ] ; then
BaseUrl = http://pkgsrc.smartos.skylime.net
BaseUrl = https ://pkgsrc.smartos.skylime.net
fi
fi
BaseUrl = " $BaseUrl /packages/SmartOS/trunk/ ${ __illumosArch } /All "
BaseUrl = " $BaseUrl /packages/SmartOS/trunk/ ${ __illumosArch } /All "
echo "Downloading manifest"
echo "Downloading manifest"
@ -402,7 +549,8 @@ elif [[ "$__CodeName" == "illumos" ]]; then
read -ra array <<< " $__IllumosPackages "
read -ra array <<< " $__IllumosPackages "
for package in " ${ array [@] } " ; do
for package in " ${ array [@] } " ; do
echo " Installing ' $package ' "
echo " Installing ' $package ' "
package = " $( grep " > $package -[0-9] " All | sed -En 's/.*href="(.*)\.tgz".*/\1/p' ) "
# find last occurrence of package in listing and extract its name
package = " $( sed -En '/.*href="(' " $package " '-[0-9].*).tgz".*/h;$!d;g;s//\1/p' All) "
echo " Resolved name ' $package ' "
echo " Resolved name ' $package ' "
wget " $BaseUrl " /" $package " .tgz
wget " $BaseUrl " /" $package " .tgz
ar -x " $package " .tgz
ar -x " $package " .tgz
@ -420,69 +568,61 @@ elif [[ "$__CodeName" == "illumos" ]]; then
elif [ [ " $__CodeName " = = "haiku" ] ] ; then
elif [ [ " $__CodeName " = = "haiku" ] ] ; then
JOBS = ${ MAXJOBS : = " $( getconf _NPROCESSORS_ONLN) " }
JOBS = ${ MAXJOBS : = " $( getconf _NPROCESSORS_ONLN) " }
echo "Building Haiku sysroot for x86_64 "
echo " Building Haiku sysroot for $__HaikuArch "
mkdir -p " $__RootfsDir /tmp "
mkdir -p " $__RootfsDir /tmp "
cd " $__RootfsDir /tmp "
pushd " $__RootfsDir /tmp "
git clone -b hrev56235 https://review.haiku-os.org/haiku
git clone -b btrev43195 https://review.haiku-os.org/buildtools
mkdir " $__RootfsDir /tmp/download "
cd " $__RootfsDir /tmp/buildtools " && git checkout 7487388f5110021d400b9f3b88e1a7f310dc066d
echo "Downloading Haiku package tool"
# Fetch some unmerged patches
git clone https://github.com/haiku/haiku-toolchains-ubuntu --depth 1 $__RootfsDir /tmp/script
cd " $__RootfsDir /tmp/haiku "
wget -O " $__RootfsDir /tmp/download/hosttools.zip " $( $__RootfsDir /tmp/script/fetch.sh --hosttools)
## Add development build profile (slimmer than nightly)
unzip -o " $__RootfsDir /tmp/download/hosttools.zip " -d " $__RootfsDir /tmp/bin "
git fetch origin refs/changes/64/4164/1 && git -c commit.gpgsign= false cherry-pick FETCH_HEAD
DepotBaseUrl = "https://depot.haiku-os.org/__api/v2/pkg/get-pkg"
# Build jam
HpkgBaseUrl = " https://eu.hpkg.haiku-os.org/haiku/master/ $__HaikuArch /current "
cd " $__RootfsDir /tmp/buildtools/jam "
make
# Download Haiku packages
echo "Downloading Haiku packages"
# Configure cross tools
echo "Building cross-compiler"
mkdir -p " $__RootfsDir /generated "
cd " $__RootfsDir /generated "
" $__RootfsDir /tmp/haiku/configure " -j" $JOBS " --sysroot " $__RootfsDir " --cross-tools-source " $__RootfsDir /tmp/buildtools " --build-cross-tools x86_64
# Build Haiku packages
echo "Building Haiku"
echo 'HAIKU_BUILD_PROFILE = "development-raw" ;' > UserProfileConfig
" $__RootfsDir /tmp/buildtools/jam/jam0 " -j" $JOBS " -q '<build>package' '<repository>Haiku'
BaseUrl = "https://depot.haiku-os.org/__api/v2/pkg/get-pkg"
# Download additional packages
echo "Downloading additional required packages"
read -ra array <<< " $__HaikuPackages "
read -ra array <<< " $__HaikuPackages "
for package in " ${ array [@] } " ; do
for package in " ${ array [@] } " ; do
echo " Downloading $package ... "
echo " Downloading $package ... "
# API documented here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L60
# API documented here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L60
# The schema here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L598
# The schema here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L598
hpkgDownloadUrl = " $( wget -qO- --post-data= '{"name":"' " $package " '","repositorySourceCode":"haikuports_x86_64","versionType":"LATEST","naturalLanguageCode":"en"}' \
hpkgDownloadUrl = " $( wget -qO- --post-data= '{"name":"' " $package " '","repositorySourceCode":"haikuports_' $__HaikuArch '","versionType":"LATEST","naturalLanguageCode":"en"}' \
--header= 'Content-Type:application/json' " $BaseUrl " | jq -r '.result.versions[].hpkgDownloadURL' ) "
--header= 'Content-Type:application/json' " $DepotBaseUrl " | jq -r '.result.versions[].hpkgDownloadURL' ) "
wget -P " $__RootfsDir /generated/download " " $hpkgDownloadUrl "
wget -P " $__RootfsDir /tmp/download " " $hpkgDownloadUrl "
done
for package in haiku haiku_devel; do
echo " Downloading $package ... "
hpkgVersion = " $( wget -qO- $HpkgBaseUrl | sed -n 's/^.*version: "\([^"]*\)".*$/\1/p' ) "
wget -P " $__RootfsDir /tmp/download " " $HpkgBaseUrl /packages/ $package - $hpkgVersion -1- $__HaikuArch .hpkg "
done
done
# Setup the sysroot
# Set up the sysroot
echo "Setting up sysroot and extracting needed packages"
echo "Setting up sysroot and extracting requir ed packages"
mkdir -p " $__RootfsDir /boot/system "
mkdir -p " $__RootfsDir /boot/system "
for file in " $__RootfsDir /generated/objects/haiku/x86_64/packaging/packages/ " *.hpkg; do
for file in " $__RootfsDir /tmp/download/ " *.hpkg; do
" $__RootfsDir /generated/objects/linux/x86_64/release/tools/package/package " extract -C " $__RootfsDir /boot/system " " $file "
echo " Extracting $file ... "
done
LD_LIBRARY_PATH = " $__RootfsDir /tmp/bin " " $__RootfsDir /tmp/bin/package " extract -C " $__RootfsDir /boot/system " " $file "
for file in " $__RootfsDir /generated/download/ " *.hpkg; do
" $__RootfsDir /generated/objects/linux/x86_64/release/tools/package/package " extract -C " $__RootfsDir /boot/system " " $file "
done
done
# Download buildtools
echo "Downloading Haiku buildtools"
wget -O " $__RootfsDir /tmp/download/buildtools.zip " $( $__RootfsDir /tmp/script/fetch.sh --buildtools --arch= $__HaikuArch )
unzip -o " $__RootfsDir /tmp/download/buildtools.zip " -d " $__RootfsDir "
# Cleaning up temporary files
# Cleaning up temporary files
echo "Cleaning up temporary files"
echo "Cleaning up temporary files"
popd
rm -rf " $__RootfsDir /tmp "
rm -rf " $__RootfsDir /tmp "
for name in " $__RootfsDir /generated/ " *; do
if [ [ " $name " = ~ "cross-tools-" ] ] ; then
: # Keep the cross-compiler
else
rm -rf " $name "
fi
done
elif [ [ -n " $__CodeName " ] ] ; then
elif [ [ -n " $__CodeName " ] ] ; then
qemu-debootstrap $__Keyring --arch " $__UbuntuArch " " $__CodeName " " $__RootfsDir " " $__UbuntuRepo "
if [ [ " $__SkipSigCheck " = = "0" ] ] ; then
__Keyring = " $__Keyring --force-check-gpg "
fi
debootstrap "--variant=minbase" $__Keyring --arch " $__UbuntuArch " " $__CodeName " " $__RootfsDir " " $__UbuntuRepo "
cp " $__CrossDir / $__BuildArch /sources.list. $__CodeName " " $__RootfsDir /etc/apt/sources.list "
cp " $__CrossDir / $__BuildArch /sources.list. $__CodeName " " $__RootfsDir /etc/apt/sources.list "
chroot " $__RootfsDir " apt-get update
chroot " $__RootfsDir " apt-get update
chroot " $__RootfsDir " apt-get -f -y install
chroot " $__RootfsDir " apt-get -f -y install
@ -500,7 +640,7 @@ elif [[ -n "$__CodeName" ]]; then
popd
popd
fi
fi
elif [ [ " $__Tizen " = = "tizen" ] ] ; then
elif [ [ " $__Tizen " = = "tizen" ] ] ; then
ROOTFS_DIR = " $__RootfsDir " " $__CrossDir / $__BuildArch /tizen-build-rootfs.s h"
ROOTFS_DIR = " $__RootfsDir " " $__CrossDir /tizen-build-rootfs.sh " " $__BuildArc h "
else
else
echo "Unsupported target platform."
echo "Unsupported target platform."
usage;
usage;