logo

etc_portage

Unnamed repository; edit this file 'description' to name the repository. git clone https://hacktivis.me/git/etc_portage.git

000-sync_gentoo_cache (1207B)


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