[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