@@ -55,31 +55,27 @@ do_install()
55
55
56
56
msg " :: Installing ${COMPONENT} ... "
57
57
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
60
59
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" ;;
63
62
* ) return 1 ;;
64
63
esac
65
64
66
- msg " URL: ${repo_url} "
67
-
68
65
msg -n " Preparing for deployment ... "
69
66
local cache_dir=" ${CHROOT_DIR} /var/cache/pacman/pkg"
70
67
mkdir -p " ${cache_dir} "
71
68
is_ok " fail" " done" || return 1
72
69
73
70
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 )
75
72
is_ok " fail" " done" || return 1
76
73
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}
79
77
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% -* } ... "
83
79
# download
84
80
local i
85
81
for i in 1 2 3
@@ -88,12 +84,7 @@ do_install()
88
84
sleep 30s
89
85
done
90
86
# 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'
97
88
is_ok " fail" " done" || return 1
98
89
done
99
90
@@ -104,7 +95,7 @@ do_install()
104
95
is_ok " fail" " done"
105
96
106
97
msg " Installing base packages: "
107
- pacman_install base ${base_packages}
98
+ pacman_install base $( echo ${core_files} | sed ' s/-[0-9].*$// ' )
108
99
is_ok || return 1
109
100
110
101
msg -n " Clearing cache ... "
0 commit comments