Add owner and group attributes to AdditionalFile tag.
example:
<AdditionalFiles>
<AdditionalFile owner="apache" group="apache" permission="0644" target="/etc/apache.conf">apache.conf</AdditionalFile>
</AdditionalFiles>
This commit is contained in:
@@ -18,6 +18,8 @@ import glob
|
|||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
from os.path import basename, dirname
|
from os.path import basename, dirname
|
||||||
from stat import S_IMODE
|
from stat import S_IMODE
|
||||||
|
from pwd import getpwnam
|
||||||
|
from grp import getgrnam
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
__trans = gettext.translation('pisi', fallback=True)
|
__trans = gettext.translation('pisi', fallback=True)
|
||||||
@@ -786,6 +788,16 @@ class Builder:
|
|||||||
if afile.permission:
|
if afile.permission:
|
||||||
# mode is octal!
|
# mode is octal!
|
||||||
os.chmod(dest, int(afile.permission, 8))
|
os.chmod(dest, int(afile.permission, 8))
|
||||||
|
if afile.owner:
|
||||||
|
try:
|
||||||
|
os.chown(dest, getpwnam(afile.owner)[2], -1)
|
||||||
|
except KeyError:
|
||||||
|
ctx.ui.warning(_("No user named '%s' found on the system") % afile.owner)
|
||||||
|
if afile.group:
|
||||||
|
try:
|
||||||
|
os.chown(dest, -1, getgrnam(afile.group)[2])
|
||||||
|
except KeyError:
|
||||||
|
ctx.ui.warning(_("No group named '%s' found on the system") % afile.group)
|
||||||
os.chdir(c)
|
os.chdir(c)
|
||||||
|
|
||||||
ctx.ui.action(_("** Building package %s") % package.name);
|
ctx.ui.action(_("** Building package %s") % package.name);
|
||||||
|
|||||||
+2
-1
@@ -55,6 +55,8 @@ class AdditionalFile:
|
|||||||
s_Filename = [autoxml.String, autoxml.mandatory]
|
s_Filename = [autoxml.String, autoxml.mandatory]
|
||||||
a_target = [autoxml.String, autoxml.mandatory]
|
a_target = [autoxml.String, autoxml.mandatory]
|
||||||
a_permission = [autoxml.String, autoxml.optional]
|
a_permission = [autoxml.String, autoxml.optional]
|
||||||
|
a_owner = [autoxml.String, autoxml.optional]
|
||||||
|
a_group = [autoxml.String, autoxml.optional]
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
s = "%s -> %s " % (self.filename, self.target)
|
s = "%s -> %s " % (self.filename, self.target)
|
||||||
@@ -62,7 +64,6 @@ class AdditionalFile:
|
|||||||
s += '(%s)' % self.permission
|
s += '(%s)' % self.permission
|
||||||
return s
|
return s
|
||||||
|
|
||||||
|
|
||||||
class Patch:
|
class Patch:
|
||||||
|
|
||||||
s_Filename = [autoxml.String, autoxml.mandatory]
|
s_Filename = [autoxml.String, autoxml.mandatory]
|
||||||
|
|||||||
Reference in New Issue
Block a user