000-sync_gentoo_cache (1207B)
- #!/bin/bash
- repository_name="${1}"
- repository_path="${3}"
- [[ "${repository_name}" == "gentoo" ]] || exit 0
- source /lib/gentoo/functions.sh
- # Number of jobs for egencache, default is number or processors.
- parallel_jobs="$(nproc)"
- if [[ -f ${repository_path}/metadata/timestamp.x ]]; then
- portage_current_timestamp=$(cut -f 1 -d " " "${repository_path}/metadata/timestamp.x" )
- else
- portage_current_timestamp=0
- fi
- ebegin "Fetching metadata timestamp for ${repository_name}"
- rsync -aq rsync://rsync.gentoo.org/gentoo-portage/metadata/timestamp.x "${repository_path}"/metadata/timestamp.x
- eend $?
- portage_new_timestamp=$(cut -f 1 -d " " "${repository_path}/metadata/timestamp.x" )
- if [[ ${portage_current_timestamp} -lt ${portage_new_timestamp} ]]; then
- ebegin "Fetching pre-generated metadata cache for ${repository_name}"
- rsync -aq rsync://rsync.gentoo.org/gentoo-portage/metadata/md5-cache/ "${repository_path}"/metadata/md5-cache/
- eend $?
- else
- einfo "Metadata cache for ${repository_name} already recent, no need to fetch it :-)"
- fi
- ebegin "Updating metadata cache for ${repository_name}"
- egencache --jobs="${parallel_jobs}" --repo="${repository_name}" --update --update-use-local-desc
- eend $?