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

Re: xmlspec Update



OK it's time to start thinking through what's needed to produce
a next generation rpmbuild that uses XML as the parser for
a spec file.

Any and all help appreciated.

73 de Jeff

On Mon, May 27, 2002 at 11:16:12AM +0200, Jaco Greeff wrote:
> Jeff,
> 
> Latest version, again :) (Which reminds me, will you, once you have 
> imported it into CVS, give me access to that branch?) I'm got a coupld 
> of comments and a couple of questions around this implementation. 
> Comments first:

I've checked in xml2spec-20020526.tar.bz2 at

	cvs -d :pserver:anonymous@cvs.rpm.org:/cvs/devel login
	(no password, just carriage return)
	cvs -d :pserver:anonymous@cvs.rpm.org:/cvs/devel get xmlspec
	cd xmlspec

There's a symlink in the repository to pull out xmlspec as a subdirectory
of an rpm-4.1 top-of-stack checkout as well.

> 
> 1. I've started with a macro implementation. Really simple at present, 
> you only do a <macro name="whatever">macro value goes here</macro>

Good.

> 
> 2. Pre, Post, PreUn, PostUn and Verify have been done. Really simple at 
> present, no "if's/macro expansions" etc allowed.

Spec files are dirt simple, aren't they?

> 
> 3. I've actually spend some time commenting the header files. Long slog.

I'll be happy to help with the doco, will convert to doxygen (what rpm
uses) if/when the time comes.

> 
> 4. The implementation of outputting into an XML spec (along with the RPM 
> spec) is there. This will make the translation from spec -> xml so much 
> easier when the actual data structures in populated.
> 
> 5. Some really decent cleanups too place
> 

All good, thanks for the work.

> Ok now, for the questions bit. I've started on both the generation of 
> RPM structures and accepting of RPM structures bits and am unsures as to 
> how to proceed.

Hey, I'm winging it too. Please understand I'm mostly clueless when it
comes to C++ and XML. I know enough to get myself in trouble, no more :-)

> 
> On the acceptance bit, I would like you to take a peek at the code and 
> see if I'm on the right track. Should I rather be using some methods to 
> get the information or is working with the structures in their raw 
> format ok? Example of this can be seen in XMLSource.cpp, 
> XMLSource::structCreate, right on top of the source file. I quite happy 
> with it as it stands, but there might be a better way of dealing with 
> this rather than evaluating the data structures.

Hmm, I believe you're asking if the Source structure should be treated
opaquely. ATM, It Really Doesn't Matter, you're the first person
ever to include rpmspec.h in code AFAIK.

> 
> The more contentious issue for me is the population of the RPM 
> structures. I've got this feeling that I'm re-doing, cutting-and-pasting 
> a lot of the code from the build directory. (Which is why I'm attacked 
> the RPM struct in bit first, as described above.) Example of this code 
> can be found in XMLSpec.cpp, XMLSpec::toRPMStruct, right at the bottom. 
> (I've commenetd-out the calls for the underlying data structures, some 
> of theme are implemented, others not.) XMLSource.cpp, 
> XMLSource::toRPMStruct (line 185 in the source file) has the 
> implementation for the source. I dodn't like this at all since I've 
> cut-and-pasted too much. There must be a way in which we can integrate 
> this a bit better.

It's early yet, and there's much needs doing. The immediate goal should
be to establish a proof-of-concept example that is sufficiently
rich and yet still (or at least mostly) one-to-one with the existing syntax.

If we can get a syntax definition and a rudimentary parser, I'll be *very*
happy to rework whatever structures and code necessary to produce
son-of-rpmbuild.

> 
> Comments will be appreciated,
> Jaco

73 de Jeff


-- 
Jeff Johnson	ARS N3NPQ
jbj@redhat.com (jbj@jbj.org)
Chapel Hill, NC





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