diff options
author | Paul Barker <pbarker@toganlabs.com> | 2017-09-07 20:10:40 +0000 |
---|---|---|
committer | Andrei Gherzan <andrei@gherzan.com> | 2017-09-24 20:39:35 +0100 |
commit | b00d914e78c8f4abfaff29deda5a72689230fa5f (patch) | |
tree | 77da569e78da6c8c8da8183603114aaac4e8062b | |
parent | acd58692356df2bbdc3aa1d6b15f44c104ad3b45 (diff) | |
download | meta-raspberrypi-b00d914e78c8f4abfaff29deda5a72689230fa5f.tar.gz |
omxplayer: Fix build issues
* Update the recipe and patch the Makefile to not require internet access during
do_compile. Unfortunately, the upstream Makefile wants to access a web service
hosted on Heroku and to "git clone" ffmpeg with no fixed commit hash.
* Patch Makefile.ffmpeg to avoid a potential race condition between the
configure & compile stages.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
3 files changed, 102 insertions, 2 deletions
diff --git a/recipes-multimedia/omxplayer/omxplayer/0005-Don-t-require-internet-connection-during-build.patch b/recipes-multimedia/omxplayer/omxplayer/0005-Don-t-require-internet-connection-during-build.patch new file mode 100644 index 0000000..4f56ad2 --- /dev/null +++ b/recipes-multimedia/omxplayer/omxplayer/0005-Don-t-require-internet-connection-during-build.patch | |||
@@ -0,0 +1,56 @@ | |||
1 | From 97cb9405f281f54d4083f3126d441c8b44eafb89 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Barker <pbarker@toganlabs.com> | ||
3 | Date: Thu, 7 Sep 2017 19:14:20 +0000 | ||
4 | Subject: [PATCH] Don't require internet connection during build | ||
5 | |||
6 | The following issues break offline builds: | ||
7 | |||
8 | * Building the man page uses a web service hosted on heroku. | ||
9 | |||
10 | * Makefile.ffmpeg explicitly does a "git clone" from the internet. | ||
11 | |||
12 | Signed-off-by: Paul Barker <pbarker@toganlabs.com> | ||
13 | Upstream-status: Inappropriate | ||
14 | --- | ||
15 | Makefile | 6 ++---- | ||
16 | Makefile.ffmpeg | 2 +- | ||
17 | 2 files changed, 3 insertions(+), 5 deletions(-) | ||
18 | |||
19 | diff --git a/Makefile b/Makefile | ||
20 | index 60501b1..6471f0f 100644 | ||
21 | --- a/Makefile | ||
22 | +++ b/Makefile | ||
23 | @@ -79,14 +79,12 @@ ffmpeg: | ||
24 | make -f Makefile.ffmpeg | ||
25 | make -f Makefile.ffmpeg install | ||
26 | |||
27 | -dist: omxplayer.bin omxplayer.1 | ||
28 | +dist: omxplayer.bin | ||
29 | mkdir -p $(DIST)/usr/lib/omxplayer | ||
30 | mkdir -p $(DIST)/usr/bin | ||
31 | mkdir -p $(DIST)/usr/share/doc/omxplayer | ||
32 | - mkdir -p $(DIST)/usr/share/man/man1 | ||
33 | cp omxplayer omxplayer.bin $(DIST)/usr/bin | ||
34 | cp COPYING $(DIST)/usr/share/doc/omxplayer | ||
35 | cp README.md $(DIST)/usr/share/doc/omxplayer/README | ||
36 | - cp omxplayer.1 $(DIST)/usr/share/man/man1 | ||
37 | cp -P ffmpeg_compiled/usr/lib/*.so* $(DIST)/usr/lib/omxplayer/ | ||
38 | - tar -czf omxplayer-dist.tar.gz $(DIST) | ||
39 | \ No newline at end of file | ||
40 | + tar -czf omxplayer-dist.tar.gz $(DIST) | ||
41 | diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg | ||
42 | index 22d495c..8651724 100644 | ||
43 | --- a/Makefile.ffmpeg | ||
44 | +++ b/Makefile.ffmpeg | ||
45 | @@ -6,7 +6,7 @@ FFMPEG_EXTRA_CFLAGS?=-mfpu=vfp -mfloat-abi=$(FLOAT) -mno-apcs-stack-check -mstru | ||
46 | WORK=$(PWD) | ||
47 | |||
48 | .PHONY : all | ||
49 | -all: checkout configure compile | ||
50 | +all: configure compile | ||
51 | |||
52 | .PHONY : copy | ||
53 | copy: | ||
54 | -- | ||
55 | 2.7.4 | ||
56 | |||
diff --git a/recipes-multimedia/omxplayer/omxplayer/0006-Prevent-ffmpeg-configure-compile-race-condition.patch b/recipes-multimedia/omxplayer/omxplayer/0006-Prevent-ffmpeg-configure-compile-race-condition.patch new file mode 100644 index 0000000..a73ed9a --- /dev/null +++ b/recipes-multimedia/omxplayer/omxplayer/0006-Prevent-ffmpeg-configure-compile-race-condition.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | From 4a13419e3805b541fc58e57f1f27c4a388609ef5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Barker <pbarker@toganlabs.com> | ||
3 | Date: Thu, 7 Sep 2017 20:02:15 +0000 | ||
4 | Subject: [PATCH] Prevent ffmpeg configure/compile race condition | ||
5 | |||
6 | Additional dependency information is needed in Makefile.ffmpeg to ensure that | ||
7 | the configure stage is finished before the compile stage starts. | ||
8 | |||
9 | Signed-off-by: Paul Barker <pbarker@toganlabs.com> | ||
10 | Upstream-status: Inappropriate | ||
11 | --- | ||
12 | Makefile.ffmpeg | 4 ++-- | ||
13 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
14 | |||
15 | diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg | ||
16 | index 8651724..619c49a 100644 | ||
17 | --- a/Makefile.ffmpeg | ||
18 | +++ b/Makefile.ffmpeg | ||
19 | @@ -6,7 +6,7 @@ FFMPEG_EXTRA_CFLAGS?=-mfpu=vfp -mfloat-abi=$(FLOAT) -mno-apcs-stack-check -mstru | ||
20 | WORK=$(PWD) | ||
21 | |||
22 | .PHONY : all | ||
23 | -all: configure compile | ||
24 | +all: compile | ||
25 | |||
26 | .PHONY : copy | ||
27 | copy: | ||
28 | @@ -14,7 +14,7 @@ copy: | ||
29 | $(HOST)-strip *.so* | ||
30 | |||
31 | .PHONY : compile | ||
32 | -compile: | ||
33 | +compile: configure | ||
34 | +$(MAKE) -C ffmpeg | ||
35 | |||
36 | .PHONY : configure | ||
37 | -- | ||
38 | 2.7.4 | ||
39 | |||
diff --git a/recipes-multimedia/omxplayer/omxplayer_git.bb b/recipes-multimedia/omxplayer/omxplayer_git.bb index 713dacf..8079a40 100644 --- a/recipes-multimedia/omxplayer/omxplayer_git.bb +++ b/recipes-multimedia/omxplayer/omxplayer_git.bb | |||
@@ -10,14 +10,18 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | |||
10 | DEPENDS = "libpcre libav virtual/egl boost freetype dbus openssl samba libssh libomxil coreutils-native curl-native" | 10 | DEPENDS = "libpcre libav virtual/egl boost freetype dbus openssl samba libssh libomxil coreutils-native curl-native" |
11 | PR = "r4" | 11 | PR = "r4" |
12 | 12 | ||
13 | SRCREV = "b8ff59dccd9307f10dad71bec2525a95bd6c603b" | 13 | SRCREV_default = "b8ff59dccd9307f10dad71bec2525a95bd6c603b" |
14 | SRCREV_ffmpeg = "afa34cb36edca0ff809b7e58474bbce12271ecba" | ||
14 | SRC_URI = "git://github.com/popcornmix/omxplayer.git;protocol=git;branch=master \ | 15 | SRC_URI = "git://github.com/popcornmix/omxplayer.git;protocol=git;branch=master \ |
16 | git://source.ffmpeg.org/ffmpeg;branch=release/3.1;protocol=git;depth=1;name=ffmpeg;destsuffix=git/ffmpeg \ | ||
15 | file://0001-Remove-Makefile.include-which-includes-hardcoded.patch \ | 17 | file://0001-Remove-Makefile.include-which-includes-hardcoded.patch \ |
16 | file://0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch \ | 18 | file://0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch \ |
17 | file://0003-Remove-strip-step-in-Makefile.patch \ | 19 | file://0003-Remove-strip-step-in-Makefile.patch \ |
18 | file://0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch \ | 20 | file://0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch \ |
19 | file://fix-tar-command-with-DIST.patch \ | 21 | file://fix-tar-command-with-DIST.patch \ |
20 | file://use-native-pkg-config.patch \ | 22 | file://use-native-pkg-config.patch \ |
23 | file://0005-Don-t-require-internet-connection-during-build.patch \ | ||
24 | file://0006-Prevent-ffmpeg-configure-compile-race-condition.patch \ | ||
21 | " | 25 | " |
22 | S = "${WORKDIR}/git" | 26 | S = "${WORKDIR}/git" |
23 | 27 | ||
@@ -53,7 +57,8 @@ do_compile() { | |||
53 | # Needed for compiler test in ffmpeg's configure | 57 | # Needed for compiler test in ffmpeg's configure |
54 | mkdir -p tmp | 58 | mkdir -p tmp |
55 | 59 | ||
56 | oe_runmake ffmpeg | 60 | oe_runmake -f Makefile.ffmpeg |
61 | oe_runmake -f Makefile.ffmpeg install | ||
57 | oe_runmake | 62 | oe_runmake |
58 | } | 63 | } |
59 | 64 | ||