Re: PKGNAME for install
Bram Moolenaar <[email protected]>
| Newsgroups | gmane.comp.tools.aap.devel |
|---|---|
| Message-ID | <[email protected]> |
Adriaan de Groot wrote:
> AAP enforces that PKGNAME needs to be set in order to install data.
> Why? Not every application follows the orderly
> /usr/local/share/<pkgname>/ idiom - KDE, for one, dumps everything in
> (16) directories right under /usr/local/share.
That probably explains why I had so much trouble upgrading KDE... These
days I only do it while at the same time upgrading the whole system.
> I suppose that goes against hier(7) in FreeBSD, but that
> isn't really important. What _is_ important, is that every KDE application
> (just like every GNOME application, I might add) expects to install
> data into the kde share (/usr/local/share) or the gnome share
> (/usr/local/share/gnome) .. doing that right for gnome requires all
> gnome apps to set PKGDIR to gnome, which seems somewhat bogus.
I think that what you want to say is that the package name is used at a
lower level. A KDE application doesn't dump its data files into the
same directory as other applications, right? That would become a real
mess.
If there are files shared with other applications you can't use
INSTALL_DATA and must write your own install commands. This is often
difficult, since you must handle versions properly (otherwise you get
the equivalent of the "DLL hell" on MS-Windows).
You might argue that this isn't easy. Well, then use $PKGNAME, that's
why it was supposed to be used.
> For KDE things, there's really no way to tell AAP that you definitely
> want to install data in directories based directly off of
> $PREFIX and not in $PREFIX/$PKGNAME.
Doesn't it work when setting PKGNAME to "./"?
> The attached patch aap-pkgname.diff adds a special case for PKGNAME ==
> ".". Of course, if you use this, then it's essential that you use the
> {keepdir} attribute of data files, so that they end up in the right
> places and not straight in $PREFIX.
What goes wrong without this code? I would think files are installed in
the "." directory, which would work.
> [As an aside, Python's os.makedirs() has a bug if you pass it weird
> paths like /usr/local/share/., since it tries to create . as well, and
> fails.]
Did you report that to the Python bug tracking system? We need to work
around it anyway, since Aap should work with Python 1.5 and later.
--
hundred-and-one symptoms of being an internet addict:
154. You fondle your mouse.
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
\\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01