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 | ||
