Hi,
I think src rpms are not that interesting stuff for a lot of you. I've
fixed this by my own by adding a class to my meta-stlinux layer which
handles the extra sources and patches within the *.src.rpm.
The idea was taken from the lsof package.
LOCAL_SRC ??= ""
def src_rpm_do_base(d,func):
bb.build.exec_func(func, d)
src_uri = d.getVar('SRC_URI')
d.setVar('SRC_URI', '${LOCAL_SRC}')
bb.build.exec_func(func, d)
d.setVar('SRC_URI', src_uri)
python do_unpack () {
src_rpm_do_base(d,'base_do_unpack')
}
python do_patch () {
src_rpm_do_base(d,'base_d
}
https://github.com/project-magpie/meta-stlinux/blob/master/classes/src_rpm.bbclass
I hope this is the way things like this should be handled.
regards,
Christian
Hello,
I am interested in how to handle source code inside of a src.rpm
package. There had been a patch from Mark Hatle which handles the rpm
packages inside the fetcher2. In his patch he suggests to handle
Patches inside the rpm in the following way:
file://${WORKDIR}/mypatch.patch
When I tried this inside the SRC_URI declaration I always get en error
like this:
NOTE: Running task 439 of 669 (ID: 4,
/home/chris/src/poky-denzil/meta-stlinux/recipes-core/stslave/stslave_0.7.bb,
do_fetch)
NOTE: package stslave-0.7-r1: task do_fetch: Started
ERROR: Function failed: Fetcher failure for URL:
'file:///home/chris/src/poky-denzil/spark7162-build/tmp/work/sh4-poky-linux/stslave-0.7-r1/stslave-0.7.tar.gz'.
Unable to fetch URL from any source.
ERROR: Logfile of failure stored in:
/home/chris/src/poky-denzil/spark7162-build/tmp/work/sh4-poky-linux/stslave-0.7-r1/temp/log.do_fetch.25817
Log data follows:
| DEBUG: Trying PREMIRRORS
| DEBUG: For url ['file', '',
'/home/chris/src/poky-denzil/spark7162-build/tmp/work/sh4-poky-linux/stslave-0.7-r1/stslave-0.7.tar.gz',
'', '', {}] comparing ['bzr', '.*', '/.*', '', '', {}] to ['http',
'downloads.yoctoproject.org', '/mirror/sources/', '', '', {}]
| DEBUG: For url ['file', '',
'/home/chris/src/poky-denzil/spark7162-build/tmp/work/sh4-poky-linux/stslave-0.7-r1/stslave-0.7.tar.gz',
'', '', {}] comparing ['cvs', '.*', '/.*', '', '', {}] to ['http',
'downloads.yoctoproject.org', '/mirror/sources/', '', '', {}]
| DEBUG: For url ['file', '',
'/home/chris/src/poky-denzil/spark7162-build/tmp/work/sh4-poky-linux/stslave-0.7-r1/stslave-0.7.tar.gz',
'', '', {}] comparing ['git', '.*', '/.*', '', '', {}] to ['http',
'downloads.yoctoproject.org', '/mirror/sources/', '', '', {}]
| DEBUG: For url ['file', '',
'/home/chris/src/poky-denzil/spark7162-build/tmp/work/sh4-poky-linux/stslave-0.7-r1/stslave-0.7.tar.gz',
'', '', {}] comparing ['hg', '.*', '/.*', '', '', {}] to ['http',
'downloads.yoctoproject.org', '/mirror/sources/', '', '', {}]
| DEBUG: For url ['file', '',
'/home/chris/src/poky-denzil/spark7162-build/tmp/work/sh4-poky-linux/stslave-0.7-r1/stslave-0.7.tar.gz',
'', '', {}] comparing ['osc', '.*', '/.*', '', '', {}] to ['http',
'downloads.yoctoproject.org', '/mirror/sources/', '', '', {}]
| DEBUG: For url ['file', '',
'/home/chris/src/poky-denzil/spark7162-build/tmp/work/sh4-poky-linux/stslave-0.7-r1/stslave-0.7.tar.gz',
'', '', {}] comparing ['p4', '.*', '/.*', '', '', {}] to ['http',
'downloads.yoctoproject.org', '/mirror/sources/', '', '', {}]
| DEBUG: For url ['file', '',
'/home/chris/src/poky-denzil/spark7162-build/tmp/work/sh4-poky-linux/stslave-0.7-r1/stslave-0.7.tar.gz',
'', '', {}] comparing ['svk', '.*', '/.*', '', '', {}] to ['http',
'downloads.yoctoproject.org', '/mirror/sources/', '', '', {}]
| DEBUG: For url ['file', '',
'/home/chris/src/poky-denzil/spark7162-build/tmp/work/sh4-poky-linux/stslave-0.7-r1/stslave-0.7.tar.gz',
'', '', {}] comparing ['svn', '.*', '/.*', '', '', {}] to ['http',
'downloads.yoctoproject.org', '/mirror/sources/', '', '', {}]
| DEBUG: Trying Upstream
| ERROR: Function failed: Fetcher failure for URL:
'file:///home/chris/src/poky-denzil/spark7162-build/tmp/work/sh4-poky-linux/stslave-0.7-r1/stslave-0.7.tar.gz'.
Unable to fetch URL from any source.
Yes of course I can just let fetcher2 extract all the files an
afterwards apply the patches by hand. But I think there should be a
more generic way to handle this. I hope I can get some hints how to
solve this.
with kind regards,
Christian
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto
--
~: https://github.com/project-magpie/meta-stlinux :~
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto