Feature: Use <AdditionalFiles> in <Source> tags

Example:

<Source>
  ..
  ..
  ..
  <Archive ..>http://www.kernel.org/linux-2.6.32.tar.bz2</Archive>
  <AdditionalFiles>
   <AdditionalFile target="configs/kernel-i686-config">configs/kernel-i686-config</AdditionalFile>
   <AdditionalFile target="configs/kernel-x86_64-config">configs/kernel-x86_64-config</AdditionalFile>
   <AdditionalFile permission="0755" target="config.sh">configs/config.sh</AdditionalFile>
  </AdditionalFiles>
</Source>
This commit is contained in:
Ozan Çağlayan
2010-02-20 10:30:28 +00:00
parent 14d16b4452
commit 4fa7e142b5
3 changed files with 19 additions and 3 deletions
+3
View File
@@ -49,6 +49,9 @@
<ref name="Description"/>
</zeroOrMore>
<ref name="Archive"/>
<optional>
<ref name="AdditionalFiles"/>
</optional>
<optional>
<ref name="BuildDependencies"/>
</optional>
+14 -2
View File
@@ -262,6 +262,9 @@ class Builder:
self.fetch_source_archive()
self.unpack_source_archive()
# Grab AdditionalFiles
self.copy_additional_source_files()
self.run_setup_action()
self.run_build_action()
if ctx.get_option('debug') and not ctx.get_option('ignore_check'):
@@ -350,8 +353,7 @@ class Builder:
self.download(comaruri, pisi.util.join_path(self.destdir, ctx.const.comar_dir))
def fetch_additionalFiles(self):
spec = self.spec
for pkg in spec.packages:
for pkg in self.spec.packages + self.spec.source:
for afile in pkg.additionalFiles:
file_name = os.path.basename(afile.filename)
dir_name = os.path.dirname(afile.filename)
@@ -456,6 +458,16 @@ class Builder:
return abandoned_files
def copy_additional_source_files(self):
# store additional files
for afile in self.spec.source.additionalFiles:
src = os.path.join(self.specdir, ctx.const.files_dir, afile.filename)
dest = os.path.join(self.srcDir, afile.target)
pisi.util.copy_file(src, dest)
if afile.permission:
# mode is octal!
os.chmod(dest, int(afile.permission, 8))
def compile_action_script(self):
"""Compiles given actions.py to check syntax error in it and sets the actionLocals and actionGlobals"""
fname = pisi.util.join_path(self.specdir, ctx.const.actions_file)
+2 -1
View File
@@ -149,7 +149,7 @@ class ComarProvide:
class Archive:
s_uri = [ autoxml.String, autoxml.mandatory ]
a_type =[ autoxml.String, autoxml.mandatory ]
a_type = [ autoxml.String, autoxml.mandatory ]
a_sha1sum =[ autoxml.String, autoxml.mandatory ]
def decode_hook(self, node, errs, where):
@@ -172,6 +172,7 @@ class Source:
t_Description = [autoxml.LocalText, autoxml.optional]
t_Icon = [ autoxml.String, autoxml.optional]
t_Archive = [Archive, autoxml.mandatory ]
t_AdditionalFiles = [ [AdditionalFile], autoxml.optional]
t_BuildDependencies = [ [pisi.dependency.Dependency], autoxml.optional]
t_Patches = [ [Patch], autoxml.optional]
t_Version = [ autoxml.String, autoxml.optional]