[Erp5-report] r42756 kazuhiko - in /erp5/trunk/utils/erp5.recipe.w3validator: ./ src/ src/e...

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Jan 28 21:33:24 CET 2011


Author: kazuhiko
Date: Fri Jan 28 21:33:24 2011
New Revision: 42756

URL: http://svn.erp5.org?rev=42756&view=rev
Log:
add a recipe to install w3c markup validator.

Added:
    erp5/trunk/utils/erp5.recipe.w3validator/
    erp5/trunk/utils/erp5.recipe.w3validator/CHANGES.txt   (with props)
    erp5/trunk/utils/erp5.recipe.w3validator/README.txt   (with props)
    erp5/trunk/utils/erp5.recipe.w3validator/setup.py
    erp5/trunk/utils/erp5.recipe.w3validator/src/
    erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/
    erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/
    erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/PKG-INFO
    erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/SOURCES.txt   (with props)
    erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/dependency_links.txt   (with props)
    erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/entry_points.txt   (with props)
    erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/namespace_packages.txt   (with props)
    erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/requires.txt   (with props)
    erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/top_level.txt   (with props)
    erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/__init__.py
    erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/recipe/
    erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/recipe/__init__.py
    erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/recipe/w3validator/
    erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/recipe/w3validator/__init__.py

Added: erp5/trunk/utils/erp5.recipe.w3validator/CHANGES.txt
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.w3validator/CHANGES.txt?rev=42756&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.w3validator/CHANGES.txt (added)
+++ erp5/trunk/utils/erp5.recipe.w3validator/CHANGES.txt [utf8] Fri Jan 28 21:33:24 2011
@@ -0,0 +1,8 @@
+Changelog
+=========
+
+1.0.0 (2011-01-28)
+------------------
+
+- Initial version
+

Propchange: erp5/trunk/utils/erp5.recipe.w3validator/CHANGES.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: erp5/trunk/utils/erp5.recipe.w3validator/README.txt
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.w3validator/README.txt?rev=42756&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.w3validator/README.txt (added)
+++ erp5/trunk/utils/erp5.recipe.w3validator/README.txt [utf8] Fri Jan 28 21:33:24 2011
@@ -0,0 +1,35 @@
+Introduction
+============
+
+This recipe installs W3C Markup Validator http://validator.w3.org/source/.
+
+Example
+=======
+
+You can use it with a part like this::
+
+  [w3-validator]
+  recipe = erp5.recipe.w3validator
+
+Options
+=======
+
+validator-url
+
+   The URL of the validator tarball. The default is:
+   http://validator.w3.org/validator.tar.gz
+
+dtd-url
+
+   The URL of the DTD library tarball. The default is:
+   http://validator.w3.org/sgml-lib.tar.gz
+
+perl-path
+
+   The location of 'perl' interpreter. The default is:
+   /usr/bin/perl
+
+config-path
+
+   The location of the configuration file. The default is the
+   automatically created one.

Propchange: erp5/trunk/utils/erp5.recipe.w3validator/README.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: erp5/trunk/utils/erp5.recipe.w3validator/setup.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.w3validator/setup.py?rev=42756&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.w3validator/setup.py (added)
+++ erp5/trunk/utils/erp5.recipe.w3validator/setup.py [utf8] Fri Jan 28 21:33:24 2011
@@ -0,0 +1,36 @@
+from setuptools import setup, find_packages
+
+name = "erp5.recipe.w3validator"
+version = '1.0.0'
+
+def read(name):
+    return open(name).read()
+
+long_description=( read('README.txt')
+                   + '\n' +
+                   read('CHANGES.txt')
+                 )
+
+setup(
+    name = name,
+    version = version,
+    author = "Kazuhiko Shiozaki",
+    author_email = "kazuhiko at nexedi.com",
+    description = "Buildout recipe to install w3 validator",
+    long_description=long_description,
+    license = "ZPL 2.1",
+    keywords = "mysql server buildout",
+    classifiers=[
+        "License :: OSI Approved :: Zope Public License",
+        "Framework :: Buildout",
+        ],
+    packages = find_packages('src'),
+    package_dir = {'': 'src'},
+    include_package_data = True,
+    install_requires = [
+      'setuptools',
+      'zc.recipe.egg',
+      ],
+    namespace_packages = ['erp5', 'erp5.recipe'],
+    entry_points = {'zc.buildout': ['default = %s:Recipe' % name]},
+    )

