Stage one finished



Hi there,

We have finished stage one. Stage one is what we called tearing everything apart and putting it all back together.

You can checkout the result here: http://cvs.freax.be/cgi-bin/viewcvs.cgi/gconf-3/
You can ask me for accounts if you want to help/write
You can use the Download-tarball feature (it does work)
    http://cvs.freax.be/cgi-bin/viewcvs.cgi/gconf-3/gconf-3.tar.gz?tarball=1

What have we done/finished so far


o. We took the branch gconf-dbus and have put it in our own temporary repository location

o. We patched/merged with the gconf-dbus-2-6 branch in such a way that it again compiles.
    But we haven't tested whether or not it's also "correct". It just compiles at this moment.
    Both of us haven't started studying D-BUS but are going to do this during the next weeks
    by applying our newly learned knowledge on this GConf-3 attempt.

o. We have reset the version numbers
    - MAJOR_VERSION=3
    - GCONF_CURRENT=1
    - GCONF_REVISION=0
    - GCONF_AGE=0

o. We removed all modules and parts of the gconf-root that don't yet interest us

    - tests
    - examples
    - sanity-check
    - po
    - doc
    - debian
    - gconf-editor
    - wrappers
    - xsettings

Our idea is that once we are finished, we'll copy those missing parts from the cvs.gnome.org
repository and do some adjustments so that they are current.


o. We upgraded the build-environment to automake 1.7

o. We have removed all that DEPENDENT-cruft from the configure.in and Makefile.am files

o. We have replaced that with GCONF_LIBS and GCONF_CFLAGS. Gah! :-)

o. We have removed all ORBit-2 related materials and we aren't planning to keep supporting it

