Bug 4497

Summary: Clean up FILESPATH usage
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Paul Eggleton <bluelightning>
Component: coreAssignee: Petter <petter>
Status: VERIFIED FIXED QA Contact:
Severity: enhancement    
Priority: Medium CC: meta.mr.watcher, meta.watcher, petter
Version: 1.5   
Target Milestone: 1.7   
Hardware: All   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Paul Eggleton 2013-05-15 08:47:22 UTC
We extend the search path in a number of recipes by setting FILESPATH, which is not really desirable since the manner in which we have done it can make the recipe harder to bbappend (and we explicitly advise modifying FILESPATH this in the manual). These should be changed to use FILESEXTRAPATHS to extend the path instead.

One example is the clutter recipe, but "git grep FILESPATH" will find them all.
Comment 1 Petter 2013-10-16 05:01:07 UTC
Set to accepted. Discussed this bug with Paul and I think the description of the bug itself motivates the ACCPETED.

Paul had already started to work on some recipes (see below commits).

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=paule/filespath&id=fe63a9701e28e758fe65fbc8b2bba0356bcfb2b8

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=paule/filespath&id=4d9fae496f510d165157177d610dd417dd0d8afc

I will try to handle the other recipes.
Comment 2 Petter 2013-10-16 05:06:17 UTC
I have started to work on removing the usage of FILESPTAHS in meta/classes/clutter.bbclass. 

I like the solution to always use ${P} or ${BP} (even if the recipe is alone) since that will (at least hopefully) force you to go through the file and/or patches when bumping a recipe to a newer version. One of the cons with this is of course that you more easily can miss re-create the patches-directory to reflect the new version but this should result in a build error (since the patch should exist in SRC_URI...).

(work in progress)

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=petmab/bug/4497
Comment 3 Petter 2013-11-23 07:53:01 UTC
Below commits regarding Bug 4497 has reached yocto-master.

clutter
-------
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=823299e5a7a30377d3e5f6b60883c4eedb656965

libpcre
--------
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=b609f91c5cca2011609198b81058e8c112edcad8

squashfs-tools
---------
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=94aa8d8e1352ddf29c823845609e494668e1f6ff

Below occurrence need to be investigated in order to see if they should/can get ride of the FILESPATH usage as well:

(from git grep FILESPATH)

 
native_0.1.bb:FILESPATH = "${FILE_DIRNAME}/${PN}/"
meta/recipes-devtools/linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb:FILESPATH = "${FILE_DIRNAME}/linuxdoc-tools-native/"
meta/recipes-devtools/python/python-native_2.7.3.bb:FILESPATH = "${FILE_DIRNAME}/python-native/:${FILE_DIRNAME}/python/"
meta/recipes-devtools/python/python-pygobject_2.27.91.bb:FILESPATH = "${FILE_DIRNAME}/python-pygobject:${FILE_DIRNAME}/files"
meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb:FILESPATH = "${FILE_DIRNAME}/qemu-helper"
meta/recipes-devtools/squashfs-tools/squashfs-tools_4.2.bb:FILESPATHPKG =. "squashfs-tools-${PV}:"
meta/recipes-graphics/mesa/mesa-gl_9.2.2.bb:FILESPATH = "${@base_set_filespath(["${FILE_DIRNAME}/mesa-${PV}", "${FILE_DIRNAME}/mesa"], d)}"
meta/recipes-graphics/xorg-lib/libx11.inc:FILESPATH = "${FILE_DIRNAME}/libx11"
meta/recipes-kernel/systemtap/systemtap_git.inc:FILESPATH = "${FILE_DIRNAME}/systemtap"
meta/recipes-kernel/trace-cmd/kernelshark_1.2.bb:FILESPATH = "${FILE_DIRNAME}/trace-cmd"
meta/recipes-multimedia/alsa/alsa-utils-alsaconf_1.0.27.2.bb:FILESPATH =. "${@base_set_filespath(["${THISDIR}/alsa-utils"], d)}:"
meta/recipes-multimedia/gstreamer/gst-plugins.inc:FILESPATH =. "${FILE_DIRNAME}/gst-plugins:"
Comment 4 Petter 2014-01-15 19:59:39 UTC
Below commit has reached yocto-master.

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=81e15141958a200bf93323ab1d8c2cf9466cf5c4

Has once again started to work on the remaining occurrences, will send the remaining changes in a serie of commits.

The progress can be followed at: http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=petmab/bug/4497
Comment 5 Petter 2014-05-10 13:24:17 UTC
v2 of the changeset sent to oe mailinglist.


