To make or not to make...python-nautilus a dependency?
Posted
by
George Edison
on Ask Ubuntu
See other posts from Ask Ubuntu
or by George Edison
Published on 2012-07-05T17:18:07Z
Indexed on
2012/07/06
3:24 UTC
Read the original article
Hit count: 257
That is the question!
Okay, all silliness aside, I really am forced to make a difficult decision here. My application is written in C++ and allows other scripts to invoke methods via XML-RPC. One of these scripts is a Nautilus extension written in Python. The extension is packaged with the rest of the application and copied to the appropriate place when installed (/usr/share/nautilus-python/extensions
).
Now the problem is that the Nautilus extension requires the python-nautilus package to be installed to be operational. So therefore I have three options:
Make the
python-nautilus
package a dependency. This option will ensure that anyone who installs my package will be able to use the Nautilus extension. However, this option will not be attractive to XFCE or KDE users - a ton ofpython-nautilus
's dependencies will be installed on their machines and take up a lot of space - even if they never use Nautilus.Put the
python-nautilus
package in thesuggests:
orrecommends:
field. This option provides the end-user with a way to avoid installing thepython-nautilus
package (by providing the--no-install-suggests
or--no-install-recommends
argument toapt-get
). However, this won't work when the user installs the package in the Software Center. (I always get mixed up as to which of those two fields are installed by default.)Prompt the user when the application is installed or first launched. This option is more complicated than the others but offers the best compromise between making it easy for the user to install
python-nautilus
(without going into a technical explanation) and not installing it when the user doesn't need it (or want it). I guess the best way to implement this is a simple prompt that invokesapt-get
if the user would like the package installed.Don't install the package at all. This option ensures that nobody has
python-nautilus
installed on their machine unless they want it. However, this also means that my Nautilus extension will simply not run on the end-user's machine unless they manually install the package.
Which of these options seems the best choice? Have I missed any pros and cons for each of the options?
© Ask Ubuntu or respective owner