inary-spec.dtd 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <!-- Document Type Declaration file for INARY pspec.xml files -->
  2. <!-- https://gitlab.com/sulinos/devel/inary -->
  3. <!ELEMENT INARY (Source,Package+,History)>
  4. <!-- Source Section -->
  5. <!ELEMENT Source (
  6. #PCDATA |
  7. Name |
  8. Homepage |
  9. Icon |
  10. Rfp |
  11. Packager |
  12. ExcludeArch |
  13. License |
  14. IsA |
  15. PartOf |
  16. Summary |
  17. Description |
  18. Archive |
  19. AdditionalFiles |
  20. Patches |
  21. BuildDependencies
  22. )*>
  23. <!ELEMENT Name (#PCDATA)>
  24. <!ELEMENT Homepage (#PCDATA)>
  25. <!ELEMENT Icon (#PCDATA)>
  26. <!ELEMENT Rfp (#PCDATA)>
  27. <!ELEMENT Packager (Name, Email)>
  28. <!ELEMENT Email (#PCDATA)>
  29. <!ELEMENT ExcludeArch (#PCDATA)>
  30. <!ELEMENT License (#PCDATA)>
  31. <!ELEMENT IsA (#PCDATA)>
  32. <!ELEMENT PartOf (#PCDATA)>
  33. <!ELEMENT Summary (#PCDATA)>
  34. <!ATTLIST Summary xml:lang CDATA #IMPLIED>
  35. <!ELEMENT Description (#PCDATA)>
  36. <!ATTLIST Description xml:lang CDATA #IMPLIED>
  37. <!ELEMENT Archive (#PCDATA)>
  38. <!ATTLIST Archive sha1sum CDATA #REQUIRED>
  39. <!-- NOTE: we can limit possible types here to the ones that inary know -->
  40. <!ATTLIST Archive type CDATA #REQUIRED>
  41. <!ATTLIST Archive target CDATA #IMPLIED>
  42. <!ELEMENT BuildFlags (Flag*)>
  43. <!ELEMENT Flag (#PCDATA)>
  44. <!ELEMENT BuildType (#PCDATA)>
  45. <!ELEMENT BuildDependencies (Dependency*)>
  46. <!ELEMENT Dependency (#PCDATA)>
  47. <!ATTLIST Dependency versionFrom CDATA #IMPLIED>
  48. <!ATTLIST Dependency versionTo CDATA #IMPLIED>
  49. <!ATTLIST Dependency version CDATA #IMPLIED>
  50. <!ATTLIST Dependency releaseFrom CDATA #IMPLIED>
  51. <!ATTLIST Dependency releaseTo CDATA #IMPLIED>
  52. <!ATTLIST Dependency release CDATA #IMPLIED>
  53. <!ATTLIST Dependency type CDATA #IMPLIED>
  54. <!ELEMENT Patches (Patch*)>
  55. <!ELEMENT Patch (#PCDATA)>
  56. <!ATTLIST Patch compressionType CDATA #IMPLIED>
  57. <!ATTLIST Patch level CDATA #IMPLIED>
  58. <!ATTLIST Patch target CDATA #IMPLIED>
  59. <!ATTLIST Patch reverse CDATA #IMPLIED>
  60. <!-- Package Section -->
  61. <!ELEMENT Package (
  62. #PCDATA |
  63. Name |
  64. License |
  65. Icon |
  66. Rfp |
  67. IsA |
  68. PartOf |
  69. Summary |
  70. Description |
  71. BuildFlags |
  72. BuildType |
  73. BuildDependencies |
  74. RuntimeDependencies |
  75. Files |
  76. Conflicts |
  77. Replaces |
  78. AdditionalFiles |
  79. Provides
  80. )*>
  81. <!ELEMENT Provides (CMAKE)>
  82. <!ELEMENT CMAKE (#PCDATA)>
  83. <!ELEMENT Provides (PkgConfig)>
  84. <!ELEMENT PkgConfig (#PCDATA)>
  85. <!ELEMENT Provides (Command)>
  86. <!ELEMENT Command (#PCDATA)>
  87. <!ELEMENT Provides (SharedObject)>
  88. <!ELEMENT SharedObject (#PCDATA)>
  89. <!ELEMENT Provides (Service)>
  90. <!ELEMENT Service (#PCDATA)>
  91. <!ATTLIST Service runlevel CDATA #IMPLIED>
  92. <!ELEMENT Conflicts (Package)+>
  93. <!-- we have a problem here, this Package tag only contains a package name
  94. while dtd treats this as another Package section, who said dtd doesnt
  95. suck anyway -->
  96. <!ATTLIST Package versionFrom CDATA #IMPLIED>
  97. <!ATTLIST Package versionTo CDATA #IMPLIED>
  98. <!ATTLIST Package version CDATA #IMPLIED>
  99. <!ATTLIST Package releaseFrom CDATA #IMPLIED>
  100. <!ATTLIST Package releaseTo CDATA #IMPLIED>
  101. <!ATTLIST Package release CDATA #IMPLIED>
  102. <!ELEMENT Replaces (Package)+>
  103. <!ELEMENT AdditionalFiles (AdditionalFile+)>
  104. <!ELEMENT AdditionalFile (#PCDATA)>
  105. <!ATTLIST AdditionalFile target CDATA #REQUIRED>
  106. <!ATTLIST AdditionalFile permission CDATA #IMPLIED>
  107. <!ATTLIST AdditionalFile owner CDATA #IMPLIED>
  108. <!ELEMENT RuntimeDependencies (Dependency*)>
  109. <!ELEMENT Files (Path)+>
  110. <!ELEMENT Path (#PCDATA)>
  111. <!-- NOTE: is this list correct? -->
  112. <!ATTLIST Path fileType
  113. (executable|library|data|config|doc|man|info|localedata|header)
  114. #REQUIRED>
  115. <!ATTLIST Path permanent (false|true) #IMPLIED>
  116. <!ATTLIST Path replace (false|true) #IMPLIED>
  117. <!-- History Section -->
  118. <!ELEMENT History (Update+)>
  119. <!ELEMENT Update (#PCDATA | Date | Version | Comment | Type | Requires | Name | Email)*>
  120. <!ATTLIST Update release CDATA #REQUIRED>
  121. <!ATTLIST Update type (critical|security) #IMPLIED>
  122. <!ELEMENT Date (#PCDATA)>
  123. <!ELEMENT Version (#PCDATA)>
  124. <!ELEMENT Comment (#PCDATA)>
  125. <!ELEMENT Type (#PCDATA)>
  126. <!ATTLIST Type package CDATA #IMPLIED>
  127. <!ELEMENT Requires (Action+)>
  128. <!ELEMENT Action (#PCDATA)>
  129. <!ATTLIST Action package CDATA #IMPLIED>
  130. <!ATTLIST Action target CDATA #IMPLIED>