these are needed
This commit is contained in:
+10
-2
@@ -78,6 +78,7 @@
|
||||
RuntimeDependencies |
|
||||
Files |
|
||||
Conflicts |
|
||||
Replaces |
|
||||
AdditionalFiles |
|
||||
Provides
|
||||
)*>
|
||||
@@ -90,6 +91,14 @@
|
||||
<!-- 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)>
|
||||
@@ -115,8 +124,7 @@ suck anyway -->
|
||||
|
||||
<!ELEMENT Update (#PCDATA | Date | Version | Comment | Name | Email)*>
|
||||
<!ATTLIST Update release CDATA #REQUIRED>
|
||||
<!-- FIXME: valid types must be used instead of CDATA -->
|
||||
<!ATTLIST Update type CDATA #IMPLIED>
|
||||
<!ATTLIST Update type (security|bug) #IMPLIED>
|
||||
|
||||
<!ELEMENT Date (#PCDATA)>
|
||||
<!ELEMENT Version (#PCDATA)>
|
||||
|
||||
+502
@@ -0,0 +1,502 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- RELAX NG schema file for PISI pspec.xml files -->
|
||||
<!-- http://www.pardus.org.tr/projeler/pisi/ -->
|
||||
|
||||
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
|
||||
<!-- Start Document -->
|
||||
<start>
|
||||
<ref name="PISI"/>
|
||||
</start>
|
||||
|
||||
<!-- PISI Section -->
|
||||
<define name="PISI">
|
||||
<element name="PISI">
|
||||
<ref name="Source"/>
|
||||
<oneOrMore>
|
||||
<ref name="Package"/>
|
||||
</oneOrMore>
|
||||
<ref name="History"/>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- Source Section -->
|
||||
<define name="Source">
|
||||
<element name="Source">
|
||||
<ref name="Name"/>
|
||||
<ref name="Homepage"/>
|
||||
<ref name="Packager"/>
|
||||
<oneOrMore>
|
||||
<ref name="License"/>
|
||||
</oneOrMore>
|
||||
<optional>
|
||||
<ref name="Icon"/>
|
||||
</optional>
|
||||
<zeroOrMore>
|
||||
<ref name="IsA"/>
|
||||
</zeroOrMore>
|
||||
<optional>
|
||||
<ref name="PartOf"/>
|
||||
</optional>
|
||||
<oneOrMore>
|
||||
<ref name="Summary"/>
|
||||
</oneOrMore>
|
||||
<zeroOrMore>
|
||||
<!-- FIXME: should be oneOrMore -->
|
||||
<ref name="Description"/>
|
||||
</zeroOrMore>
|
||||
<ref name="Archive"/>
|
||||
<optional>
|
||||
<ref name="BuildDependencies"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="Patches"/>
|
||||
</optional>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- Package Section -->
|
||||
<define name="Package">
|
||||
<element name="Package">
|
||||
<ref name="Name"/>
|
||||
<optional>
|
||||
<ref name="License"/>
|
||||
</optional>
|
||||
<zeroOrMore>
|
||||
<ref name="IsA"/>
|
||||
</zeroOrMore>
|
||||
<optional>
|
||||
<ref name="PartOf"/>
|
||||
</optional>
|
||||
<zeroOrMore>
|
||||
<ref name="Summary"/>
|
||||
</zeroOrMore>
|
||||
<zeroOrMore>
|
||||
<ref name="Description"/>
|
||||
</zeroOrMore>
|
||||
<optional>
|
||||
<ref name="RuntimeDependencies"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="Conflicts"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="Replaces"/>
|
||||
</optional>
|
||||
<ref name="Files"/>
|
||||
<optional>
|
||||
<ref name="AdditionalFiles"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="Provides"/>
|
||||
</optional>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- History Section -->
|
||||
<define name="History">
|
||||
<element name="History">
|
||||
<oneOrMore>
|
||||
<ref name="Update"/>
|
||||
</oneOrMore>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
|
||||
<!-- Name -->
|
||||
<define name="Name">
|
||||
<element name="Name">
|
||||
<data type="string" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
||||
<param name="pattern">[0-9a-zA-Z\-_+]*</param>
|
||||
<param name="maxLength">255</param>
|
||||
</data>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- Homepage -->
|
||||
<define name="Homepage">
|
||||
<element name="Homepage">
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- Icon -->
|
||||
<define name="Icon">
|
||||
<element name="Icon">
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- Packager -->
|
||||
<define name="Packager">
|
||||
<element name="Packager">
|
||||
<ref name="Packager.Name"/>
|
||||
<ref name="Email"/>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- Packager.Name -->
|
||||
<define name="Packager.Name">
|
||||
<element name="Name">
|
||||
<data type="string" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
||||
<param name="maxLength">255</param>
|
||||
</data>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- Email -->
|
||||
<define name="Email">
|
||||
<element name="Email">
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- License -->
|
||||
<define name="License">
|
||||
<element name="License">
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- IsA -->
|
||||
<define name="IsA">
|
||||
<element name="IsA">
|
||||
<choice>
|
||||
<value>app</value>
|
||||
<value>app:console</value>
|
||||
<value>app:gui</value>
|
||||
<value>app:web</value>
|
||||
<value>library</value>
|
||||
<value>service</value>
|
||||
<value>data</value>
|
||||
<value>data:doc</value>
|
||||
<value>data:font</value>
|
||||
<value>kernel</value>
|
||||
<value>driver</value>
|
||||
<value>locale</value>
|
||||
<value>locale:tr</value>
|
||||
<value>locale:en</value>
|
||||
<value>locale:es</value>
|
||||
<value>locale:nl</value>
|
||||
<value>locale:fr</value>
|
||||
<value>locale:de</value>
|
||||
<value>locale:it</value>
|
||||
</choice>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- PartOf -->
|
||||
<define name="PartOf">
|
||||
<element name="PartOf">
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- Summary -->
|
||||
<define name="Summary">
|
||||
<element name="Summary">
|
||||
<ref name="attlist.Summary"/>
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
<!-- attlist.Summary -->
|
||||
<define name="attlist.Summary" combine="interleave">
|
||||
<optional>
|
||||
<attribute name="xml:lang"/>
|
||||
</optional>
|
||||
</define>
|
||||
|
||||
<!-- Description -->
|
||||
<define name="Description">
|
||||
<element name="Description">
|
||||
<ref name="attlist.Description"/>
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
<!-- attlist.Description -->
|
||||
<define name="attlist.Description" combine="interleave">
|
||||
<optional>
|
||||
<attribute name="xml:lang"/>
|
||||
</optional>
|
||||
</define>
|
||||
|
||||
<!-- Archive -->
|
||||
<define name="Archive">
|
||||
<element name="Archive">
|
||||
<ref name="attlist.Archive"/>
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
<!-- attlist.Archive -->
|
||||
<define name="attlist.Archive" combine="interleave">
|
||||
<group>
|
||||
<attribute name="sha1sum"/>
|
||||
<attribute name="type">
|
||||
<choice>
|
||||
<value>targz</value>
|
||||
<value>tarbz2</value>
|
||||
<value>tarlzma</value>
|
||||
<value>tar</value>
|
||||
<value>zip</value>
|
||||
<value>gzip</value>
|
||||
<value>binary</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</group>
|
||||
</define>
|
||||
|
||||
<!-- BuildDependencies -->
|
||||
<define name="BuildDependencies">
|
||||
<element name="BuildDependencies">
|
||||
<oneOrMore>
|
||||
<ref name="Dependency"/>
|
||||
</oneOrMore>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- Dependency -->
|
||||
<define name="Dependency">
|
||||
<element name="Dependency">
|
||||
<ref name="attlist.VersionReleaseToFrom"/>
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- attlist.VersionReleaseToFrom -->
|
||||
<define name="attlist.VersionReleaseToFrom">
|
||||
<group>
|
||||
<optional>
|
||||
<attribute name="versionFrom"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="versionTo"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="version"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="releaseFrom"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="releaseTo"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="release"/>
|
||||
</optional>
|
||||
</group>
|
||||
</define>
|
||||
|
||||
<!-- Patches -->
|
||||
<define name="Patches">
|
||||
<element name="Patches">
|
||||
<oneOrMore>
|
||||
<ref name="Patch"/>
|
||||
</oneOrMore>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- Patch -->
|
||||
<define name="Patch">
|
||||
<element name="Patch">
|
||||
<ref name="attlist.Patch"/>
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
<!-- attlist.Patch -->
|
||||
<define name="attlist.Patch" combine="interleave">
|
||||
<group>
|
||||
<optional>
|
||||
<attribute name="compressionType"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="level"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="target"/>
|
||||
</optional>
|
||||
</group>
|
||||
</define>
|
||||
|
||||
<!-- Provides -->
|
||||
<define name="Provides">
|
||||
<element name="Provides">
|
||||
<oneOrMore>
|
||||
<ref name="COMAR"/>
|
||||
</oneOrMore>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- COMAR -->
|
||||
<define name="COMAR">
|
||||
<element name="COMAR">
|
||||
<ref name="attlist.COMAR"/>
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
<!-- attlist.COMAR -->
|
||||
<define name="attlist.COMAR">
|
||||
<optional>
|
||||
<attribute name="script"/>
|
||||
</optional>
|
||||
</define>
|
||||
|
||||
<!-- Conflicts -->
|
||||
<define name="Conflicts">
|
||||
<element name="Conflicts">
|
||||
<oneOrMore>
|
||||
<ref name="Conflicts.Package"/>
|
||||
</oneOrMore>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<define name="Conflicts.Package">
|
||||
<element name="Package">
|
||||
<ref name="attlist.VersionReleaseToFrom"/>
|
||||
<text />
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- Replaces -->
|
||||
<define name="Replaces">
|
||||
<element name="Replaces">
|
||||
<oneOrMore>
|
||||
<ref name="Replaces.Package"/>
|
||||
</oneOrMore>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<define name="Replaces.Package">
|
||||
<element name="Package">
|
||||
<ref name="attlist.VersionReleaseToFrom"/>
|
||||
<text />
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- AdditionalFiles -->
|
||||
<define name="AdditionalFiles">
|
||||
<element name="AdditionalFiles">
|
||||
<oneOrMore>
|
||||
<ref name="AdditionalFile"/>
|
||||
</oneOrMore>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- AdditionalFile -->
|
||||
<define name="AdditionalFile">
|
||||
<element name="AdditionalFile">
|
||||
<ref name="attlist.AdditionalFile"/>
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
<!-- attlist.AdditionalFile -->
|
||||
<define name="attlist.AdditionalFile">
|
||||
<attribute name="target"/>
|
||||
<optional>
|
||||
<attribute name="permission"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="owner"/>
|
||||
</optional>
|
||||
</define>
|
||||
|
||||
<!-- RuntimeDependencies -->
|
||||
<define name="RuntimeDependencies">
|
||||
<element name="RuntimeDependencies">
|
||||
<oneOrMore>
|
||||
<ref name="Dependency"/>
|
||||
</oneOrMore>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- Files -->
|
||||
<define name="Files">
|
||||
<element name="Files">
|
||||
<oneOrMore>
|
||||
<ref name="Path"/>
|
||||
</oneOrMore>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- Path -->
|
||||
<define name="Path">
|
||||
<element name="Path">
|
||||
<ref name="attlist.Path"/>
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
<!-- attlist.Path -->
|
||||
<define name="attlist.Path" combine="interleave">
|
||||
<group>
|
||||
<attribute name="fileType">
|
||||
<choice>
|
||||
<value>executable</value>
|
||||
<value>library</value>
|
||||
<value>data</value>
|
||||
<value>config</value>
|
||||
<value>doc</value>
|
||||
<value>man</value>
|
||||
<value>info</value>
|
||||
<value>localedata</value>
|
||||
<value>header</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
<optional>
|
||||
<attribute name="permanent">
|
||||
<choice>
|
||||
<value>false</value>
|
||||
<value>true</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</optional>
|
||||
</group>
|
||||
</define>
|
||||
|
||||
|
||||
|
||||
<!-- Update -->
|
||||
<define name="Update">
|
||||
<element name="Update">
|
||||
<ref name="attlist.Update"/>
|
||||
<ref name="Date"/>
|
||||
<ref name="Version"/>
|
||||
<ref name="Comment"/>
|
||||
<ref name="Packager.Name"/>
|
||||
<ref name="Email"/>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- attlist.Update -->
|
||||
<define name="attlist.Update" combine="interleave">
|
||||
<attribute name="release"/>
|
||||
<optional>
|
||||
<attribute name="type">
|
||||
<choice>
|
||||
<value>security</value>
|
||||
<value>bug</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</optional>
|
||||
</define>
|
||||
|
||||
<!-- Date -->
|
||||
<define name="Date">
|
||||
<element name="Date">
|
||||
<data type="date" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- Version -->
|
||||
<define name="Version">
|
||||
<element name="Version">
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!-- Comment -->
|
||||
<define name="Comment">
|
||||
<element name="Comment">
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
</grammar>
|
||||
+11
-11
@@ -172,7 +172,7 @@ def xterm_title(message):
|
||||
terminalType = os.environ["TERM"]
|
||||
for term in ["xterm", "Eterm", "aterm", "rxvt", "screen", "kterm", "rxvt-unicode"]:
|
||||
if terminalType.startswith(term):
|
||||
sys.stderr.write("\x1b]2;"+str(message)+"\x07")
|
||||
sys.stderr.write("\x1b]2;"+unicode(message)+"\x07")
|
||||
sys.stderr.flush()
|
||||
break
|
||||
|
||||
@@ -241,9 +241,9 @@ def absolute_path(path):
|
||||
|
||||
def join_path(a, *p):
|
||||
"""Join two or more pathname components.
|
||||
|
||||
|
||||
Python os.path.join cannot handle '/' at the start of latter components.
|
||||
|
||||
|
||||
"""
|
||||
path = a
|
||||
for b in p:
|
||||
@@ -331,7 +331,7 @@ def clean_ar_timestamps(ar_file):
|
||||
# an unrelated problem
|
||||
def get_file_hashes(top, excludePrefix=None, removePrefix=None):
|
||||
"""Iterate over given path and return a list of file hashes.
|
||||
|
||||
|
||||
Generator function iterates over a toplevel path and returns the
|
||||
(filePath, sha1Hash) tuples for all files. If excludePrefixes list
|
||||
is given as a parameter, function will exclude the filePaths
|
||||
@@ -608,9 +608,9 @@ def package_name(name, version, release, build, prependSuffix=True):
|
||||
|
||||
def is_package_name(fn, package_name = None):
|
||||
"""Check if fn is a valid filename for given package_name.
|
||||
|
||||
|
||||
If not given a package name, see if fn fits the package name rules
|
||||
|
||||
|
||||
"""
|
||||
if (package_name==None) or fn.startswith(package_name + '-'):
|
||||
if fn.endswith(ctx.const.package_suffix):
|
||||
@@ -626,9 +626,9 @@ def is_package_name(fn, package_name = None):
|
||||
|
||||
def parse_package_name(package_name):
|
||||
"""Separate package name and version string.
|
||||
|
||||
|
||||
example: tasma-1.0.3-5-2 -> (tasma, 1.0.3-5-2)
|
||||
|
||||
|
||||
"""
|
||||
# We should handle package names like 855resolution
|
||||
name = []
|
||||
@@ -644,14 +644,14 @@ def parse_package_name(package_name):
|
||||
|
||||
def parse_delta_package_name(package_name):
|
||||
"""Separate delta package name and release infos
|
||||
|
||||
|
||||
example: tasma-5-7.pisi.delta -> (tasma, 5, 7)
|
||||
|
||||
|
||||
"""
|
||||
name, build = parse_package_name(package_name)
|
||||
build = build[:-len(ctx.const.delta_package_suffix)]
|
||||
buildFrom, buildTo = build.split("-")
|
||||
|
||||
|
||||
return name, buildFrom, buildTo
|
||||
|
||||
def filter_latest_packages(package_paths):
|
||||
|
||||
Reference in New Issue
Block a user