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"/>
|
<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>
|
||||||
|
|||||||
@@ -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
@@ -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]
|
||||||
|
|||||||
Reference in New Issue
Block a user