[request-tracker-maintainers] Bug#487891: request-tracker3.6: default install puts the SQLite database in /var/cache
Niko Tyni
ntyni at debian.org
Tue Jun 24 21:40:22 UTC 2008
Package: request-tracker3.6
Version: 3.6.6-4
Severity: serious
Justification: FHS violation
Right after uploading 3.6.7-1, I noticed that the SQLite database
generated in a default RT installation by dbconfig-common is accidentally
stored in /var/cache/request-tracker3.6, which is obviously a Bad Thing.
This is because /etc/request-tracker3.6/RT_SiteConfig.pm reads
by default something like
Set ($DatabaseName, 'rtdb');
# SQLite needs a special case, since $DatabaseName must be a full
# pathname
Set ($DatabaseName, '/var/lib/dbconfig-common/sqlite3/request-tracker3.6/rtdb') if "sqlite3" eq "sqlite3";
# end /etc/request-tracker3.6/RT_SiteConfig.d/51-dbconfig-common
but the Set() function is defined in
/usr/share/request-tracker3.6/lib/RT.pm as
local *Set = sub { $_[0] = $_[1] unless defined $_[0] };
so the second call has no effect and the database ends up in the default
directory (localstatedir, /var/cache/request-tracker3.6) instead. How
embarrassing.
This has been broken since 3.6.6-2~experimental2. I'll try to fix this
tomorrow and make the postinst try to rectify the situation.
--
Niko Tyni ntyni at debian.org
More information about the pkg-request-tracker-maintainers
mailing list