Added: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/PKG-INFO
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/PKG-INFO?rev=42756&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/PKG-INFO (added)
+++ erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/PKG-INFO [utf8] Fri Jan 28 21:33:24 2011
@@ -0,0 +1,57 @@
+Metadata-Version: 1.0
+Name: erp5.recipe.w3validator
+Version: 1.0.0
+Summary: Buildout recipe to install w3 validator
+Home-page: UNKNOWN
+Author: Kazuhiko Shiozaki
+Author-email: kazuhiko at nexedi.com
+License: ZPL 2.1
+Description: Introduction
+        ============
+        
+        This recipe installs W3C Markup Validator http://validator.w3.org/source/.
+        
+        Example
+        =======
+        
+        You can use it with a part like this::
+        
+          [w3-validator]
+          recipe = erp5.recipe.w3validator
+        
+        Options
+        =======
+        
+        validator-url
+        
+           The URL of the validator tarball. The default is:
+           http://validator.w3.org/validator.tar.gz
+        
+        dtd-url
+        
+           The URL of the DTD library tarball. The default is:
+           http://validator.w3.org/sgml-lib.tar.gz
+        
+        perl-path
+        
+           The location of 'perl' interpreter. The default is:
+           /usr/bin/perl
+        
+        config-path
+        
+           The location of the configuration file. The default is the
+           automatically created one.
+        
+        Changelog
+        =========
+        
+        1.0.0 (2011-01-28)
+        ------------------
+        
+        - Initial version
+        
+        
+Keywords: mysql server buildout
+Platform: UNKNOWN
+Classifier: License :: OSI Approved :: Zope Public License
+Classifier: Framework :: Buildout

Added: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/SOURCES.txt
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/SOURCES.txt?rev=42756&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/SOURCES.txt (added)
+++ erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/SOURCES.txt [utf8] Fri Jan 28 21:33:24 2011
@@ -0,0 +1,13 @@
+CHANGES.txt
+README.txt
+setup.py
+src/erp5/__init__.py
+src/erp5.recipe.w3validator.egg-info/PKG-INFO
+src/erp5.recipe.w3validator.egg-info/SOURCES.txt
+src/erp5.recipe.w3validator.egg-info/dependency_links.txt
+src/erp5.recipe.w3validator.egg-info/entry_points.txt
+src/erp5.recipe.w3validator.egg-info/namespace_packages.txt
+src/erp5.recipe.w3validator.egg-info/requires.txt
+src/erp5.recipe.w3validator.egg-info/top_level.txt
+src/erp5/recipe/__init__.py
+src/erp5/recipe/w3validator/__init__.py
\ No newline at end of file

Propchange: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/SOURCES.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/dependency_links.txt
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/dependency_links.txt?rev=42756&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/dependency_links.txt (added)
+++ erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/dependency_links.txt [utf8] Fri Jan 28 21:33:24 2011
@@ -0,0 +1 @@
+

Propchange: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/dependency_links.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/entry_points.txt
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/entry_points.txt?rev=42756&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/entry_points.txt (added)
+++ erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/entry_points.txt [utf8] Fri Jan 28 21:33:24 2011
@@ -0,0 +1,3 @@
+[zc.buildout]
+default = erp5.recipe.w3validator:Recipe
+

Propchange: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/entry_points.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/namespace_packages.txt
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/namespace_packages.txt?rev=42756&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/namespace_packages.txt (added)
+++ erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/namespace_packages.txt [utf8] Fri Jan 28 21:33:24 2011
@@ -0,0 +1,2 @@
+erp5
+erp5.recipe

Propchange: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/namespace_packages.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/requires.txt
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/requires.txt?rev=42756&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/requires.txt (added)
+++ erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/requires.txt [utf8] Fri Jan 28 21:33:24 2011
@@ -0,0 +1,2 @@
+setuptools
+zc.recipe.egg
\ No newline at end of file

