[Aptitude-devel] Bug#671780: aptitude: Please move ~/.aptitude/cache to $XDG_CACHE_HOME (default ~/.cache)

Daniel Hartwig mandyke at gmail.com
Mon Jun 2 04:31:42 UTC 2014


After initially merging the patch, it has been reverted due to
complications with file ownership and requirements of the XDG basedir
specification.

Briefly, the basedir specification states that non-existent directories
are to be created and with initial mode 0700.  The path used can come
from $HOME, $XDG_CACHE_HOME, or a default.  Not an issue for programs
run under the effective id of the logged in user.  But that is not how
aptitude is always run.

Different means of gaining root privileges do filter any of these
environment variables, and it is not clear whether the user has
intentionally or not set any of them, nor which user is supposed to own
the cache directories once created.

Example:
$ export XDG_CACHE_HOME=/usercache/foo # perhaps set on login
...
$ su
...
$ aptitude

Counter example:
$ su
...
$ export XDG_CACHE_HOME=/rootcache
$ aptitude

su _may_ have cleared XDG_CACHE_HOME or may not have, depending on
system configuration.  It is not obvious to aptitude whether the user is
expecting this to have been passed to aptitude, nor which user should
have ownership of the stated path if aptitude has to create it.

Other scenarios introduce similar ambiguity.  The change is reverted
until a simple mechanism can be decided upon, perhaps similar to what
happens with ~/.aptitude/config (only create if the path is within the
real users HOME, but even this has some problems).


Regards

Daniel Hartwig



More information about the Aptitude-devel mailing list