SVG Tiny 1.2 spec now in public CVS

Anthony kindly agreed to give me his ACTION-2002 to look at migrating
the SVG Tiny 1.2 spec over to the public CVS repository, which is now
done.  Here is a summary of what is now where.

I have reworked the various scripts that were used to generate parts of
the document so that only one script invocation is required to publish
the whole spec.  The scripts are in, but
you shouldn’t need to invoke them directly from there.  In the 1.2T
master directory ( there is
a Makefile that you can run (just by typing “make” when you’re in that
directory) that will run the publication script.  Due to the use of
makefiles, incremental builds can now be done, so after your first
invocation of make, making changes to one of the chapters, the IDL or
the RelaxNG schema will cause only those chapters to be rebuilt that
need to be.

Publication is now configured in the publish.conf file that is in the
master/ directory.  The list of chapters and appendices that controlled
the old scripts in chapters.xml is now a couple of entries in
publish.conf.  There are some options in this file that if changed,
won’t do anything nice (e.g. changing MULTI_CHAPTER to “false”) until I
get around to making the scripts work for the modules.  The publish.conf
is set up correctly for the 1.2T spec.

All of the source files for the spec are now in master/, instead of
IDL/IDD/schema being all over the shop.  Also, no generated files in
master/ are in the repository (and I think it would be best to keep it
that way), though the generated files in publish/ are of course checked
in.  There’s a .cvsignore file in master/ that lists the generated files
that are in master/ (though it doesn’t list the generated files in
master/rng/, since that directory has a mix of generated and
non-generated files).

I encourage people to commit the new publish/ files each time they
change the master/ sources.

I have renamed a couple of files, too:

  ▪ svgudomheader.txt and udomidlheader.txt have become
    svgudom-header.txt and svgudomidl-header.txt in the master/
    directory, for consistency with the chapter filenames they are
    headers for.

  ▪ elementTable.html and attributeTable.html from the old
    tools/makeTables.templates directory are now called
    elementTable-template.html and attributeTable-template.html
    in master/.

The RelaxNG schema files that used to live in relaxng/Tiny-1.2-NG/ in
the old repository are now in master/relaxng/.  Those are the ones to
edit if you want to change the schema.  Running make will then update
the generated snippets in master/rng/, which are the ones that are
included in the spec chapters.

Requirements for running the publication script: GNU make, libxml2,
perl, the perl XML::LibXML module, java (for the IDL stuff), xmllint,
xsltproc and rsync.  That should be a subset of what was required
before.  Some of those probably could be cut down, given enough work.
I haven’t tried running the scripts under cygwin, but I don’t think
there’s anything there that should confuse it.

One small problem is that there’s an issue with the CVS server on at the moment, where the automatic checkout to isn’t being performed completely.  It seems to
get stuck at some of the example/image files under
/SVG/profiles/1.2T/publish, so for the time being some of the images in
the spec may be missing when you view it.  The systeam are looking at

We should all start using the public repository for 1.2T now.  If you
have some changes to the 1.2T spec in your old repository working copy
that you haven’t committed yet, you’ll have to cvs diff those and apply
them to the files in the new repository.

Do let me know if you encounter problems.



Cameron McCormack ≝

Received on Monday, 14 July 2008 04:40:46 UTC