[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