On Tue, Oct 5, 2010 at 7:41 PM, Donnie Berkholz <dberkh...@gentoo.org> wrote: > On 15:52 Tue 05 Oct , "Paweł Hajdan, Jr." wrote: >> The meaning is identical in all those cases, and I think the number of >> packages may have hit the threshold for a global flag. >> >> However, we already have a very similar global USE flag: sqlite, which >> makes this a bit more tricky. The difference is very subtle: >> >> IUSE="sqlite" means "the sqlite support is optional; -sqlite means no >> sqlite support" >> >> IUSE="system-sqlite" means "we can use the bundled sqlite or the >> system one; -system-sqlite means we use the bundled one; both settings >> result in sqlite support" >> >> If we'd make system-sqlite a global USE flag, I'd suggest a >> description like "Use the system-wide dev-db/sqlite instead of bundled >> copy of sqlite." > > I think making this a global flag implicitly endorses building bundled > code as an OK thing to do. Why is it an option at all, local or > otherwise? >
The reason is that with SQLITE_SECURE_DELETE, sqlite zeroes out portions that have been deleted causing a very noticeable drop in performance. This may be acceptable for browsers, but is rarely desirable system-wide. See https://bugzilla.mozilla.org/show_bug.cgi?id=546162 for details. To fix this problem sqlite upstream made a specific change allowing a #pragma to be used to define where secure-delete is required, avoiding the need to use secure-delete *everywhere*.[1] However, Mozilla upstream considers the two-line-change[2] an unacceptable level of maintenance burden, and refused to implement it[3]. I presume Chromium upstream has a similar stance on the issue, hence making the use-flag necessary for us since we (at least mozilla team) avoid adding patches that are not upstream yet. 1. https://bugzilla.mozilla.org/show_bug.cgi?id=546162#c8 2. https://bugzilla.mozilla.org/show_bug.cgi?id=546162#c11 3. https://bugzilla.mozilla.org/show_bug.cgi?id=546162#c15 -- ~Nirbheek Chauhan Gentoo GNOME+Mozilla Team