....................................
Fixes [YOCTO #4497]

We extend the search path in a number of recipes by setting FILESPATH,
which is not really desirable since the manner in which we have done it
can make the recipe harder to bbappend (and we explicitly advise modifying
FILESPATH this in the manual).


The following changes since commit 646b089c38623cebe4a6b22c6798d21453fe5257:

  bitbake: toaster: modify SQL data type constraints (2014-05-08 16:18:12 +0100)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib petmab/bug/4497_v2
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=petmab/bug/4497_v2

Petter Mabäcker (13):
  systemtap: remove usage of FILESPATH
  dbus: remove usage of FILESPATH
  gstreamer: remove unused FILESPATH
  trace-cmd: refactoring recipe
  xorg-lib: remove usage of FILESPATH
  mesa: remove usage of FILESPATH
  qemu: remove unused FILESPATH
  linuxdoc-tools: remove usage of FILESPATH
  gcc: remove usage of FILESPATH
  python: remove usage of FILESPATH
  u-boot: remove unused FILESPATH
  uclibc: remove usage of FILESPATH
  eglibc: remove usage of FILESPATH

 meta/recipes-bsp/u-boot/u-boot.inc                 |    1 -
 meta/recipes-core/dbus/dbus-test_1.6.18.bb         |    2 +-
 .../fix_for_centos_5.8.patch                       |    0
 .../eglibc/cross-localedef-native_2.19.bb          |    3 +--
 meta/recipes-core/eglibc/eglibc_2.19.bb            |    4 +---
 meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb |    2 +-
 meta/recipes-core/uclibc/uclibc-git.inc            |    4 ++--
 meta/recipes-devtools/gcc/gcc-4.8.inc              |    4 ++--
 meta/recipes-devtools/gcc/gcc-4.9.inc              |    4 ++--
 .../linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb |    3 ---
 .../disable_dvips_doc.patch                        |    0
 .../disable_sgml2rtf.patch                         |    0
 .../disable_tex_doc.patch                          |    0
 .../disable_txt_doc.patch                          |    0
 .../recipes-devtools/python/python-native_2.7.3.bb |    2 +-
 .../python/python-pygobject_2.28.3.bb              |    1 -
 .../qemu/nativesdk-qemu-helper_1.0.bb              |    1 -
 meta/recipes-graphics/mesa/mesa-gl_9.2.5.bb        |    2 +-
 meta/recipes-graphics/xorg-lib/libx11.inc          |    2 +-
 .../systemtap/systemtap-uprobes_git.bb             |    2 ++
 meta/recipes-kernel/systemtap/systemtap_git.inc    |    2 --
 .../kernelshark-fix-syntax-error-of-shell.patch    |    0
 meta/recipes-kernel/trace-cmd/kernelshark_1.2.bb   |   18 ++++--------------
 meta/recipes-kernel/trace-cmd/trace-cmd.inc        |   14 ++++++++++++++
 meta/recipes-kernel/trace-cmd/trace-cmd_1.2.bb     |   16 ++++------------
 meta/recipes-multimedia/gstreamer/gst-plugins.inc  |    2 --
 .../gstreamer/gstreamer1.0-plugins.inc             |    2 --
 27 files changed, 37 insertions(+), 54 deletions(-)
 rename meta/recipes-core/eglibc/{eglibc-2.19 => cross-localedef-native-2.19}/fix_for_centos_5.8.patch (100%)
 rename meta/recipes-devtools/linuxdoc-tools/{linuxdoc-tools-native => linuxdoc-tools}/disable_dvips_doc.patch (100%)
 rename meta/recipes-devtools/linuxdoc-tools/{linuxdoc-tools-native => linuxdoc-tools}/disable_sgml2rtf.patch (100%)
 rename meta/recipes-devtools/linuxdoc-tools/{linuxdoc-tools-native => linuxdoc-tools}/disable_tex_doc.patch (100%)
 rename meta/recipes-devtools/linuxdoc-tools/{linuxdoc-tools-native => linuxdoc-tools}/disable_txt_doc.patch (100%)
 rename meta/recipes-kernel/trace-cmd/{trace-cmd => kernelshark}/kernelshark-fix-syntax-error-of-shell.patch (100%)
 create mode 100644 meta/recipes-kernel/trace-cmd/trace-cmd.inc

-- 
1.7.9.5
Comment 6 Petter 2014-05-15 15:08:58 UTC
Below serie of commits included in yocto master.

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=petmab/bug/4497_v3
Comment 7 Petter 2014-05-15 20:23:33 UTC
Verification used for this bug.

<pkg> are all packages that was affected by this fix.

$ bitbake <pkg> -c patch <-- to make sure all patches are applied
$ bitbake <pkg> <-- check that the packages can be built separately
$ bitbake core-image-sato (for both ppc and x86_64)
$ bitbake core-image-sato -c populate_sdk
$ bitbake meta-toolchain