o. We renamed configure.in to configure.ac (it's the standard)

o. We updated all .cvsignore files

o. We separated the different targets in the directory "gconf" to different directories

    - We moved gconf-database.c, gconf-database-dbus.c, gconf-database-dbus.h
      gconf-database.h, gconfd.c, gconfd-dbus.c, gconfd-dbus.h  and gconfd.h to
      a directory "gconfd"
    - We moved gconftool.c to a directory "gconftool"
    - We kept the files used for the library in "gconf"

    - We created Makefile.am's in the two new directories that will link with the library
      in "gconf" (so gconftool-3 and gconfd-3 link with libgconf-3)

o. We moved backends/* to backends/xml/. We are indeed planning to make it even
    more easy to create new backends in that directory and to make it a configure.ac
    option

o. We have made sure make, make clean and make distclean targets work with all the new settings

o We have also made sure the gconf-animal again compiles correctly


Our plans

o. Learn D-BUS. We can use some help with this. Both of us have a few years experience with
C so, yes, the dbus.h file ought to be enough. But still, hehe.

o. Remove ORBit-2 as dependency

o. Bring the *-dbus*-files up-to-date. I understood that the dbus-stuff in GConf is a bit
outdated and that new functionality is available in more current versions of D-BUS?

o. Merge the changes which are in HEAD and which weren't in the gconf-dbus branch.
We can use some help here. Mainly identifying those changes :-).

o. We are planning to take a look at reducing the daemon in functionality. So where possible,
we want to move functionality to the library. Questions on this: Is it a good idea? It looks like
the OpenOffice.org and the KDE people prefer a VERY small and insignificant daemon. We are
hoping the D-BUS architecture is also going to help us lessen functionality of the daemon.

We don't already know everything about D-BUS so we don't know whether or not it's already
possible to discard the daemon completely. Also question: is that a good idea?

o. We plan to make it more easy to rename GConf. We are not planning to actually rename it.
Perhaps we'll move the directories "gconf", "gconftool" and "gconfd" to "lib", "tool" and "daemon"
in the sourcecode. We are planning to make it possible to rename the resulting targets very
easily by adjusting the configure.ac (and perhaps minor adjustments in the Makefile.am's).

o. We plan to break the API by introducing the proposed API-changes made by Havoc
More information: http://mail.gnome.org/archives/gconf-list/2003-May/msg00000.html

o. We plan to (perhaps, eventually) create a C++ wrapper or adapt the one that can be found in
    "wrappers"

o. If necessary rename the API-namespace. If unnecessary we don't.


These are NOT our plans

o. Renaming GConf to D-Conf. Not yet. And if unnecessary not ever.
o. Keep supporting ORBit-2/CORBA as IPC/Protocol
o. Make a bunch of backends of each file in your /etc/
o. Redo what UniConf or Elektra or whatever are already doing
o. Create a configuration system for every possible configurable system-service
o. Create a configuration system for something that isn't a desktop application
o. Remove glib-2 as dependency
o. Remove libxml-2 as dependency



This is the compilation result

./autogen.sh --prefix=/opt/gconf_special_forces/

freax lort:~/cvs/own/gconf-3 $ ldd /opt/gconf_special_forces/lib/libgconf-3.so.1.0.0
                libdbus-glib-1.so.0 => /usr/lib/libdbus-glib-1.so.0 (0xb7fb8000)
        libdbus-1.so.0 => /usr/lib/libdbus-1.so.0 (0xb7f84000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7f7f000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7f7c000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7f4b000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7ecf000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7dd0000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7dc0000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7dae000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7d8d000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7c60000)
        libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb7c4c000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
freax lort:~/cvs/own/gconf-3 $ ldd /opt/gconf_special_forces/libexec/gconfd-3
                libdbus-glib-1.so.0 => /usr/lib/libdbus-glib-1.so.0 (0xb7fcb000)
        libdbus-1.so.0 => /usr/lib/libdbus-1.so.0 (0xb7f97000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7f93000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7f8f000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7f5e000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7ee2000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7de3000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7dd3000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7dc2000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7da0000)
        libgconf-3.so.1 => /opt/gconf_special_forces//lib/libgconf-3.so.1 (0xb7d78000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7c4b000)
        libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb7c37000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7feb000)
freax lort:~/cvs/own/gconf-3 $ ldd /opt/gconf_special_forces/bin/gconf-merge-tree
                libdbus-glib-1.so.0 => /usr/lib/libdbus-glib-1.so.0 (0xb7fcb000)
        libdbus-1.so.0 => /usr/lib/libdbus-1.so.0 (0xb7f97000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7f93000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7f8f000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7f5e000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7ee2000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7de3000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7dd3000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7dc2000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7da0000)
        libgconf-3.so.1 => /opt/gconf_special_forces//lib/libgconf-3.so.1 (0xb7d78000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7c4b000)
        libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb7c37000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7feb000)
freax lort:~/cvs/own/gconf-3 $ ldd /opt/gconf_special_forces/bin/gconf
gconf-merge-tree  gconftool-3
freax lort:~/cvs/own/gconf-3 $ ldd /opt/gconf_special_forces/bin/gconftool-3
                libdbus-glib-1.so.0 => /usr/lib/libdbus-glib-1.so.0 (0xb7fcb000)
        libdbus-1.so.0 => /usr/lib/libdbus-1.so.0 (0xb7f97000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7f93000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7f8f000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7f5e000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7ee2000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7de3000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7dd3000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7dc2000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7da0000)
        libpopt.so.0 => /lib/libpopt.so.0 (0xb7d98000)
        libgconf-3.so.1 => /opt/gconf_special_forces//lib/libgconf-3.so.1 (0xb7d70000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7c43000)
        libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb7c2f000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7feb000)
freax lort:~/cvs/own/gconf-3 $

And of course the tree:

freax lort:~/cvs/own/gconf-3 $ tree /opt/gconf_special_forces/
/opt/gconf_special_forces/
|-- bin
|   |-- gconf-merge-tree
|   `-- gconftool-3
|-- etc
|   `-- gconf
|       |-- 3
|       |   `-- path
|       |-- gconf.xml.defaults
|       `-- gconf.xml.mandatory
|-- include
|   `-- gconf
|       `-- 3
|           `-- gconf
|               |-- gconf-changeset.h
|               |-- gconf-client.h
|               |-- gconf-engine.h
|               |-- gconf-enum-types.h
|               |-- gconf-error.h
|               |-- gconf-listeners.h
|               |-- gconf-schema.h
|               |-- gconf-value.h
|               `-- gconf.h
|-- lib
|   |-- GConf
|   |   `-- 3
|   |       |-- libgconfbackend-oldxml.a
|   |       |-- libgconfbackend-oldxml.la
|   |       |-- libgconfbackend-oldxml.so
|   |       |-- libgconfbackend-xml.a
|   |       |-- libgconfbackend-xml.la
|   |       `-- libgconfbackend-xml.so
|   |-- dbus-1.0
|   |   `-- services
|   |       `-- gconf.service
|   |-- libgconf-3.a
|   |-- libgconf-3.la
|   |-- libgconf-3.so -> libgconf-3.so.1.0.0
|   |-- libgconf-3.so.1 -> libgconf-3.so.1.0.0
|   |-- libgconf-3.so.1.0.0
|   `-- pkgconfig
|       `-- gconf-2.0.pc
|-- libexec
|   `-- gconfd-3
`-- share
    `-- aclocal
        `-- gconf-3.m4

19 directories, 27 files
freax lort:~/cvs/own/gconf-3 $


-- 
Philip Van Hoof, Software Developer @ Cronos
home: me at freax dot org
gnome: pvanhoof at gnome dot org
work: philip dot vanhoof at cronos dot be
junk: philip dot vanhoof at gmail dot com
http://www.freax.be, http://www.freax.eu.org


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