summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2011-08-30 23:46:56 -0300
committerGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2011-08-30 23:46:56 -0300
commitcb619dfae12f13ba8e70427d518489f478338a59 (patch)
tree2f94d9b11b2403f08921b94d2efd8be6ec08f135
parent8ea61d2b2815b1afdf855af5f0f1d6a93c438fc7 (diff)
downloadarchiso32-cb619dfae12f13ba8e70427d518489f478338a59.tar.xz
[configs/releng] Replace wget with pacman for make_core_repo()
Fix: FS#18959 - download_repos.sh does not report tcp timeouts and such * Always use pacman cache. Previously pacman cache was used if package already exists on it, now is also used to download pkg on it. Finally copy all packages from cache with cp and make core.db. * Using pacman, we can sure that package integrity is right. * Always get a [core] package, in case of [testing] enabled. * Now works when mirror is: Server = file:// ;) Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
-rwxr-xr-xconfigs/releng/build.sh23
1 files changed, 10 insertions, 13 deletions
diff --git a/configs/releng/build.sh b/configs/releng/build.sh
index fa7d13c..3f6df8d 100755
--- a/configs/releng/build.sh
+++ b/configs/releng/build.sh
@@ -121,26 +121,23 @@ make_usr_share() {
# Make [core] repository, keep "any" pkgs in a separate fs (makes more "dual-iso" friendly)
make_core_repo() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
- local _url _urls _pkg_name _cached_pkg _dst
+ local _url _urls _pkg_name _cached_pkg _dst _pkgs
mkdir -p ${work_dir}/repo-core-any
mkdir -p ${work_dir}/repo-core-${arch}
pacman -Sy
- _urls=$(pacman -Sddp $(comm -2 -3 <(pacman -Sql core | sort ) <(grep -v ^# ${script_path}/core.exclude.${arch} | sort)))
+ _pkgs=$(comm -2 -3 <(pacman -Sql core | sort | sed 's@^@core/@') \
+ <(grep -v ^# ${script_path}/core.exclude.${arch} | sort | sed 's@^@core/@'))
+ _urls=$(pacman -Sddp ${_pkgs})
+ pacman -Swdd --noconfirm ${_pkgs}
for _url in ${_urls}; do
_pkg_name=${_url##*/}
_cached_pkg=/var/cache/pacman/pkg/${_pkg_name}
_dst=${work_dir}/repo-core-${arch}/${_pkg_name}
- if [[ ! -e ${_dst} ]]; then
- if [[ -e ${_cached_pkg} ]]; then
- cp -v "${_cached_pkg}" "${_dst}"
- else
- wget -nv "${_url}" -O "${_dst}"
- fi
- fi
- repo-add -q ${work_dir}/repo-core-${arch}/core.db.tar.gz ${work_dir}/repo-core-${arch}/${_pkg_name}
- if [[ ${_pkg_name} =~ any.pkg ]]; then
- mv "${_dst}" ${work_dir}/repo-core-any/${_pkg_name}
- ln -sf ../any/${_pkg_name} ${work_dir}/repo-core-${arch}/${_pkg_name}
+ cp ${_cached_pkg} ${_dst}
+ repo-add -q ${work_dir}/repo-core-${arch}/core.db.tar.gz ${_dst}
+ if [[ ${_pkg_name} == *any.pkg.tar* ]]; then
+ mv ${_dst} ${work_dir}/repo-core-any/${_pkg_name}
+ ln -sf ../any/${_pkg_name} ${_dst}
fi
done
: > ${work_dir}/build.${FUNCNAME}