22
22
import logging.handlers
25
from paths import SOFTWARE_CENTER_CACHE_DIR
25
import softwarecenter.paths
26
from softwarecenter.utils import (
27
27
ensure_file_writable_and_delete_if_not,
96
96
handler.addFilter(NullFilterThatWarnsAboutRootLoggerUsage())
99
safe_makedirs(SOFTWARE_CENTER_CACHE_DIR)
100
logfile_path = os.path.join(SOFTWARE_CENTER_CACHE_DIR, "software-center.log")
99
safe_makedirs(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR)
102
101
# try to fix inaccessible s-c directory (#688682)
103
if not os.access(SOFTWARE_CENTER_CACHE_DIR, os.W_OK):
102
if not os.access(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR, os.W_OK):
104
103
logging.warn("found not writable '%s' dir, trying to fix" %
105
SOFTWARE_CENTER_CACHE_DIR)
104
softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR)
106
105
# if we have to do more renames, soemthing else is wrong and its
107
106
# ok to crash later to learn about the problem
108
107
for i in range(10):
109
target = "%s.%s" % (SOFTWARE_CENTER_CACHE_DIR, i)
108
target = "%s.%s" % (softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR, i)
110
109
if not os.path.exists(target):
111
os.rename(SOFTWARE_CENTER_CACHE_DIR, target)
110
softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR = target
113
safe_makedirs(SOFTWARE_CENTER_CACHE_DIR)
112
safe_makedirs(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR)
115
logfile_path = os.path.join(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR,
116
"software-center.log")
115
117
# according to bug 688682 many people have a non-writeable logfile
116
118
ensure_file_writable_and_delete_if_not(logfile_path)