Stage one finished

Philip Van Hoof <[email protected]>
Newsgroups gmane.comp.gnome.lib.gconf
Message-ID <[email protected]>
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

_______________________________________________
gconf-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gconf-list
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.