Re: GConf --makefile-uninstall-rule is incompatible with packaging systems



On Tue, 2006-01-10 at 12:49 +0100, Stanislav Brabec wrote:
> I have been searching for the reason, why GConf database contains
> obsolete keys after "correct" package update. I found that it is a
> concept problem, which affects many packaging systems:
> 
> GConf expects following update process:
> - --makefile-uninstall-rule for old schemas
> - perform files update
> - --makefile-install-rule for new schemas 

On archlinux, our package manager has a nice "bug" we use as a feature:
before post_install/post_upgrade functions are executed, the filelist is
already known to the package manager. What we do basically:

- post_install: get list of schema files, register those with gconf
- post_upgrade: call post_install
- pre_remove: get list of installed schema files, unregister those with
gconf
- pre_upgrade: run pre_remove

We do the same for scrollkeeper documentation because it's faster to
"scrollkeeper-install" a few .omf files than it is to regenerate the
scrollkeeper database for every package (ever wondered why debian waits
such a long time when installing a -data package? It's because of the DB
regeneration which fetches the DTD files from sourceforge).

In the end, we have 0 problems with changed or renamed schemafiles. When
packaging something, we can copy our basic application called gedit,
change name, description, version and md5sums, build it and upload it
without problems. No need to find out which schemas we have to install,
no need to find out which ones to remove.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]