File:  [LON-CAPA] / loncom / build / lpml.dtd
Revision 1.11: download - view: text, annotated - select for diffs
Tue Dec 11 14:28:09 2001 UTC (22 years, 10 months ago) by harris41
Branches: MAIN
CVS tags: HEAD
adding in dtd spec for abbreviation tag -Scott Harrison

<!--
       Linux Packaging Markup Language version 1.0.
       Intended to be under General Public License,
       Second Version June 1991.

       Date: May 3, 2001
       Author: Scott Harrison

       Linux Packaging Markup Language aims to capture
       a source code development tree and effectively map
       that to a compilation and installation process for
       generating software packages and updating a run-time
       system.  This language helps handle dependency information,
       file globbing, file permissions, file ownerships,
       different targets for different linux distributions,
       preservation of configuration information, directory
       permissions, directory ownerships, compilation commands,
       and, ultimately, system software status reports.
-->
<!ENTITY % lpml.Version
        "-//TUX//DTD lpml 1.0 Final//EN"

        -- Typical usage:

            <!DOCTYPE lpml PUBLIC "-//TUX//DTD LPML 1.0 Final//EN">
            <lpml>

            </lpml>
        --
        >

<!ELEMENT categoryname (#PCDATA)>
<!ELEMENT targetroot (#PCDATA)>
<!ELEMENT sourceroot (#PCDATA)>

<!ELEMENT target (#PCDATA)>
<!ATTLIST target
    dist CDATA #REQUIRED
    >
<!ELEMENT source (#PCDATA)>
<!ELEMENT targetdir (#PCDATA)>
<!ATTLIST targetdir
    dist CDATA #REQUIRED
    >
<!ELEMENT sourcedir (#PCDATA)>
<!ELEMENT glob (#PCDATA)>
<!ELEMENT build (#PCDATA)>
<!ELEMENT buildlink (#PCDATA)>

<!-- 
The trigger attribute of the build element is meant
to only have one of two possible values:
  "always run", or
  "run if dependencies change"

Note that you must type this text exactly in for the
attribute value to be understood and processed correctly
by the lpml "make build" parser.
-->
<!ELEMENT lpml (files|categories|directories|rpm)+>
<!ATTLIST build>
   trigger CDATA #REQUIRED
>
<!ELEMENT categories category+>
<!ELEMENT directories directory+>
<!ELEMENT files (file|fileglob|link)+>
<!ELEMENT dependencies (#PCDATA)>
<!ELEMENT note (#PCDATA)>

<!ELEMENT category (chmod,chown,abbreviation)>
<!ATTLIST category
    type CDATA #REQUIRED
    name CDATA #REQUIRED
    >
<!ELEMENT chown (#PCDATA)>
<!ATTLIST chown
    dist CDATA #REQUIRED
    >
<!ELEMENT chmod (#PCDATA)>
<!ATTLIST chmod
    dist CDATA #REQUIRED
    >
<!ELEMENT abbreviation (#PCDATA)>

<!ELEMENT directory (targetdir,categoryname,description?)>
<!ATTLIST directory
    dist CDATA #REQUIRED
    >

<!ELEMENT file (source,target,categoryname,description?,
                note?,build?,status?,dependencies?)>
<!ELEMENT link (source,target,categoryname,description?,
                note?,build?,status?,dependencies?)>

<!ELEMENT fileglob (glob,sourcedir,targetdir,categoryname,
                    description?,note?,build?,buildlink?,status?,dependencies?,filenames?)>
<!ELEMENT filenames (#PCDATA)>

<!ELEMENT rpm (rpmSummary,rpmName,rpmVersion,rpmRelease,rpmVendor,
               rpmBuildRoot,rpmCopyright,rpmGroup,rpmSource,rpmAutoReqProv,
               rpmdescription,rpmpre)>
<!ELEMENT rpmSummary (#PCDATA)>
<!ELEMENT rpmName (#PCDATA)>
<!ELEMENT rpmVersion (#PCDATA)>
<!ELEMENT rpmRelease (#PCDATA)>
<!ELEMENT rpmVendor (#PCDATA)>
<!ELEMENT rpmBuildRoot (#PCDATA)>
<!ELEMENT rpmCopyright (#PCDATA)>
<!ELEMENT rpmGroup (#PCDATA)>
<!ELEMENT rpmSource (#PCDATA)>
<!ELEMENT rpmAutoReqProv (#PCDATA)>
<!ELEMENT rpmdescription (#PCDATA)>
<!ELEMENT rpmpre (#PCDATA)>



FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>