Hi! This is my suggestion on how to define the refresh policy with refactored ZYPP: We need to keep the information when last a source was refreshed in order to decide whether a source needs to be refreshed or not. In addition, we will need some policies defining whether a source should be refreshed or not. The basic refresh should be done by a cron job. However, there may be a reason not to do refresh via a cron job and do it only when SW management tool starts. There are two kinds of tools: 1. Tools which take care of having the system up-to-date. They must always work on as fresh metadata as possible 2. Tools which should install a package. They should work as fast as possible. we can pay the price of installing package which already has an update at least in some cases. Therefore we need two different policies depending on the kind of source (this is optional) and on the operation user performs (they can be set to vehave the same of course). How often refresh is being performed via cron (if it is) can be read from the cron configuration, I don't think we need to put this information to any configuration file. In addition to cron, I suggest adding following variables (comments hopefully explain their meaning) --- snip --- # should the on-line update paplication (eg. YOU) consider doing a refresh # or should it rely on a cron job? ONLINE_UPDATE_AUTO_REFRESH="yes" # if the time since last refresh is higher than specified amount of time, # the update tools refresh the source first # if it is an update source (provided we have the tags); 0 means to refresh # always when starting the on-line update tool # filtering on-line update sources is questionable (consistency) ONLINE_UPDATE_REFRESH_INTERVAL="1h" # should the desktop applet perform any refresh or just rely on cron job? DESKTOP_APPLET_REFRESH="yes" # define how often the desktop applet should perform refresh. DESKTOP_APPLET_REFRESH_INTERVAL="3h" # master switch for enabling or disabling auto refresh for software # management tools (eg. 'yast -i', 'zypper') # if disabled, refresh must be performed manually or via cron INSTALLER_AUTO_REFRESH="yes" # auto refresh interval for tools primarily installing packages, not doing # update; "0" means always when initializing source(s) INSTALLER_AUTO_REFRESH_INTERVAL="24h" --- snap --- The above variables can be added to /etc/sysconfig/sw_management. The way time is specified can be discussed, I guess that the granularity of hours or at most minutes is perfectly sufficient, however, we may support any of fixed units or specifying the units with the value (as in examples above). Any other ideas or suggestions? -- Regards, Jiri Srain YaST Team Leader --------------------------------------------------------------------- SUSE LINUX, s.r.o. e-mail: jsrain@suse.cz Lihovarska 1060/12 tel: +420 284 028 959 190 00 Praha 9 fax: +420 284 028 951 Czech Republic http://www.suse.cz