[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: autoconf/automake: handling the installation of desktop files / icon
Re: autoconf/automake: handling the installation of desktop files / icons
Sat, 7 Apr 2012 07:31:29 -0500
* On 2012 07 Apr 01:29 -0500, Christopher Howard wrote:
> Thanks. Actually, early today I decided the most sensible thing to do
> would be to just /not/ have the desktop/icon files installed by the
> source, but rather to just package them with the source and leave the
> installation to the distros.
That will work if you're not concerned about your package working
without some extra work by the local administrator when the package is
My apologies if this is getting a bit off topic for this list. The File
Hierarchy Standard specifies that /usr/local is a mirror directory
structure of /usr and that distribution package managers are not to
touch that area. I've interpreted that to mean that locally compiled
packages should stay under /usr/local and not write elsewhere, except
/etc on installation. So it seems as though your package should put its
.desktop files under /usr/local/share/applications and icons under
/usr/local/share/pixmaps based on the structure under /usr on a Debian
system which aim to meet the FHS.
> I found out upon further research that putting static files in a
> static location is not a hard thing for package managers to do. Gentoo
> has functions specifically for installing menu files and icons, and
> for a Debian package its a simple do_install call. Furthermore, if I
> tried to wrap it in make install, this would cause additional
> problems, because then people would have to have root privileges in
> order to install, since the proper /usr/share locations are usually
> root owned.
Also /usr/share could be read only. Presumably the system administrator
will make arrangements for /usr/local to be writable before attempting
install the package. Your generated Makefile will create the needed
directories in the /usr/local hiearchy such as under /usr/local/share
for your package.
It has been my philosophy to assure the package I maintain works under
/usr/local. This facilitates the local admin being able to install an
updated version from source and with the rest of the system search paths
set to favor packages installed under /usr/local, provides a clean way
to update a package even when the package manager requires an older
version be installed. You also want to assure that when your package is
installed from source that by default it doesn't overwrite anything
installed by a package manager. Autoconf helps with this by providing
/usr/local as the default prefix.
In short, my philosophy is to have the source package independent of
distribution package managers and it seems to work.
- Nate >>
"The optimist proclaims that we live in the best of all
possible worlds. The pessimist fears this is true."
Ham radio, Linux, bikes, and more: http://www.n0nb.us