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"/> <ref name="Description"/>
</zeroOrMore> </zeroOrMore>
<ref name="Archive"/> <ref name="Archive"/>
<optional>
<ref name="AdditionalFiles"/>
</optional>
<optional> <optional>
<ref name="BuildDependencies"/> <ref name="BuildDependencies"/>
</optional> </optional>
+14 -2
View File
@@ -262,6 +262,9 @@ class Builder:
self.fetch_source_archive() self.fetch_source_archive()
self.unpack_source_archive() self.unpack_source_archive()
# Grab AdditionalFiles
self.copy_additional_source_files()
self.run_setup_action() self.run_setup_action()
self.run_build_action() self.run_build_action()
if ctx.get_option('debug') and not ctx.get_option('ignore_check'): 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)) self.download(comaruri, pisi.util.join_path(self.destdir, ctx.const.comar_dir))
def fetch_additionalFiles(self): def fetch_additionalFiles(self):
spec = self.spec for pkg in self.spec.packages + self.spec.source:
for pkg in spec.packages:
for afile in pkg.additionalFiles: for afile in pkg.additionalFiles:
file_name = os.path.basename(afile.filename) file_name = os.path.basename(afile.filename)
dir_name = os.path.dirname(afile.filename) dir_name = os.path.dirname(afile.filename)
@@ -456,6 +458,16 @@ class Builder:
return abandoned_files 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): def compile_action_script(self):
"""Compiles given actions.py to check syntax error in it and sets the actionLocals and actionGlobals""" """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) fname = pisi.util.join_path(self.specdir, ctx.const.actions_file)
+2 -1
View File
@@ -149,7 +149,7 @@ class ComarProvide:
class Archive: class Archive:
s_uri = [ autoxml.String, autoxml.mandatory ] s_uri = [ autoxml.String, autoxml.mandatory ]
a_type =[ autoxml.String, autoxml.mandatory ] a_type = [ autoxml.String, autoxml.mandatory ]
a_sha1sum =[ autoxml.String, autoxml.mandatory ] a_sha1sum =[ autoxml.String, autoxml.mandatory ]
def decode_hook(self, node, errs, where): def decode_hook(self, node, errs, where):
@@ -172,6 +172,7 @@ class Source:
t_Description = [autoxml.LocalText, autoxml.optional] t_Description = [autoxml.LocalText, autoxml.optional]
t_Icon = [ autoxml.String, autoxml.optional] t_Icon = [ autoxml.String, autoxml.optional]
t_Archive = [Archive, autoxml.mandatory ] t_Archive = [Archive, autoxml.mandatory ]
t_AdditionalFiles = [ [AdditionalFile], autoxml.optional]
t_BuildDependencies = [ [pisi.dependency.Dependency], autoxml.optional] t_BuildDependencies = [ [pisi.dependency.Dependency], autoxml.optional]
t_Patches = [ [Patch], autoxml.optional] t_Patches = [ [Patch], autoxml.optional]
t_Version = [ autoxml.String, autoxml.optional] t_Version = [ autoxml.String, autoxml.optional]