[bt-devel] RFC: Remove modules installed by the native package manager

Martin Gruner mg.pub at gmx.net
Tue Apr 28 10:51:13 MST 2009


Hi Sveinung.

First of all, thanks for providing a solution! I'm quite impressed with your 
work. Your patches look good.

Having said that, I'm not going to apply them now. You know that we are just 
right before the release of BibleTime 2.0, so we have to postpone larger 
changes.

Plus, I'm not sure how big the problem you are solving really is in practice. 
Ok, there are very few modules packaged by the distros, but I'm not aware of 
users having problems with them. If they install to /usr/share/, users cannot 
remove them at all (so the database cannot be "corrupted"), unless they work 
as root.
The changes would introduce a new (optional) external dependency, and #ifdefs, 
which increases the complexity of the codebase and build process.

I like your approach though. My suggestion would be that con continue to work 
on this in a local working copy of BibleTime. And I'd like to hear the other 
developer's opinions on this matter to see if there can be a consensus. If 
most agree, we can incorporate your work at a later point (especially if 
distros have working versions of PackageKit).

Again, thanks for your work!

Martin

On Monday 27 April 2009 20:18:28 Sveinung Kvilhaugsvik wrote:
> Hello!
>
> First: English is not my native language so if what I write is
> difficult to understand (if you are insulted by reading it you
> probably don't understand) please ask me to clarify.
>
> I have heard that people have complained about not being able to
> remove modules that are installed by the operating system's native
> package manager. The following patches are a possible solution to it.
> It adds support for PackageKit, an abstraction layer for package
> managers, to BibleTime. The support is behind #ifdef's and won't be
> enabled unless CMake can find PackageKit. If it's enabled at compile
> time it will still check if it can use PackageKit during runtime
> before it will use it. Since PackageKit use dbus and dbus has
> different bindings I don't think this belong in Sword. If you are
> interested I'm willing to work more on it to get this code in a state
> where you can commit it to BibleTime.
>
> A small note: This has only been tested with PackageKit 0.3.14.
> PackageKit in current Ubuntu jaunty won't work since it installs
> FindQPackageKit.cmake in a place CMake can't find it. There is a fix
> for this in the bugreport
> https://bugs.launchpad.net/ubuntu/+source/packagekit/+bug/345706
>
> Since I'm quite new to C++, QT, the codebase of BibleTime etc I would
> like some feedback. Should I modify other files than Changelog, the
> build system and the source code? Are the patches correctly split up?
> Should I be "using PackageKit::Client" to make the code shorter, or
> can that be confusing to other developers? Are there memory leaks?
>
> The patches will be attached to this mail and then posted in follow
> ups as text so it will be easier to comment parts of the code. If you
> prefer the patches to be posted another way please tell me.
>  * Patch -1: (Not part of the series) Just noticed that the extra
> slash is no longer required
>  * Patch 1: make CMake detect QPackageKit
>  * Patch 2: Check if PackageKit can be used to remove modules
>  * Patch 3: Remove modules using PackageKit. At the moment there is a
> bug if the user closes the remove window before removal have started.
> A possible solution to this is to show some sort of progress thing as
> the removal goes on or to make sure the object the code is on stays
> until it's finish. If anyone else wants solve this I'm OK with it, if
> not I would be willing to try myself.
>
> --
> Sincerly
> Sveinung




More information about the bt-devel mailing list