A photo database made with an earlier version of f-spot, using sqlite-2.x will cause an error and an infinite loop if used with f-spot on a system where sqlite-2.x is not installed. The newer versions of f-spot require sqlite-3.x, so if an old db is used on e.g. a freshly installed system, f-spot will throw an Sqlite Exception, followed by an infinite loop of error messages stating that the DBUS system bus could not be connected to. A bug is on file at the GNOME bugzilla (http://bugzilla.gnome.org/show_bug.cgi?id=418818). Reproducible: Always Steps to Reproduce: 1. Start f-spot with a database file made with sqlite-2.x, without having sqlite-2.x installed Actual Results: An exception is thrown, followed by an infinite loop of error messages. Expected Results: Handled the exception gracefully and printed an error message, or (silently) upgraded the database files.
(In reply to comment #0) > Expected Results: > Handled the exception gracefully and printed an error message, or (silently) > upgraded the database files. You'll need to take this upstream. The dependency is correct in all ebuilds.
Actually, if you look at the bug I pasted the link to, you'll see that upstream says this is a gentoo packaging issue...
Beside, the dependencies are not correct, since f-spot supports both sqlite-2.x and 3.x databases. If sqlite-2.x is installed, f-spot 0.3.5 will read an old database file without a problem.
(In reply to comment #2) > Actually, if you look at the bug I pasted the link to, you'll see that upstream > says this is a gentoo packaging issue... Yeah, I did have a look; sorry but application going to endless errors loop on a DB that it cannot read is no way a packaging issue, it's a bug in that application. (In reply to comment #3) > Beside, the dependencies are not correct, since f-spot supports both sqlite-2.x > and 3.x databases. If sqlite-2.x is installed, f-spot 0.3.5 will read an old > database file without a problem. IOW we should pointlessly force two sqlite versions on users who don't need it at all, just because the application is stupid? What's the solution you are suggesting?
It's a given that the error handling should be handled by upstream... I never suggested this was a packaging issue... However, the fact remains that the app supports sqlite-2.x databases, and in my opinion, this should be reflected in the ebuild. I suggest either adding an sqlite2 USE-flag to the package, or, maybe more appropriate, adding a notice to the ebuild where the user is made aware of the fact that old databases won't be read unless sqlite-2.x is installed or the database is upgraded.