package_rpm.bbclass: remove xx.spec before doing rpmbuild xx.src.rpm
cover package_rpm.bbclass: remove xx.spec before doing rpmbuild xx.src.rpm
If the spec file already exist, and has not been stored into pseudo's files.db, it maybe cause rpmbuild src.rpm fail, so remove it before doing rpmbuild src.rpm.
--- meta/classes/package_rpm.bbclass | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
meta/classes/package_rpm.bbclass +5 -0
@@ -1069,8 +1069,13 @@ python do_package_rpm () { return # Construct the spec file... + # If the spec file already exist, and has not been stored into + # pseudo's files.db, it maybe cause rpmbuild src.rpm fail, + # so remove it before doing rpmbuild src.rpm. srcname = strip_multilib(d.getVar('PN', True), d) outspecfile = workdir + "/" + srcname + ".spec" + if os.path.isfile(outspecfile): + os.remove(outspecfile) d.setVar('OUTSPECFILE', outspecfile) bb.build.exec_func('write_specfile', d)
Signature · 1 line
1.7.1
Hi all
Sorry, it looks like i should post this patch to poky. please ignore this
Thanks
Bian
Quoted 26 lines · Bian Naimeng
If the spec file already exist, and has not been stored into pseudo's files.db, it maybe cause rpmbuild src.rpm fail, so remove it before doing rpmbuild src.rpm.
Signed-off-by Bian Naimeng <[email protected]>--- meta/classes/package_rpm.bbclass | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)meta/classes/package_rpm.bbclass +5
-0@@ -1069,8 +1069,13 @@ python do_package_rpm () { return # Construct the spec file... + # If the spec file already exist, and has not been stored into + # pseudo's files.db, it maybe cause rpmbuild src.rpm fail, + # so remove it before doing rpmbuild src.rpm. srcname = strip_multilib(d.getVar('PN', True), d) outspecfile = workdir + "/" + srcname + ".spec" + if os.path.isfile(outspecfile): + os.remove(outspecfile) d.setVar('OUTSPECFILE', outspecfile) bb.build.exec_func('write_specfile', d)
Quoted 1 line · Bian Naimeng
Sorry, it looks like i should post this patch to poky. please ignore this
You were right the first time, meta/ is oe-core. :)
Ross
Quoted 5 lines · Ross
Quoted 1 line · Bian Naimeng
Sorry, it looks like i should post this patch to poky. please ignore this
You were right the first time, meta/ is oe-core. :)
Thanks for your reminding.
In this case, the following error will be caught.
| error: Bad owner/group: .../tmp/work/i586-poky-linux/.../xxx.spec | Building target platforms: i586-poky-linux | | | RPM build errors: | Bad owner/group: .../tmp/work/i586-poky-linux/.../xxx.spec
The following bb file can cause this error.
# cat xxx.bb SRC_URI="..../xxx.src.rpm"
do_unpack2 () {
cd ${WORKDIR}
tar zxvf xxx.tar.gz
}
addtask do_unpack2 after do_unpack before do_configureOf course, we can walk around it by append "extract=xxx.tar.gz" to SRC_URI, but it's not good way when the xxx.src.rpm containing lots of necessary files.
Thanks
Bian
Quoted 2 lines
Ross
Hi Bian,
Quoted 26 lines · On Friday 12 July 2013 10:04:56 Bian Naimeng wrote:
Quoted 4 lines · Ross
Quoted 1 line · Bian Naimeng
Sorry, it looks like i should post this patch to poky. please ignore this
You were right the first time, meta/ is oe-core. :)
Thanks for your reminding.
In this case, the following error will be caught.
| error: Bad owner/group: .../tmp/work/i586-poky-linux/.../xxx.spec | Building target platforms: i586-poky-linux | | RPM build errors: | Bad owner/group: .../tmp/work/i586-poky-linux/.../xxx.specThe following bb file can cause this error.
# cat xxx.bb SRC_URI="..../xxx.src.rpm"do_unpack2 () { cd ${WORKDIR} tar zxvf xxx.tar.gz } addtask do_unpack2 after do_unpack before do_configure
Quoted 3 lines
Of course, we can walk around it by append "extract=xxx.tar.gz" to
SRC_URI, but it's not good way when the xxx.src.rpm containing lots of necessary files.
Wouldn't using subdir=xyz in the SRC_URI entry put the contents of the rpm into a subdirectory and thus avoid this problem?
Cheers,
Paul
Signature · 2 lines
Paul Eggleton Intel Open Source Technology Centre
Hi Paul,
Quoted 29 lines · Paul Eggleton
Hi Bian,
Quoted 26 lines · On Friday 12 July 2013 10:04:56 Bian Naimeng wrote:
Quoted 4 lines · Ross
Quoted 1 line · Bian Naimeng
Sorry, it looks like i should post this patch to poky. please ignore this
You were right the first time, meta/ is oe-core. :)
Thanks for your reminding.
In this case, the following error will be caught.
| error: Bad owner/group: .../tmp/work/i586-poky-linux/.../xxx.spec | Building target platforms: i586-poky-linux | | RPM build errors: | Bad owner/group: .../tmp/work/i586-poky-linux/.../xxx.specThe following bb file can cause this error.
# cat xxx.bb SRC_URI="..../xxx.src.rpm"do_unpack2 () { cd ${WORKDIR} tar zxvf xxx.tar.gz } addtask do_unpack2 after do_unpack before do_configure
Quoted 7 lines
Quoted 3 lines
Of course, we can walk around it by append "extract=xxx.tar.gz" to
SRC_URI, but it's not good way when the xxx.src.rpm containing lots of necessary files.Wouldn't using subdir=xyz in the
SRC_URIentry put the contents of the rpm into a subdirectory and thus avoid this problem?
Thanks for your suggestion.
Yes, it's can avoid this problem.
But, why we don't remove the xxx.spec file before doing rpmbuild xx.src.rpm if it's existed. The old xxx.spec is unuseful.
In my opinion, it can make the bb file easier and clean than using subdir=xyz in the SRC_URI
Thanks,
Bian
Quoted 3 lines
Cheers,
Paul
Quoted 40 lines · On Monday 15 July 2013 10:08:30 Bian Naimeng wrote:
Hi Paul,
Quoted 37 lines · Paul Eggleton
Hi Bian,
Quoted 33 lines · On Friday 12 July 2013 10:04:56 Bian Naimeng wrote:
Quoted 5 lines · Ross
Quoted 2 lines · Bian Naimeng
Sorry, it looks like i should post this patch to poky. please ignore this
You were right the first time, meta/ is oe-core. :)
Thanks for your reminding.
In this case, the following error will be caught.
| error: Bad owner/group: .../tmp/work/i586-poky-linux/.../xxx.spec | Building target platforms: i586-poky-linux | | RPM build errors: | Bad owner/group: .../tmp/work/i586-poky-linux/.../xxx.specThe following bb file can cause this error.
# cat xxx.bbSRC_URI="..../xxx.src.rpm"
do_unpack2 () {cd ${WORKDIR}
tar zxvf xxx.tar.gz} addtask do_unpack2 after do_unpack before do_configureOf course, we can walk around it by append "extract=xxx.tar.gz" to
SRC_URI, but it's not good way when the xxx.src.rpm containing lots of necessary files.
Quoted 8 lines
Quoted 2 lines
Wouldn't using subdir=xyz in the
SRC_URIentry put the contents of the rpm into a subdirectory and thus avoid this problem?Thanks for your suggestion.
Yes, it's can avoid this problem.But, why we don't remove the xxx.spec file before doing rpmbuild xx.src.rpm if it's existed. The old xxx.spec is unuseful.
It's a tricky situation. I just think there's a limit to the lengths we should go to to prevent extraction of an archive that doesn't contain a subdirectory and may therefore extract files that clash with files the build system wants to write. In any case, this patch has now been merged.
Quoted 2 lines
In my opinion, it can make the bb file easier and clean than using subdir=xyz in the
SRC_URI
The subdir parameter is trivial to add, and my advice is that subdir should always be used when the archive doesn't contain a reasonable subdirectory and then you won't hit subtle problems like this one.
Cheers,
Paul
Signature · 2 lines
Paul Eggleton Intel Open Source Technology Centre