Bug 136023 - [FHS] [read-only /usr] python(?) creates files not tracked by RPM in /usr/lib/python2.3/lib-dynload/japanese/, others
Summary: [FHS] [read-only /usr] python(?) creates files not tracked by RPM in /usr/lib...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: python
Version: rawhide
Hardware: i686
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mihai Ibanescu
QA Contact: Brock Organ
URL:
Whiteboard:
Depends On:
Blocks: ReadOnlyFS
TreeView+ depends on / blocked
 
Reported: 2004-10-16 20:58 UTC by Daniel Reed
Modified: 2007-11-30 22:10 UTC (History)
1 user (show)

Fixed In Version: FC5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-08-18 20:44:49 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
list of all files in /usr/lib/python2.3/ that are in neither rpmdb nor rpmdb-fedora (4.54 KB, text/plain)
2004-10-16 21:09 UTC, Daniel Reed
no flags Details

Description Daniel Reed 2004-10-16 20:58:25 UTC
User-Agent:       
Build Identifier: 

After an installation of Fedora Core rawhide, an unknown process modifies files
in the path ``/usr/lib/python2.3/lib-dynload/japanese/'', and others.

``/usr/lib/python2.3/lib-dynload/japanese/'' is owned by the package ``python''.


http://www.pathname.com/fhs/pub/fhs-2.3.html#THEUSRHIERARCHY

``/usr is the second major section of the filesystem. /usr is shareable,
read-only data. That means that /usr should be shareable between various
FHS-compliant hosts and must not be written to. Any information that is
host-specific or varies with time is stored elsewhere.''

http://www.pathname.com/fhs/pub/fhs-2.3.html#USRLIBLIBRARIESFORPROGRAMMINGANDPA

``/usr/lib includes object files, libraries, and internal binaries that are not
intended to be executed directly by users or shell scripts.''



The file __init__.pyo, in this hierarchy, does not appear to be an object file,
library, nor internal binary, but temporary optimized code. It is also not
tracked by package management as it was [apparently] generated or modified
during run time and left unassociated with the package it was generated by. As
the data appears to be regenerated on the fly, it may be best suited for storage
in the ``/var/lib'' or ``/var/cache'' hierarchies.

http://www.pathname.com/fhs/pub/fhs-2.3.html#THEVARHIERARCHY

``/var is specified here in order to make it possible to mount /usr read-only.
Everything that once went into /usr that is written to during system operation
(as opposed to installation and software maintenance) must be in /var.''

http://www.pathname.com/fhs/pub/fhs-2.3.html#VARLIBVARIABLESTATEINFORMATION

``This hierarchy holds state information pertaining to an application or the
system. State information is data that programs modify while they run, and that
pertains to one specific host. Users must never need to modify files in /var/lib
to configure a package's operation.

State information is generally used to preserve the condition of an application
(or a group of inter-related applications) between invocations and between
different instances of the same application. State information should generally
remain valid after a reboot, should not be logging output, and should not be
spooled data.''

http://www.pathname.com/fhs/pub/fhs-2.3.html#VARCACHEAPPLICATIONCACHEDATA

``/var/cache is intended for cached data from applications. Such data is locally
generated as a result of time-consuming I/O or calculation. The application must
be able to regenerate or restore the data. Unlike /var/spool, the cached files
can be deleted without data loss. The data must remain valid between invocations
of the application and rebooting the system.''

Reproducible: Always
Steps to Reproduce:

Comment 1 Daniel Reed 2004-10-16 21:09:19 UTC
Created attachment 105327 [details]
list of all files in /usr/lib/python2.3/ that are in neither rpmdb nor rpmdb-fedora

Comment 2 Mihai Ibanescu 2004-10-17 02:10:32 UTC
This may have something to do with the fact that the buildroot is
present in the .pyc files (bug 131439)

Comment 3 Mihai Ibanescu 2004-11-04 18:31:43 UTC
python-2.3.4-12 should fix the .pyc files.

Comment 4 Daniel Reed 2004-11-11 22:44:01 UTC
I now have python-2.4-0.b2.3 installed, and /usr/lib/python2.3 appears to be
orphaned. The directory itself is not owned by any package (/usr/lib/python2.4,
on the other hand, is owned by python-2.4-0.b2.3) and there are a large number
of files and subdirectories that are similarly orphaned.


Note You need to log in before you can comment on or make changes to this bug.