[oe] [oe-commits] Richard Purdie : package_rpm: Add custom extension support for spec generation.
Hongxu Jia
hongxu.jia at windriver.com
Wed Sep 3 01:51:32 UTC 2014
Build failure:
https://autobuilder.yoctoproject.org/main/builders/poky-tiny/builds/30/steps/BuildImages/logs/stdio
...
ERROR: Error executing a python function in /home/pokybuild/yocto-autobuilder/yocto-worker/poky-tiny/build/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.16.bb:
The stack trace of python calls that resulted in this exception/failure was:
File: 'write_specfile', lineno: 554, function: <module>
0550:
0551: specfile.close()
0552:
0553:
*** 0554:write_specfile(d)
0555:
File: 'write_specfile', lineno: 420, function: write_specfile
0416: bb.note("Not creating empty RPM package for %s" % splitname)
0417: else:
0418: spec_files_bottom.append('%%files -n %s' % splitname)
0419: if extra_pkgdata:
*** 0420: package_rpm_extra_pkgdata(splitname, spec_files_bottom, localdata)
0421: spec_files_bottom.append('%defattr(-,-,-,-)')
0422: if file_list:
0423: bb.note("Creating RPM package for %s" % splitname)
0424: spec_files_bottom.extend(file_list)
Exception: NameError: global name 'package_rpm_extra_pkgdata' is not defined
...
//Hongxu
On 09/02/2014 09:50 PM, git at opal.openembedded.org wrote:
> Module: openembedded-core.git
> Branch: master-next
> Commit: 4b42982b8e6d859315c0f95dc0d6e4bcadf9a785
> URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=4b42982b8e6d859315c0f95dc0d6e4bcadf9a785
>
> Author: Richard Purdie <richard.purdie at linuxfoundation.org>
> Date: Mon Sep 1 17:32:26 2014 +0100
>
> package_rpm: Add custom extension support for spec generation.
>
> Add hooks to allow customisation of the rpm spec files. Since python functions
> aren't visible in the data store, one variable is used to trigger the call to
> a separately named function. A dummy function is not provided since this then
> triggers various class ordering complexities which are best avoided.
>
> Ultimately this will be replaced by a refactor of the code to generate the
> spec file using a python class.
>
> This allows the tizen layer to add hooks for the security manifests for
> example.
>
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
>
> ---
>
> meta/classes/package_rpm.bbclass | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
> index 0a32b3e..65b4463 100644
> --- a/meta/classes/package_rpm.bbclass
> +++ b/meta/classes/package_rpm.bbclass
> @@ -293,6 +293,7 @@ python write_specfile () {
> spec_files_bottom = []
>
> perfiledeps = (d.getVar("MERGEPERFILEDEPS", True) or "0") == "0"
> + extra_pkgdata = (d.getVar("RPM_EXTRA_PKGDATA", True) or "0") == "0"
>
> for pkg in packages.split():
> localdata = bb.data.createCopy(d)
> @@ -373,6 +374,8 @@ python write_specfile () {
> else:
> bb.note("Creating RPM package for %s" % splitname)
> spec_files_top.append('%files')
> + if extra_pkgdata:
> + package_rpm_extra_pkgdata(splitname, spec_files_top, localdata)
> spec_files_top.append('%defattr(-,-,-,-)')
> if file_list:
> bb.note("Creating RPM package for %s" % splitname)
> @@ -479,6 +482,8 @@ python write_specfile () {
> bb.note("Not creating empty RPM package for %s" % splitname)
> else:
> spec_files_bottom.append('%%files -n %s' % splitname)
> + if extra_pkgdata:
> + package_rpm_extra_pkgdata(splitname, spec_files_bottom, localdata)
> spec_files_bottom.append('%defattr(-,-,-,-)')
> if file_list:
> bb.note("Creating RPM package for %s" % splitname)
>
More information about the Openembedded-devel
mailing list