logo

etc_portage

Unnamed repository; edit this file 'description' to name the repository.

000-sync_gentoo_cache (1205B)


      1 #!/bin/bash
      2 
      3 repository_name="${1}"
      4 repository_path="${3}"
      5 
      6 [[ ${repository_name} == "gentoo" ]] || exit 0
      7 
      8 source /lib/gentoo/functions.sh
      9 
     10 # Number of jobs for egencache, default is number or processors.
     11 parallel_jobs="$(nproc)"
     12 
     13 if [[ -f ${repository_path}/metadata/timestamp.x ]]; then
     14 	portage_current_timestamp=$(cut -f 1 -d " " "${repository_path}/metadata/timestamp.x" )
     15 else
     16 	portage_current_timestamp=0
     17 fi
     18 
     19 ebegin "Fetching metadata timestamp for ${repository_name}"
     20 rsync -aq rsync://rsync.gentoo.org/gentoo-portage/metadata/timestamp.x "${repository_path}"/metadata/timestamp.x
     21 eend $?
     22 portage_new_timestamp=$(cut -f 1 -d " " "${repository_path}/metadata/timestamp.x" )
     23 
     24 if [[ ${portage_current_timestamp} -lt ${portage_new_timestamp} ]]; then
     25 	ebegin "Fetching pre-generated metadata cache for ${repository_name}"
     26 	rsync -aq rsync://rsync.gentoo.org/gentoo-portage/metadata/md5-cache/ "${repository_path}"/metadata/md5-cache/
     27 	eend $?
     28 else
     29 	einfo "Metadata cache for ${repository_name} already recent, no need to fetch it :-)"
     30 fi
     31 
     32 ebegin "Updating metadata cache for ${repository_name}"
     33 egencache --jobs="${parallel_jobs}" --repo="${repository_name}" --update --update-use-local-desc
     34 eend $?