When I was trying to install a library for compilation, emerge told me the portage tree was 30 days old:


$ emerge -pvt1 log4cplus
* Last emerge --sync was 30d 9h 12m 12s ago.
[snip]

This was the first time I ever noticed it. After grepping the source code of emerge in /usr/lib/portage/pym/_emerge/sync/old_tree_timestamp.py, I found where the message was produced:


92: out.ewarn("Last emerge --sync was %s ago." % \
95: out.ewarn(_("Last emerge --sync was %s.") % \

Of course, this is a built-in feature of emerge to remind user to update system. The default PORTAGE_SYNC_STALE variable is set to 30 days. From emerge(1):

The PORTAGE_SYNC_STALE variable configures warnings that are shown when emerge --sync has not been executed recently.

I have been trying to do the update every 30 days for a few months, I think this message proves that switching from the previous weekly update is a good decision.

There is no reason to update that often, it probably could only start to go bad after 30 days, and that date is just for reference like the dates for imitation cheeses, you can still eat them even way beyond one year of the date if you dare.

Whether you do it every day, three days, seven days, thirty days, even odd numbered dates, Fibonacci numbered dates, random dates, flipping the coins, or whatever you choose to update, as long as you can put a number into PORTAGE_SYNC_STALE, that might remind you to do the update, because it surely did to me. I thought the next update would be around 20-something this month, but nope, it’s 13th.

Okay, maybe only the cheese, but really don’t try that on Gentoo, 30 days, maybe two months at most.