diff options
-rw-r--r-- | admin/package.xml | 84 | ||||
-rw-r--r-- | admin/package2.xml | 72 | ||||
-rw-r--r-- | admin/packagexml.py | 34 | ||||
-rw-r--r-- | admin/xmlconfig.py | 5 |
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' |