[pve-devel] [PATCH client 2/3] config: use more xdg compliant search path
Wolfgang Bumiller
w.bumiller at proxmox.com
Tue Jun 12 08:14:21 CEST 2018
On Tue, Jun 12, 2018 at 06:34:54AM +0200, Dietmar Maurer wrote:
> I don't really like the idea to use different file names:
>
> .config
> client
> .pveclient
>
> ???
It's just two, not 3 ;-)
In case we ever add more tools I didn't want to recreate the mess in
/run ;-) (/run/pve-cluster/ as directory, /run/pve-cluster.pid as file,
/run/pveproxy/pveproxy.pid with the name twice including the pve prefix,
...)
The idea is to use $CONFIG/pve/client and concatenate the parts together
for the 'single dotfile in $HOME' variant as ~/.pveclient.
(Similarly, there's ~/.config/i3/config and ~/.i3config, and of course
some tools do also duplicate the names inside .config/ as well:
~/.config/FreeCAD/FreeCAD.conf, ~/.config/htop/htoprc, ...)
Of course, if we intend to have more than one file we might even want to
make .../pve/client/ a directory or at least give the config a
'.cfg' suffix.
Anyway, I'm open to suggestions. I think Rene wanted to have a .cfg
suffix, while Stoiko argued it would make editors try to use the usual
config highlighting on it which might not work well with our
SectionConfig.
> > + # If XDG_CONFIG_HOME is not set or empty, its default is $HOME/.config
> > + my $base = $xdg || "$home/.config";
> > +
> > + my $filename = "$base/pve/client";
> > + return $filename if -e $filename;
> > +
> > + return "$home/.pveclient" if -e "$home/.pveclient";
> > +
> > + return $filename;
> > }
> >
> > sub load {
> > @@ -119,6 +133,7 @@ sub save {
> > my ($class, $cfg) = @_;
> >
> > my $filename = $class->config_filename();
> > + make_path(dirname($filename));
> > my $raw = $class->write_config($filename, $cfg);
> >
> > file_set_contents($filename, $raw, 0600);
> > --
> > 2.11.0
More information about the pve-devel
mailing list