On Sun, Jun 29, 2003, Bill Campbell wrote: Re Bill,
> While building and installing postgresql, I see that the rc control file > specifies the IP address for the host explicitly (i.e. 127.0.0.1). It > seems to me that this should be someplace in the %{l_prefix}/etc/postgresql > directory, not in the startup control file itself, > some applications allow certain paramters to be specified either in a configuration file or through command line options. The former has to be placed in the /etc subdirectory for the affected package, the latter has to be placed in a rc.%{name} file using a variable which can be overridden by the user in rc.conf. A config file under /etc should be tagged as such. The rc.%{name} file is not intended to be touched by the user so OpenPKG will overwrite it on any update. However, the rc.%{name} file should contain reasonable amount of configuration options through variables. The user can override the defaults hardcoded in the rc.%{name} by placing his own definition into the rc.conf file which is never overwritten by OpenPKG. We believe in RPMs logic of keeping or moving/replacing config files. The logic is close to perfection for a packaging system. There are many situations where the logic could be improved but we feel such intelligence is up to a configuration management system which OpenPKG is not. So we see only few, if any, situations where config(noreplace) could/should be used. We understand the issues associated with changed configurations, and we are currently fighting three battles to improve things: - daemon bind/listen address https://rt.openpkg.org/SelfService/Display.html?user=guest&pass=guest&id=176 the goal is to ensure that any daemon will bind/listen to 127.0.0.1 by default which greatly reduces the risk of running a daemon on a live system which reverted back to default configuration. Currently (or at least not long ago) it was possible to upgrade postfix, revert to the default config and have such a stupid config running on a live system. This must not happen. - opServiceEnabled https://rt.openpkg.org/SelfService/Display.html?user=guest&pass=guest&id=174 https://rt.openpkg.org/SelfService/Display.html?user=guest&pass=guest&id=175 https://rt.openpkg.org/SelfService/Display.html?user=guest&pass=guest&id=184 the goal is to ensure that all rc.%{name} files acutally use the opServiceEnabled function (#175), the return code and environmental changes of any package does not influence other packages (#174, currently the first exit breaks the rc chain) and the function is enhanced to disable a service when a .*\.rpm(save|orig|new) file is found under the package's /etc subdirectory (#184). - rpmlint is currently under construction and checks RPMs like speclint checks spec files. One of the goals is to find config files which are not tagged as those. Regarding your original inquiry about postgresql it will be checked for those issues. One point probably remains for voting. If an application supports both, setting the bind/listen address through config file and rc file aka command line option, which one is the preferred option? My idea is to prefer using the config file because i'll expect all configuration to be in one place - if possible. > and that this type of > information should be specified at %config(noreplace) so that updates don't > break running systems (yeah, I'm sounding like a broken record :-). > As discussed above, there's little need for %config(noreplace) in OpenPKG. > It seems to me that package configuration information belongs in the > %{l_prefix}/etc/%{name} directories, not in the %{l_prefix}/rc.d/rc.%{name} > startup scripts. At the very least, the startup scripts should be declared > as %config files so that installation changes appear as messages during > updates. > Discussed above, too. The rc.config is never touched, the rc.%{name} files will replaced without notice. Yes, package configuration should be placed into %{l_prefix}/etc/%{name} and tagged as such. -- [EMAIL PROTECTED] Development Team, Operations Northern Europe, Cable & Wireless ______________________________________________________________________ The OpenPKG Project www.openpkg.org Developer Communication List [EMAIL PROTECTED]