This service is available only in Japanese-language.
Yoctoで構築されるパッケージの中で、下記ファイルの変更の必要があります。
この変更をRecipesに盛り込んで、Yocto構築時に自動的に変更を反映するにはどのようにしたらよいでしょうか。
Yocto
|
└ build
|
└ tmp
|
└ work
|
└ cortexa7hf-vfp-neon-poky-linux-gnueabi
|
└ gstreamer1.0-plugins-bad
|
└ 1.2.3-r0
|
└ git
|
└ ext
|
└ wayland
|
├ gstwaylandsink.c
└ gstwaylandsink.h
Seh
2016/12/17 (土) 15:30
・変更要求のあったファイルとオリジナルのファイルの差分を作
・変更要求のあったファイルとオリジナルのファイルの差分を作成します。
diff -Nru yocto.orig/build/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-bad/1.2.3-r0/git/ext/wayland/gstwaylandsink.c yocto/build/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-bad/1.2.3-r0/git/ext/wayland/gstwaylandsink.c > gst-plugins-bad-wayland.patch
diff -Nru yocto.orig/build/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-bad/1.2.3-r0/git/ext/wayland/gstwaylandsink.h yocto/build/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-bad/1.2.3-r0/git/ext/wayland/gstwaylandsink.h >> gst-plugins-bad-wayland.patch
・パッチファイルに記述されているパスを変更します。
yocto.orig/build/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-bad/1.2.3-r0/git/
-> a
yocto/build/tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-bad/1.2.3-r0/git/
-> b
diff -Nru a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c
--- a/ext/wayland/gstwaylandsink.c 2016-07-15 11:04:58.257220500 +0900
+++ b/ext/wayland/gstwaylandsink.c 2016-07-11 09:02:55.000000000 +0900
・Recipes名gstreamer1.0-plugins-bad のRecipesがどこにあるか探します。
find yocto.orig/ | grep "gstreamer1.0-plugins-bad"
yocto.orig/meta-renesas/common/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend
yocto.orig/meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend
yocto.orig/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
yocto.orig/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bb
yocto.orig/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb
yocto/build/conf/local.conf に以下の定義があります。
BB_GST_PLUGINS = "meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer"
MULTIMEDIA_BB = "${BB_MULTIMEDIA_KERNEL_MODULE}|${BB_MULTIMEDIA_USER_MODULE}|\
${BB_MULTIMEDIA_TEST_MODULE}|${BB_GST_PLUGINS}"
従って、以下のRecipesが有効になります。
yocto.orig/meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend
・作成したパッチファイルがgstreamer1.0-plugins-bad パッケージ構築時
に反映されるようにRecipesを変更します。
diff -Nru yocto.orig/meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend yocto/meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend
--- yocto.orig/meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend 2016-04-13 02:38:55.000000000 +0900
+++ yocto/meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend 2016-07-22 12:01:32.246552103 +0900
@@ -16,5 +16,9 @@
}
for wayland
+FILESEXTRAPATHS_prepend := '${THISDIR}/${PN}:'
+SRC_URI_append = " file://gst-plugins-bad-wayland.patch"
+
+
PACKAGECONFIG_remove_rcar-gen2 = "${@'orc' if '1' in '${USE_GLES_WAYLAND}' else ''}"
PACKAGECONFIG_append_rcar-gen2 = " faad ${@base_contains('USE_GLES_WAYLAND', '1', 'wayland', '', d)}"
・パッチフィルを格納するためパッケージ名のディレクトリを作成し、
パッチファイルを格納します。
mkdir yocto/meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad
cp gst-plugins-bad-wayland.patch yocto/meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad
Yocto
|
└ meta-renesas
|
└ meta-rcar-gen2
|
└ recipes-multimedia
|
└ gstreamer
|
└ gstreamer1.0-plugins-bad
|
└ gst-plugins-bad-wayland.patch
・bitbake コマンドで作成したimage に変更が反映されます。