Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Correct installation path for completion files
- X-seq: zsh-workers 31582
- From: Frank Terbeck <ft@xxxxxxxxxxxxxxxxxxx>
- To: William Giokas <1007380@xxxxxxxxx>
- Subject: Re: Correct installation path for completion files
- Date: Fri, 26 Jul 2013 19:47:15 +0200
- Cc: zsh-workers@xxxxxxx
- In-reply-to: <20130726170749.GA6421@WST420> (William Giokas's message of "Fri, 26 Jul 2013 12:07:49 -0500")
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
- References: <20130726170749.GA6421@WST420>
William Giokas wrote:
> I am working on having systemd install its own completion file in the
> `make install`, but was told that the directory that I was having it go
> to by default was non-standard.
Hm, getting the completion into our repo and sync every now and then is
not an option?
> Which directory should upstream provided completion files go? I
Depends. :-)
> currently have all of mine in /usr/share/zsh/site-functions/, but I was
By default, the `site-functions' directory is located in /usr/local, for
admins to locally override functions. This is a compile-time option
though, and your vendor seems to change it.
> told that they should be in /usr/share/zsh/vendor-functions/. However,
This is a directory that debian uses (well, at least - so probably
ubuntu as well). This is done by specifying the following compile-time
option:
--enable-additional-fpath=/usr/share/zsh/vendor-functions,/usr/share/zsh/vendor-completions
The idea is to have a directory early in $fpath in /usr/share for other
debian packages to override zsh-default functions or provide additional
ones. Debian packages are not allowed to install files to /use/local.
Also, by not changing the `site-functions' location we still allow
admins to locally override any function they want by dropping files into
/usr/local/share/zsh/site-functions outside of the realm of the
packaging system.
> going through a few distros (CentOS, Debian, Arch, and Fedora) nothing
> seems to install to that directory, and all completion files not
> supplied by the zsh package are in `site-functions`. There was a post on
I don't think moving site-functions out of /usr/local is a good idea; it
robs people of the possibility to override functions locally.
> the Debian MLs[1] that said to put them in vendor-functions, but I am
> wary if even in the debian packages they don't do that yet. (Unless this
> is in their experimental branch or something)
A debian package for systemd should place the completion function you
are talking about to "/usr/share/vendor-functions". It is exactly the
intended place for such add-ons on debian.
Regards, Frank
--
In protocol design, perfection has been reached not when there is
nothing left to add, but when there is nothing left to take away.
-- RFC 1925
Messages sorted by:
Reverse Date,
Date,
Thread,
Author