[Erp5-report] r33009 nicolas.dumazet - in /erp5/trunk/utils/rpmgen: ./ recipes/createmandri...

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Feb 23 12:54:23 CET 2010


Author: nicolas.dumazet
Date: Tue Feb 23 12:54:19 2010
New Revision: 33009

URL: http://svn.erp5.org?rev=33009&view=rev
Log:
Use a Makefile to do what we can't in buildout. Merge all *.cfg in one

Added:
    erp5/trunk/utils/rpmgen/buildout.cfg
      - copied, changed from r33000, erp5/trunk/utils/rpmgen/user.cfg
Removed:
    erp5/trunk/utils/rpmgen/common.cfg
    erp5/trunk/utils/rpmgen/root.cfg
    erp5/trunk/utils/rpmgen/user.cfg
Modified:
    erp5/trunk/utils/rpmgen/Makefile
    erp5/trunk/utils/rpmgen/recipes/createmandrivaspec/createmandrivaspec.py

Modified: erp5/trunk/utils/rpmgen/Makefile
URL: http://svn.erp5.org/erp5/trunk/utils/rpmgen/Makefile?rev=33009&r1=33008&r2=33009&view=diff
==============================================================================
--- erp5/trunk/utils/rpmgen/Makefile [utf8] (original)
+++ erp5/trunk/utils/rpmgen/Makefile [utf8] Tue Feb 23 12:54:19 2010
@@ -1,7 +1,21 @@
-all: bin/buildout
-	bin/buildout -c user.cfg
-	bin/buildout -c root.cfg
+VERSION=$(shell cat parts/checkout/VERSION.txt)
+DEST=/opt/erp5/${VERSION}
+
+all: specs/*.spec
+	# recursive call to reevaluate VERSION variable
+	sudo $(MAKE) root_needed
+
+root_needed:
+	rm -Rf ${DEST}
+	mkdir -p ${DEST}
+	cp -r parts/checkout/* ${DEST}
+
+specs/*.spec: run_buildout
+parts/checkout/VERSION.txt: run_buildout
+
+run_buildout: bin/buildout
+	bin/buildout
 
 bin/buildout:
-	python bootstrap/bootstrap.py -c common.cfg
+	python bootstrap/bootstrap.py
 

Copied: erp5/trunk/utils/rpmgen/buildout.cfg (from r33000, erp5/trunk/utils/rpmgen/user.cfg)
URL: http://svn.erp5.org/erp5/trunk/utils/rpmgen/buildout.cfg?p2=erp5/trunk/utils/rpmgen/buildout.cfg&p1=erp5/trunk/utils/rpmgen/user.cfg&r1=33000&r2=33009&rev=33009&view=diff
==============================================================================
--- erp5/trunk/utils/rpmgen/user.cfg [utf8] (original)
+++ erp5/trunk/utils/rpmgen/buildout.cfg [utf8] Tue Feb 23 12:54:19 2010
@@ -1,11 +1,14 @@
 [buildout]
-extends = common.cfg
 parts =
   checkout
   create-spec
 develop =
   recipes/createmandrivaspec
 
+[checkout]
+recipe = infrae.subversion
+urls =
+  https://svn.erp5.org/repos/public/erp5/trunk/buildout .
 
 [create-spec]
 recipe = createmandrivaspec

Removed: erp5/trunk/utils/rpmgen/common.cfg
URL: http://svn.erp5.org/erp5/trunk/utils/rpmgen/common.cfg?rev=33008&view=auto
==============================================================================
--- erp5/trunk/utils/rpmgen/common.cfg [utf8] (original)
+++ erp5/trunk/utils/rpmgen/common.cfg (removed)
@@ -1,11 +1,0 @@
-[version]
-# XXX should be retrieved automatically
-version = 5.4.6
-
-[checkout]
-recipe = plone.recipe.command
-location = svn
-command =
-  svn co https://svn.erp5.org/repos/public/erp5/trunk/buildout ${:location}
-update_command =
-  svn up ${:location}

Modified: erp5/trunk/utils/rpmgen/recipes/createmandrivaspec/createmandrivaspec.py
URL: http://svn.erp5.org/erp5/trunk/utils/rpmgen/recipes/createmandrivaspec/createmandrivaspec.py?rev=33009&r1=33008&r2=33009&view=diff
==============================================================================
--- erp5/trunk/utils/rpmgen/recipes/createmandrivaspec/createmandrivaspec.py [utf8] (original)
+++ erp5/trunk/utils/rpmgen/recipes/createmandrivaspec/createmandrivaspec.py [utf8] Tue Feb 23 12:54:19 2010
@@ -2,7 +2,7 @@
 from subprocess import Popen, PIPE
 import collective.recipe.template
 
-class Recipe(collective.recipe.template.Recipe):
+class Recipe(object):
   def __init__(self, buildout, name, options):
     """
       Create a Mandriva RPM spec file from a template
@@ -18,20 +18,33 @@
         - release: rpm release number. Defaults to 1
     """
 
-    process = Popen([options['helper_script'], "-l"], stdout=PIPE)
+    self.options = options
+    self.buildout = buildout
+
+  def install(self):
+    process = Popen([self.options['helper_script'], "-l"], stdout=PIPE)
     stdout, stderr = process.communicate()
 
     package_list = stdout.splitlines()
     package_list = map(lambda x: x.strip(), package_list)
     dependencies = ["BuildRequires: %s" % pkg for pkg in package_list if pkg]
 
-    version = options['version'].strip()
+    version = self.options['version'].strip()
     if os.path.exists(version):
       version = open(version, 'r').read().strip()
 
-    release = options.get('release', str(1))
+    release = self.options.get('release', str(1))
 
-    options.update(dependencies="\n".join(dependencies),
+    self.options.update(dependencies="\n".join(dependencies),
                    version=version,
                    release=release)
-    collective.recipe.template.Recipe.__init__(self, buildout, name, options)
+
+    template = collective.recipe.template.Recipe(self.buildout,
+                                                 'ignored',
+                                                 self.options)
+    return template.install()
+
+  def update(self):
+    os.unlink(os.path.join(self.buildout['buildout']['directory'],
+                           self.options['output']))
+    self.install()

Removed: erp5/trunk/utils/rpmgen/root.cfg
URL: http://svn.erp5.org/erp5/trunk/utils/rpmgen/root.cfg?rev=33008&view=auto
==============================================================================
--- erp5/trunk/utils/rpmgen/root.cfg [utf8] (original)
+++ erp5/trunk/utils/rpmgen/root.cfg (removed)
@@ -1,13 +1,0 @@
-[buildout]
-extends = common.cfg
-parts =
-  create-build-directory
-
-[create-build-directory]
-recipe = plone.recipe.command
-base = /opt/erp5
-location = ${:base}/${version:version}
-command =
-  mkdir -p ${:base}
-  cp -r ${checkout:location} ${:location}
-

Removed: erp5/trunk/utils/rpmgen/user.cfg
URL: http://svn.erp5.org/erp5/trunk/utils/rpmgen/user.cfg?rev=33008&view=auto
==============================================================================
--- erp5/trunk/utils/rpmgen/user.cfg [utf8] (original)
+++ erp5/trunk/utils/rpmgen/user.cfg (removed)
@@ -1,20 +1,0 @@
-[buildout]
-extends = common.cfg
-parts =
-  checkout
-  create-spec
-develop =
-  recipes/createmandrivaspec
-
-
-[create-spec]
-recipe = createmandrivaspec
-name = erp5-official-buildout
-input = templates/${:base}.in
-output = specs/${:base}
-
-version = ${checkout:location}/VERSION.txt
-helper_script = ${checkout:location}/helpers/mandriva2010.0.sh
-
-# only a helper variable
-base = erp5-official-buildout-mandriva2010.spec




More information about the Erp5-report mailing list