Propchange: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/requires.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/top_level.txt
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/top_level.txt?rev=42756&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/top_level.txt (added)
+++ erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/top_level.txt [utf8] Fri Jan 28 21:33:24 2011
@@ -0,0 +1 @@
+erp5

Propchange: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5.recipe.w3validator.egg-info/top_level.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/__init__.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/__init__.py?rev=42756&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/__init__.py (added)
+++ erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/__init__.py [utf8] Fri Jan 28 21:33:24 2011
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+    __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+    from pkgutil import extend_path
+    __path__ = extend_path(__path__, __name__) 

Added: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/recipe/__init__.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/recipe/__init__.py?rev=42756&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/recipe/__init__.py (added)
+++ erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/recipe/__init__.py [utf8] Fri Jan 28 21:33:24 2011
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+    __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+    from pkgutil import extend_path
+    __path__ = extend_path(__path__, __name__) 

Added: erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/recipe/w3validator/__init__.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/recipe/w3validator/__init__.py?rev=42756&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/recipe/w3validator/__init__.py (added)
+++ erp5/trunk/utils/erp5.recipe.w3validator/src/erp5/recipe/w3validator/__init__.py [utf8] Fri Jan 28 21:33:24 2011
@@ -0,0 +1,84 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2011 Nexedi SA and Contributors. All Rights Reserved.
+# Copyright (c) 2006-2008 Zope Corporation and Contributors.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+
+import os
+import shutil
+import logging
+import zc.recipe.egg
+from zc.buildout.download import Download
+
+class Recipe(object):
+  def __init__(self, buildout, name, options):
+    self.buildout, self.options, self.name = buildout, options, name
+    self.egg = zc.recipe.egg.Egg(buildout, options['recipe'], options)
+    self.logger=logging.getLogger(self.name)
+    options['location'] = os.path.join(
+        buildout['buildout']['parts-directory'],
+        self.name)
+    options.setdefault('validator-url',
+                       'http://validator.w3.org/validator.tar.gz')
+    options.setdefault('dtd-url',
+                       'http://validator.w3.org/sgml-lib.tar.gz')
+    options.setdefault('perl-path',
+                       '/usr/bin/perl')
+    options.setdefault('config-path',
+                       '')
+
+  def install(self):
+    options = self.options
+    location = options['location']
+    if os.path.exists(location):
+      shutil.rmtree(location)
+    os.mkdir(location)
+    os.chdir(location)
+
+    # download and extract tarballs
+    for url in (options['validator-url'], options['dtd-url']):
+      download_file, is_temp = Download(self.buildout['buildout'],
+                                        logger=self.logger)(url)
+      status = os.system('tar xzf ' + download_file)
+      assert status == 0
+      if is_temp:
+        os.remove(download_file)
+
+    dir_name = [x for x in os.listdir('.') if os.path.isdir(x)][0]
+    assert dir_name.startswith('validator')
+    for i in os.listdir(dir_name):
+      shutil.move(os.path.join(dir_name, i), i)
+    os.rmdir(dir_name)
+
+    # modify cgi script
+    cgi_path = os.path.join(location, 'httpd', 'cgi-bin', 'check')
+    cgi = file(cgi_path).read()
+    cgi = cgi.replace('#!/usr/bin/perl', '#!%s' % options['perl-path'])
+    default_config_path = os.path.join(location, 'htdocs', 'config',
+                                       'validator.conf')
+    cgi = cgi.replace('/etc/w3c/validator.conf',
+                options['config-path'] or \
+                default_config_path)
+    file(cgi_path, 'w').write(cgi)
+
+    # modify config file
+    if not options['config-path']:
+      config_path = default_config_path
+      config = file(config_path).read()
+      config = config.replace('#Base = /usr/local/validator',
+                     'Base = %s' % location)
+      file(config_path, 'w').write(config)
+
+    return [location,]
+
+  def update(self):
+    pass



More information about the Erp5-report mailing list