inary-spec.dtd 3.9 KB
Newer Older
Suleyman Poyraz's avatar
Suleyman Poyraz committed
1
<!-- Document Type Declaration file for INARY pspec.xml files -->
Suleyman Poyraz's avatar
Suleyman Poyraz committed
2
<!-- https://gitlab.com/sulinos/devel/inary -->
3

Suleyman Poyraz's avatar
Suleyman Poyraz committed
4
<!ELEMENT INARY (Source,Package+,History)>
5 6 7 8 9 10 11 12

<!-- Source Section -->

<!ELEMENT Source (
	#PCDATA |
	Name |
	Homepage |
	Icon |
Suleyman Poyraz's avatar
Suleyman Poyraz committed
13
	Rfp |
14
	Packager |
15
	ExcludeArch |
16 17 18 19 20 21
	License |
	IsA |
	PartOf |
	Summary |
	Description |
	Archive |
22
	AdditionalFiles |
23 24 25 26 27 28 29 30 31 32
	Patches |
	BuildDependencies
)*>

<!ELEMENT Name (#PCDATA)>

<!ELEMENT Homepage (#PCDATA)>

<!ELEMENT Icon (#PCDATA)>

Suleyman Poyraz's avatar
Suleyman Poyraz committed
33 34
<!ELEMENT Rfp (#PCDATA)>

35 36 37
<!ELEMENT Packager (Name, Email)>
<!ELEMENT Email (#PCDATA)>

38 39
<!ELEMENT ExcludeArch (#PCDATA)>

40 41 42 43 44 45 46 47 48 49 50 51 52 53
<!ELEMENT License (#PCDATA)>

<!ELEMENT IsA (#PCDATA)>

<!ELEMENT PartOf (#PCDATA)>

<!ELEMENT Summary (#PCDATA)>
<!ATTLIST Summary xml:lang CDATA #IMPLIED>

<!ELEMENT Description (#PCDATA)>
<!ATTLIST Description xml:lang CDATA #IMPLIED>

<!ELEMENT Archive (#PCDATA)>
<!ATTLIST Archive sha1sum CDATA #REQUIRED>
Suleyman Poyraz's avatar
Suleyman Poyraz committed
54
<!-- NOTE: we can limit possible types here to the ones that inary know -->
55
<!ATTLIST Archive type CDATA #REQUIRED>
56
<!ATTLIST Archive target CDATA #IMPLIED>
57

58 59 60 61
<!ELEMENT BuildFlags (Flag*)>

<!ELEMENT Flag (#PCDATA)>

62 63
<!ELEMENT BuildType (#PCDATA)>

64 65 66 67 68 69 70 71 72
<!ELEMENT BuildDependencies (Dependency*)>

<!ELEMENT Dependency (#PCDATA)>
<!ATTLIST Dependency versionFrom CDATA #IMPLIED>
<!ATTLIST Dependency versionTo CDATA #IMPLIED>
<!ATTLIST Dependency version CDATA #IMPLIED>
<!ATTLIST Dependency releaseFrom CDATA #IMPLIED>
<!ATTLIST Dependency releaseTo CDATA #IMPLIED>
<!ATTLIST Dependency release CDATA #IMPLIED>
73
<!ATTLIST Dependency type CDATA #IMPLIED>
74 75 76 77 78 79 80

<!ELEMENT Patches (Patch*)>

<!ELEMENT Patch (#PCDATA)>
<!ATTLIST Patch compressionType CDATA #IMPLIED>
<!ATTLIST Patch level CDATA #IMPLIED>
<!ATTLIST Patch target CDATA #IMPLIED>
81
<!ATTLIST Patch reverse CDATA #IMPLIED>
82 83 84 85 86 87 88 89 90


<!-- Package Section -->

<!ELEMENT Package (
	#PCDATA |
	Name |
	License |
	Icon |
Suleyman Poyraz's avatar
Suleyman Poyraz committed
91
	Rfp |
92 93 94 95
	IsA |
	PartOf |
	Summary |
	Description |
96
	BuildFlags |
97
	BuildType |
98
	BuildDependencies |
99 100 101 102 103 104 105 106
	RuntimeDependencies |
	Files |
	Conflicts |
	Replaces |
	AdditionalFiles |
	Provides
)*>

Suleyman Poyraz's avatar
Suleyman Poyraz committed
107 108 109 110 111 112 113 114 115 116 117 118 119

<!ELEMENT Provides (CMAKE)>
<!ELEMENT CMAKE (#PCDATA)>
<!ELEMENT Provides (PkgConfig)>
<!ELEMENT PkgConfig (#PCDATA)>
<!ELEMENT Provides (Command)>
<!ELEMENT Command (#PCDATA)>
<!ELEMENT Provides (SharedObject)>
<!ELEMENT SharedObject (#PCDATA)>
<!ELEMENT Provides (Service)>
<!ELEMENT Service (#PCDATA)>
<!ATTLIST Service runlevel CDATA #IMPLIED>

120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
<!ELEMENT Conflicts (Package)+>
<!-- we have a problem here, this Package tag only contains a package name
while dtd treats this as another Package section, who said dtd doesnt
suck anyway -->
<!ATTLIST Package versionFrom CDATA #IMPLIED>
<!ATTLIST Package versionTo CDATA #IMPLIED>
<!ATTLIST Package version CDATA #IMPLIED>
<!ATTLIST Package releaseFrom CDATA #IMPLIED>
<!ATTLIST Package releaseTo CDATA #IMPLIED>
<!ATTLIST Package release CDATA #IMPLIED>

<!ELEMENT Replaces (Package)+>

<!ELEMENT AdditionalFiles (AdditionalFile+)>
<!ELEMENT AdditionalFile (#PCDATA)>
<!ATTLIST AdditionalFile target CDATA #REQUIRED>
<!ATTLIST AdditionalFile permission CDATA #IMPLIED>
<!ATTLIST AdditionalFile owner CDATA #IMPLIED>

<!ELEMENT RuntimeDependencies (Dependency*)>

<!ELEMENT Files (Path)+>

<!ELEMENT Path (#PCDATA)>
<!-- NOTE: is this list correct? -->
<!ATTLIST Path fileType
	(executable|library|data|config|doc|man|info|localedata|header)
	#REQUIRED>
<!ATTLIST Path permanent (false|true) #IMPLIED>
Suleyman Poyraz's avatar
Suleyman Poyraz committed
149
<!ATTLIST Path replace (false|true) #IMPLIED>
150 151 152 153 154 155


<!-- History Section -->

<!ELEMENT History (Update+)>

156
<!ELEMENT Update (#PCDATA | Date | Version | Comment | Type | Requires | Name | Email)*>
157
<!ATTLIST Update release CDATA #REQUIRED>
158
<!ATTLIST Update type (critical|security) #IMPLIED>
159 160 161 162

<!ELEMENT Date (#PCDATA)>
<!ELEMENT Version (#PCDATA)>
<!ELEMENT Comment (#PCDATA)>
163 164 165 166 167 168 169 170 171

<!ELEMENT Type (#PCDATA)>
<!ATTLIST Type package CDATA #IMPLIED>

<!ELEMENT Requires (Action+)>

<!ELEMENT Action (#PCDATA)>
<!ATTLIST Action package CDATA #IMPLIED>
<!ATTLIST Action target CDATA #IMPLIED>