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:
@@ -49,6 +49,9 @@
|
||||
<ref name="Description"/>
|
||||
</zeroOrMore>
|
||||
<ref name="Archive"/>
|
||||
<optional>
|
||||
<ref name="AdditionalFiles"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="BuildDependencies"/>
|
||||
</optional>
|
||||
|
||||
@@ -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
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user