@@ -55,31 +55,27 @@ do_install()
5555
5656 msg " :: Installing ${COMPONENT} ... "
5757
58- local base_packages=" filesystem acl archlinux-keyring attr bash bzip2 ca-certificates ca-certificates-mozilla ca-certificates-utils coreutils cracklib curl db e2fsprogs expat findutils gcc-libs gdbm glib2 glibc gmp gnupg gnutls gpgme iana-etc keyutils krb5 libarchive libassuan libcap libffi libgcrypt libgpg-error libidn libidn2 libksba libldap libnghttp2 libpsl libsasl libsecret libssh2 systemd-libs libtasn1 libtirpc libunistring libutil-linux linux-api-headers lz4 ncurses nettle npth openssl p11-kit pacman pacman-mirrorlist pam pambase pcre perl pinentry readline shadow sqlite sudo tzdata util-linux which xz zlib zstd"
59-
58+ local repo_url
6059 case " $( get_platform ${ARCH} ) " in
61- x86_64) local repo_url=" ${SOURCE_PATH%/ } /core/os/${ARCH} " ;;
62- arm* |x86) local repo_url=" ${SOURCE_PATH%/ } /${ARCH} /core" ;;
60+ x86_64) repo_url=" ${SOURCE_PATH%/ } /core/os/${ARCH} " ;;
61+ arm* |x86) repo_url=" ${SOURCE_PATH%/ } /${ARCH} /core" ;;
6362 * ) return 1 ;;
6463 esac
6564
66- msg " URL: ${repo_url} "
67-
6865 msg -n " Preparing for deployment ... "
6966 local cache_dir=" ${CHROOT_DIR} /var/cache/pacman/pkg"
7067 mkdir -p " ${cache_dir} "
7168 is_ok " fail" " done" || return 1
7269
7370 msg -n " Retrieving packages list ... "
74- local pkg_list =$( wget -q -O - " ${repo_url} /" | sed -n ' /<a / s/^.*<a [^>]*href="\([^\"]*\)".*$/\1/p ' | awk -F ' / ' ' {print $NF} ' | sort -rn )
71+ local core_files =$( wget -q -O - " ${repo_url} /core.db.tar.gz " | tar xOz | grep ' .pkg.tar.xz$ ' | grep -v -e ' ^linux- ' -e ' ^grub- ' -e ' ^efibootmgr- ' -e ' ^gcc- ' -e ' ^openssh- ' | sort )
7572 is_ok " fail" " done" || return 1
7673
77- msg " Retrieving base packages: "
78- for package in ${base_packages}
74+ msg " Retrieving core packages: "
75+ local fs_file=$( echo ${core_files} | grep -m1 ' ^filesystem-' )
76+ for pkg_file in ${fs_file} ${core_files}
7977 do
80- msg -n " ${package} ... "
81- local pkg_file=$( echo " ${pkg_list} " | grep -m1 -e " ^${package} -[[:digit:]].*\.xz$" -e " ^${package} -[[:digit:]].*\.gz$" )
82- test " ${pkg_file} " ; is_ok " fail" || return 1
78+ msg -n " ${pkg_file% -* } ... "
8379 # download
8480 local i
8581 for i in 1 2 3
@@ -88,12 +84,7 @@ do_install()
8884 sleep 30s
8985 done
9086 # unpack
91- case " ${pkg_file} " in
92- * gz) tar xzf " ${cache_dir} /${pkg_file} " -C " ${CHROOT_DIR} " --exclude=' ./dev' --exclude=' ./sys' --exclude=' ./proc' --exclude=' .INSTALL' --exclude=' .MTREE' --exclude=' .PKGINFO' ;;
93- * bz2) tar xjf " ${cache_dir} /${pkg_file} " -C " ${CHROOT_DIR} " --exclude=' ./dev' --exclude=' ./sys' --exclude=' ./proc' --exclude=' .INSTALL' --exclude=' .MTREE' --exclude=' .PKGINFO' ;;
94- * xz) tar xJf " ${cache_dir} /${pkg_file} " -C " ${CHROOT_DIR} " --exclude=' ./dev' --exclude=' ./sys' --exclude=' ./proc' --exclude=' .INSTALL' --exclude=' .MTREE' --exclude=' .PKGINFO' ;;
95- * ) msg " fail" ; return 1;;
96- esac
87+ tar xJf " ${cache_dir} /${pkg_file} " -C " ${CHROOT_DIR} " --exclude=' ./dev' --exclude=' ./sys' --exclude=' ./proc' --exclude=' .INSTALL' --exclude=' .MTREE' --exclude=' .PKGINFO'
9788 is_ok " fail" " done" || return 1
9889 done
9990
@@ -104,7 +95,7 @@ do_install()
10495 is_ok " fail" " done"
10596
10697 msg " Installing base packages: "
107- pacman_install base ${base_packages}
98+ pacman_install base $( echo ${core_files} | sed ' s/-[0-9].*$// ' )
10899 is_ok || return 1
109100
110101 msg -n " Clearing cache ... "
0 commit comments