From 8a072e707ee4e5bbf0ac3b77eb426428f2d6b308 Mon Sep 17 00:00:00 2001 From: wyrie <wyrie@ispconfig3> Date: Wed, 20 Jan 2010 13:24:27 +0000 Subject: [PATCH] Fixed: FS#1034 - Gentoo portage sync too frequent --- .../monitor_core_module.inc.php | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php index 642395eeb5..0e3e6dfa5d 100644 --- a/server/mods-available/monitor_core_module.inc.php +++ b/server/mods-available/monitor_core_module.inc.php @@ -533,7 +533,27 @@ class monitor_core_module { /* * first update the portage tree */ - shell_exec('emerge --sync --quiet'); + + // In keeping with gentoo's rsync policy, don't update to frequently (every four hours - taken from http://www.gentoo.org/doc/en/source_mirrors.xml) + $do_update = true; + if (file_exists('/usr/portage/metadata/timestamp.chk')) + { + $datetime = file_get_contents('/usr/portage/metadata/timestamp.chk'); + $datetime = trim($datetime); + + $dstamp = strtotime($datetime); + if ($dstamp) + { + $checkat = $dstamp + 14400; // + 4hours + if (mktime() < $checkat) { + $do_update = false; + } + } + } + + if ($do_update) { + shell_exec('emerge --sync --quiet'); + } /* * Then test the upgrade. -- GitLab