Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 02 Oct 2002 10:45:56 +0200
From:      Poul-Henning Kamp <phk@critter.freebsd.dk>
To:        Marc Recht <marc@informatik.uni-bremen.de>
Cc:        current@FreeBSD.ORG, ports@FreeBSD.ORG
Subject:   Re: expat2 in the base system? 
Message-ID:  <84545.1033548356@critter.freebsd.dk>
In-Reply-To: Your message of "Wed, 02 Oct 2002 10:30:07 %2B0200." <20021002103007.588d3bf3.marc@informatik.uni-bremen.de> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <20021002103007.588d3bf3.marc@informatik.uni-bremen.de>, Marc Recht 
writes:
>
>Hi!
>
>I just saw the import of expat 1.95.5 into the base system. And
>because expat2 is such a moving target I'm a little bit wondering
>why this did happen. Isn't it better to keep such a beast in the
>ports-tree?
>Or is there a major config-file to xml rewrite (or something
>similar) going on nobody told us users about? :-)

GEOM needs to be able to export a configuration to userland tools.
Since GEOM doesn't know what kind of configuration information
each GEOM method may have or want to share with userland, the
format used has to be generally extensible.

Rather than write another monster filled with weird structs and enums
I decided that ASCII is very extensible, and putting XML structure
on top of it meant that readily available libraries and tools could
work on it.

And in fact, I have every reason to believe that it takes less code
in the kernel to construct XML with sbuf's than it takes to pack
everything in and out in a way which is properly versioned and all
that hair.

So, I need an XML parser in the userland side of things.

(NB: XML flows from the kernel to userland, not the other way!)

I've sent many emails to try to get peoples attention to this subject,
but nobody has really expressed much of an interest, but maybe now
that it is a more tangible issue that will change.

I have not connected libexpat and xmlwf to the build yet, so nobody
will be screwed in any way until we do so.

There are two ways this can be done, and I don't really have a
preference:

1.  Under the name libexpat, in full flying colours.  This means that
    we are obligated to track the official libexpat rather closely
    and ports will use the in-tree version instead of the ports version.

2.  Under assumed name, "libxmlread" or something.  This means that
    nothing which doesn't explicitly ask for it will get in touch with
    this version of libexpat, and that will only be the programs in
    the tree.  We don't need to track the official libexpat (sort of
    like the DB(3) situation, except with better isolation I guess).

(similar for the include file of course)

Remembering the perl fiasco[*], I have tried for quite some time
to see if anybody had any good input on this, and nothing very
conclusional has emerged from any corner.

I don't plan to commit the next stuff which depends on the existance
of this library this for another couple of weeks, so this is your
chance to test it out: Here is the patch which connects libexpat
in the tree in fashion 1 above.

Let me know how much it breaks.

Poul-Henning

Index: lib/Makefile
===================================================================
RCS file: /home/ncvs/src/lib/Makefile,v
retrieving revision 1.144
diff -u -r1.144 Makefile
--- lib/Makefile	19 Sep 2002 08:06:23 -0000	1.144
+++ lib/Makefile	2 Oct 2002 08:30:46 -0000
@@ -25,7 +25,7 @@
 	libncurses libradius librpcsvc libsbuf libtacplus libutil libypclnt \
 	${_compat} libalias libatm ${_libbind} libbz2 libc ${_libc_r} \
 	libcalendar libcam libcompat libdevinfo libdevstat libdisk \
-	libedit libfetch libform libftpio ${_libio} libipsec \
+	libedit libexpat libfetch libform libftpio ${_libio} libipsec \
 	libipx libisc libmenu ${_libmilter} ${_libmp} ${_libncp} \
 	libnetgraph libopie libpam libpanel libpcap \
 	${_libsm} ${_libsmb} ${_libsmdb} ${_libsmutil} \
Index: usr.bin/Makefile
===================================================================
RCS file: /home/ncvs/src/usr.bin/Makefile,v
retrieving revision 1.221
diff -u -r1.221 Makefile
--- usr.bin/Makefile	17 Sep 2002 01:48:59 -0000	1.221
+++ usr.bin/Makefile	2 Oct 2002 08:31:01 -0000
@@ -196,6 +196,7 @@
 	write \
 	xargs \
 	xinstall \
+	xmlwf \
 	xstr \
 	yacc \
 	yes \


[*] Don't ask "which one ?", it should be obvious from context :-)
    

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?84545.1033548356>