[openstack-dev] [all][packaging] Adding files to /etc in a package
Perry, Sean
sean.perry at hp.com
Wed Jul 1 23:07:30 UTC 2015
BTW, see dh_bash-completion from the debhelper package. When in doubt about packaging on a deb based distro look at the debhelper tools source (which is perl).
-----Original Message-----
From: Perry, Sean
Sent: Wednesday, July 01, 2015 4:04 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: RE: [openstack-dev] [all][packaging] Adding files to /etc in a package
According to Debian standards (which Ubuntu follows mostly) if a package ships bash completion information that file belongs in /etc/bash_completion.d with a file named after the package. You can look in that dir on an Ubuntu/debian box and see the setup.
-----Original Message-----
From: Tony Breeds [mailto:tony at bakeyournoodle.com]
Sent: Wednesday, July 01, 2015 3:26 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [all][packaging] Adding files to /etc in a package
On Wed, Jul 01, 2015 at 01:33:03PM +0200, Thomas Goirand wrote:
> The file has nothing to do in /usr/share/doc either. By per the debian
> policy manual: we shouldn't rely on /usr/share/doc, as it can be
> removed entirely by the users. /usr/share/python-novaclient could be a
> place, but really, the correct location is
> /usr/share/bash-completion/completions, not /etc (btw: that's a new
> thing, it used to be in /etc, but there's now a lintian warning about it).
Personally I like /usr/share/python-novaclient as that's very deliberatlely package centric and if I do that right should make your life as a consumer of the python-novaclient git repo a little simplier.
so with that in mind I'm thinking something like:
---
[files]
packages =
novaclient
+ data_files =
+ usr/share/python-novaclient/nova.bash_completion =
+ tools/nova.bash_completion
---
Note[1]: I typed that in to my mail client so the diff will be malformed
Note[2]: I deliberatly used 'usr/' rather than '/usr/' so the config file is in
the install root
Note[3]: For my development systems I can easily add a symlink like:
(cd /usr/share/bash-completions/ ; ln -s ../python-novaclient/nova.bash_completion nova)
Note[4]: the subject of this email is now wrong but we get the idea.
So assuming that somethign like that is acceptable to distribution packages and python packagers we're winning :)
The last questions are:
- How does pbr handle the case where usr/share/python-novaclient/ dosn't exist ?
- Can I make is do the equivilent of: mkdir -p $install_root/usr/share/python-novaclient/ somehow?
- At this point I'll propose a change like this for:
python-ceilometerclient python-cinderclient python-glanceclient
python-group-based-policy-client python-heatclient python-ironicclient
python-keystoneclient python-magnetodbclient python-manilaclient
python-manilaclient python-mistralclient python-mistralclient
python-monascaclient python-muranoclient python-muranoclient
python-neutronclient python-novaclient python-senlinclient
python-surveilclient python-tackerclient python-watcherclient
Yours Tony.
More information about the OpenStack-dev
mailing list