[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: xmlspec Update
- From: Jeff Johnson <jbj redhat com>
- To: Jaco Greeff <jaco puxedo org>
- Cc: rpm-list redhat com
- Subject: Re: xmlspec Update
- Date: Thu, 30 May 2002 11:38:19 -0400
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]
[]