summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--admin/package.xml84
-rw-r--r--admin/package2.xml72
-rw-r--r--admin/packagexml.py34
-rw-r--r--admin/xmlconfig.py5
4 files changed, 118 insertions, 77 deletions
diff --git a/admin/package.xml b/admin/package.xml
index 0be1909..08263d4 100644
--- a/admin/package.xml
+++ b/admin/package.xml
@@ -1,72 +1,22 @@
-<?xml version="1.0"?>
-<package version="2.0" xmlns="http://pear.php.net/dtd/package-2.0"
- xmlns:tasks="http://pear.php.net/dtd/tasks-1.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
-http://pear.php.net/dtd/tasks-1.0.xsd
-http://pear.php.net/dtd/package-2.0
-http://pear.php.net/dtd/package-2.0.xsd">
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<package version="1.0">
<name>%(package_name)s</name>
- <uri>%(uri)s</uri>
<summary>%(package_summary)s</summary>
<description>
- %(package_description)s
+ %(package_description)s
</description>
- %(leads)s
- <date>%(date)s</date>
- <version>
- <release>%(version)s</release>
- <api>%(version)s</api>
- </version>
- <stability>
- <release>%(release_stability)s</release>
- <api>%(release_stability)s</api>
- </stability>
- <license uri="%(license_uri)s">%(license_name)s</license>
- <notes>
- <!-- Release-specific notes should go here. -->
- </notes>
- <contents>
- %(contents)s
- </contents>
- <dependencies>
- <required>
- <php>
- <min>4.3.0</min>
- </php>
- <pearinstaller>
- <min>1.4.5</min>
- </pearinstaller>
- </required>
- <optional>
- <package>
- <name>PHPUnit</name>
- <channel>pear.php.net</channel>
- <min>1.1.1</min>
- </package>
- <package>
- <name>PEAR_DB</name>
- <channel>pear.php.net</channel>
- <min>1.80</min>
- </package>
- <extension>
- <name>pgsql</name>
- </extension>
- <extension>
- <name>mysql</name>
- </extension>
- <extension>
- <name>sqlite</name>
- </extension>
- <extension>
- <name>bcmath</name>
- </extension>
- <extension>
- <name>gmp</name>
- </extension>
- </optional>
- </dependencies>
- <!-- There really isn't much we should put in the phprelease tag,
- although we should probably make a windows-specific release tag. -->
- <phprelease/>
+ <license>%(license_name)s</license>
+ %(maintainers)s
+ <release>
+ <version>%(version)s</version>
+ <date>%(date)s</date>
+ <state>%(release_stability)s</state>
+ <notes>
+ <!-- Release notes here. -->
+ </notes>
+ %(contents_version_1)s
+ </release>
+ <deps>
+ <dep type="php" rel="ge" version="4.2.0" />
+ </deps>
</package>
diff --git a/admin/package2.xml b/admin/package2.xml
new file mode 100644
index 0000000..3a6cf35
--- /dev/null
+++ b/admin/package2.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+<package version="2.0" xmlns="http://pear.php.net/dtd/package-2.0"
+ xmlns:tasks="http://pear.php.net/dtd/tasks-1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
+http://pear.php.net/dtd/tasks-1.0.xsd
+http://pear.php.net/dtd/package-2.0
+http://pear.php.net/dtd/package-2.0.xsd">
+ <name>%(package_name)s</name>
+ <uri>%(uri)s</uri>
+ <summary>%(package_summary)s</summary>
+ <description>
+ %(package_description)s
+ </description>
+ %(leads)s
+ <date>%(date)s</date>
+ <version>
+ <release>%(version)s</release>
+ <api>%(version)s</api>
+ </version>
+ <stability>
+ <release>%(release_stability)s</release>
+ <api>%(release_stability)s</api>
+ </stability>
+ <license uri="%(license_uri)s">%(license_name)s</license>
+ <notes>
+ <!-- Release-specific notes should go here. -->
+ </notes>
+ <contents>
+ %(contents)s
+ </contents>
+ <dependencies>
+ <required>
+ <php>
+ <min>4.2.0</min>
+ </php>
+ <pearinstaller>
+ <min>1.4.5</min>
+ </pearinstaller>
+ </required>
+ <optional>
+ <package>
+ <name>PHPUnit</name>
+ <channel>pear.php.net</channel>
+ <min>1.1.1</min>
+ </package>
+ <package>
+ <name>PEAR_DB</name>
+ <channel>pear.php.net</channel>
+ <min>1.80</min>
+ </package>
+ <extension>
+ <name>pgsql</name>
+ </extension>
+ <extension>
+ <name>mysql</name>
+ </extension>
+ <extension>
+ <name>sqlite</name>
+ </extension>
+ <extension>
+ <name>bcmath</name>
+ </extension>
+ <extension>
+ <name>gmp</name>
+ </extension>
+ </optional>
+ </dependencies>
+ <!-- There really isn't much we should put in the phprelease tag,
+ although we should probably make a windows-specific release tag. -->
+ <phprelease/>
+</package>
diff --git a/admin/packagexml.py b/admin/packagexml.py
index b231c4a..89e30dc 100644
--- a/admin/packagexml.py
+++ b/admin/packagexml.py
@@ -3,6 +3,20 @@
import os
import os.path
+def makeMaintainerXML(leads):
+ maintainer_template = """
+ <maintainer>
+ <user>%(user)s</user>
+ <name>%(name)s</name>
+ <email>%(email)s</email>
+ <role>lead</role>
+ </maintainer>
+ """
+
+ return "<maintainers>" + \
+ "".join([maintainer_template % l for l in leads]) + \
+ "</maintainers>"
+
def makeLeadXML(leads):
lead_template = """
<lead>
@@ -85,9 +99,12 @@ if __name__ == "__main__":
print "Could not import XML configuration module xmlconfig"
sys.exit(1)
+ # Expect sys.argv[2] to be the name of the XML file template to
+ # use for processing.
try:
- template_f = open(xmlconfig.template, 'r')
+ template_f = open(sys.argv[2], 'r')
except Exception, e:
+ print "Usage: %s <package version> <xml template file>" % (sys.argv[0])
print "Could not open template file:", str(e)
sys.exit(1)
@@ -96,17 +113,24 @@ if __name__ == "__main__":
try:
version = sys.argv[1]
except:
- print "Usage: %s <package version>" % (sys.argv[0])
+ print "Usage: %s <package version> <xml template file>" % (sys.argv[0])
sys.exit(2)
data = xmlconfig.__dict__.copy()
- contents = '<dir name="/">\n' + \
- buildContentsXML({'php': 'php'}, *xmlconfig.contents_dirs) + \
- "\n" + buildDocsXML(*xmlconfig.docs_dirs) + '\n </dir>'
+ contentsXml = buildContentsXML({'php': 'php'}, *xmlconfig.contents_dirs)
+ docsXml = buildDocsXML(*xmlconfig.docs_dirs)
+
+ contents = '<dir name="/">\n' + contentsXml + \
+ "\n" + docsXml + '\n </dir>'
+
+ contents_v1 = '<filelist><dir name="/" baseinstalldir="Auth">\n' + contentsXml + \
+ "\n" + docsXml + '\n </dir></filelist>'
data['contents'] = contents
+ data['contents_version_1'] = contents_v1
data['leads'] = makeLeadXML(xmlconfig.leads)
+ data['maintainers'] = makeMaintainerXML(xmlconfig.leads)
data['date'] = time.strftime("%Y-%m-%d")
data['version'] = version
data['uri'] = "%s%s-%s.tgz" % (data['package_base_uri'], data['package_name'],
diff --git a/admin/xmlconfig.py b/admin/xmlconfig.py
index d7d4c30..5ebfee6 100644
--- a/admin/xmlconfig.py
+++ b/admin/xmlconfig.py
@@ -18,11 +18,6 @@ leads = [
'active': 'yes'}
]
-# This is the XML file containing %(...)s formatters. You'll probably
-# never want to change this unless you make a copy of package.xml and
-# change it somehow.
-template = 'package.xml'
-
# The package name.
package_name = 'Auth_OpenID'