Skip to contentSkip to conversation

2 fixes

PATCH In review Robert Yang 2 participants 5 messages Jun 9, 2015 – Jun 11, 2015

lore
Share & tools
lore
#0 lore raw

cover 2 fixes

The following changes since commit de6a26b95a7f7bd8f9dc47ab35d8b07ba671f4eb:

x264: use x86 over-ride instead of i586 (2015-06-08 17:32:46 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib rbt/2fixes
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/2fixes

Robert Yang (2):
libpostproc: fix installed-vs-shipped gcc-source.inc: fix STAMPCLEAN to avoid race issue

 meta/recipes-devtools/gcc/gcc-source.inc         |    2 +-
 meta/recipes-multimedia/libav/libpostproc_git.bb |    1 +
 2 files changed, 2 insertions(+), 1 deletion(-)
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH 1/2 libpostproc: fix installed-vs-shipped

When MACHINE=qemux86-64 and enable multilib:
ERROR: QA Issue: libpostproc: Files/directories were installed but not shipped in any package:
/usr/lib
/usr/lib/libpostproc.so.52.3.0
/usr/lib/libpostproc.so
/usr/lib/libpostproc.so.52
/usr/lib/.debug
/usr/lib/.debug/libpostproc.so.52.3.0
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. [installed-vs-shipped]

---
 meta/recipes-multimedia/libav/libpostproc_git.bb |    1 +
 1 file changed, 1 insertion(+)
meta/recipes-multimedia/libav/libpostproc_git.bb +1 -0
index 88891db..4aaa50f 100644
@@ -38,6 +38,7 @@ EXTRA_OECONF = " \
     --extra-cflags="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
     --extra-ldflags="${TARGET_LDFLAGS}" \
     --sysroot="${STAGING_DIR_TARGET}" \
+    --shlibdir="${libdir}" \
     ${EXTRA_FFCONF} \
 "
 
Signature · 1 line
1.7.9.5
#2 lore raw

Re: [PATCH 1/2] libpostproc: fix installed-vs-shipped

Quoted 13 lines · Robert Yang

When MACHINE=qemux86-64 and enable multilib:
ERROR: QA Issue: libpostproc: Files/directories were installed but not shipped in any package:
/usr/lib
/usr/lib/libpostproc.so.52.3.0
/usr/lib/libpostproc.so
/usr/lib/libpostproc.so.52
/usr/lib/.debug
/usr/lib/.debug/libpostproc.so.52.3.0
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. [installed-vs-shipped]

Quoted 2 lines

This commit log tells us in exact detail that there was a QA error when multilib is enabled, but never mentions what the actual problem is or what the fix is. A more useful commit would be something like:

"libpostproc: pass correct libdir

Pass the right libdir to configure as otherwise it assumes $prefix/lib which may be wrong"

Ross

#3 lore raw

Re: [PATCH 1/2] libpostproc: fix installed-vs-shipped

Quoted 20 lines · Ross

On 9 June 2015 at 10:04, Robert Yang <[email protected] <mailto:[email protected]>> wrote:

When MACHINE=qemux86-64 and enable multilib:
ERROR: QA Issue: libpostproc: Files/directories were installed but not shipped in any package:
/usr/lib
/usr/lib/libpostproc.so.52.3.0
/usr/lib/libpostproc.so
/usr/lib/libpostproc.so.52
/usr/lib/.debug
/usr/lib/.debug/libpostproc.so.52.3.0
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. [installed-vs-shipped]

<mailto:[email protected]>>

Quoted 8 lines

This commit log tells us in exact detail that there was a QA error when multilib is enabled, but never mentions what the actual problem is or what the fix is. A more useful commit would be something like:

"libpostproc: pass correct libdir

Pass the right libdir to configure as otherwise it assumes $prefix/lib which may be wrong"

Thanks, updated in the repo:

git://git.openembedded.org/openembedded-core-contrib rbt/2fixes

libpostproc: pass correct libdir

When MACHINE=qemux86-64 and enable multilib:
ERROR: QA Issue: libpostproc: Files/directories were installed but not
shipped in any package:

      /usr/lib
      /usr/lib/libpostproc.so.52.3.0
      /usr/lib/libpostproc.so
      /usr/lib/libpostproc.so.52
      /usr/lib/.debug
      /usr/lib/.debug/libpostproc.so.52.3.0
    Please set FILES such that these items are packaged. Alternatively if they 

are unneeded, avoid installing them or delete them within do_install. [installed-vs-shipped]

Pass the right libdir to configure as otherwise it assumes $prefix/lib which may be wrong.

// Robert

Quoted 2 lines

Ross

#4 lore raw

PATCH 2/2 gcc-source.inc: fix STAMPCLEAN to avoid race issue

In reply to Robert Yang

Fixed race issue when build more than one gcc-source and inherit rm_work, for example:

$ bitbake gcc-source-4.9.2 gcc-source-5.1.0

File "/path/to/bitbake/lib/bb/build.py", line 512, in exec_task
return _exec_task(fn, task, d, quieterr)
File "/path/to/bitbake/lib/bb/build.py", line 489, in _exec_task
make_stamp(task, localdata)
File "/path/to/bitbake/lib/bb/build.py", line 599, in make_stamp
os.unlink(name)
OSError: [Errno 2] No such file or directory: '/path/to/tmp/stamps/work-shared/gcc-4.9.2-r0.do_rm_work_all.02cf1ed9b79d4edb0a51d3b913b7f9ba'

This is because make_stamp() uses glob.glob() to remove the old stamps before create the new one, when gcc-source-5.1.0 removes gcc-4.9.2-r0's stamp, we may get the error.

We can't use deltask do_rm_work_all as do_rm_work since it is a recrdeptask, otherwise:
ERROR: Command execution failed: Traceback (most recent call last):
File "/path/to/bitbake/lib/bb/command.py", line 102, in runAsyncCommand
commandmethod(self.cmds_async, self, options)
File "/path/to/bitbake/lib/bb/command.py", line 324, in generateDotGraph
command.cooker.generateDotGraphFiles(pkgs_to_build, task)
File "/path/to/bitbake/lib/bb/cooker.py", line 847, in generateDotGraphFiles
depgraph = self.generateTaskDepTreeData(pkgs_to_build, task)
File "/path/to/bitbake/lib/bb/cooker.py", line 672, in generateTaskDepTreeData
rq.rqdata.prepare()
File "/path/to/bitbake/lib/bb/runqueue.py", line 587, in prepare
generate_recdeps(dep)
File "/path/to/bitbake/lib/bb/runqueue.py", line 575, in generate_recdeps
add_resolved_dependencies([taskData.tasks_fnid[t]], tasknames, newdeps)
TypeError: list indices must be integers, not NoneType

Update STAMPCLEAN to contain ${PV} to fix the problem.

---
 meta/recipes-devtools/gcc/gcc-source.inc |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-devtools/gcc/gcc-source.inc +1 -1
index 529b8e0..794fd4d 100644
@@ -16,7 +16,7 @@ WORKDIR = "${TMPDIR}/work-shared/gcc-${PV}-${PR}"
 SSTATE_SWSPEC = "sstate:gcc::${PV}:${PR}::${SSTATE_VERSION}:"
 
 STAMP = "${STAMPS_DIR}/work-shared/gcc-${PV}-${PR}"
-STAMPCLEAN = "${STAMPS_DIR}/work-shared/gcc-[0-9]*-*"
+STAMPCLEAN = "${STAMPS_DIR}/work-shared/gcc-${PV}-*"
 
 INHIBIT_DEFAULT_DEPS = "1"
 DEPENDS = ""
Signature · 1 line
1.7.9.5