On Thu, Dec 09, 2010 at 09:40:04AM -0800, Toshio Kuratomi wrote: > On Thu, Dec 09, 2010 at 12:44:36PM +0000, Richard W.M. Jones wrote: > > > > I'm confused why Fedora Python packages get installed in > > /usr/lib/python*/site-packages/. > > > > Looking at the upstream Python documentation[1] it seems this > > directory is reserved for packages installed by the local system > > administrator. (Similar to the Perl distinction between > > INSTALLDIRS=vendor / INSTALLDIRS=site / INSTALLDIRS=core [2]) > > > I don't see where the distinction is being made between local system admin > and vendor in that document. Could you give a better link or a search term? Maybe I can explain the Perl situation better. "site" (on Fedora this is /usr/local/share/perl5) is where the system admin installs packages using: perl Makefile.PL ; make ; sudo make install "vendor" (/usr/share/perl5/vendor_perl from Rawhide onwards) is where the package manager puts Perl packages which aren't in the core Perl. "core" (/usr/share/perl5) is where core parts of Perl go and packages which are shipped in the perl tarball. The idea AIUI is that admin-installed packages survive Perl upgrades or cases where Perl is removed and reinstalled. If you use the 'cpan' command line tool on Fedora, the packages get installed in "site". > Also, on an FHS compliant Linux system, the system administrator would not > use /usr/lib/pythonX.Y/site-packages anyway. They'd use something like > /usr/local/lib/pythonX.Y/site-packages. Indeed, and Debian puts site-packages under /usr/local as you've described, which is where I came across the problem in the first place (trying to build a package for Debian and noticing this is different from Fedora). Debian also creates /usr/share/pyshared but I've yet to understand exactly why. [...] > In this setup, it seems like Debian is not putting anything in > site-packages. Without more information, their use of dist-packages just > seems arbitrary and non-standard. I think the Perl case makes some sense, if one accepts that there is a difference between "core" and "vendor" (maybe this difference is too artificial). Upstream Python documentation doesn't really cover the case of package managers at all. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://et.redhat.com/~rjones/libguestfs/ See what it can do: http://et.redhat.com/~rjones/libguestfs/recipes.html -- packaging mailing list packaging@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/packaging