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>
This commit is contained in:
Paul Barker 2017-09-07 20:10:40 +00:00 committed by Andrei Gherzan
parent acd5869235
commit b00d914e78
3 changed files with 102 additions and 2 deletions

View File

@ -0,0 +1,56 @@
From 97cb9405f281f54d4083f3126d441c8b44eafb89 Mon Sep 17 00:00:00 2001
From: Paul Barker <pbarker@toganlabs.com>
Date: Thu, 7 Sep 2017 19:14:20 +0000
Subject: [PATCH] Don't require internet connection during build
The following issues break offline builds:
* Building the man page uses a web service hosted on heroku.
* Makefile.ffmpeg explicitly does a "git clone" from the internet.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Upstream-status: Inappropriate
---
Makefile | 6 ++----
Makefile.ffmpeg | 2 +-
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile
index 60501b1..6471f0f 100644
--- a/Makefile
+++ b/Makefile
@@ -79,14 +79,12 @@ ffmpeg:
make -f Makefile.ffmpeg
make -f Makefile.ffmpeg install
-dist: omxplayer.bin omxplayer.1
+dist: omxplayer.bin
mkdir -p $(DIST)/usr/lib/omxplayer
mkdir -p $(DIST)/usr/bin
mkdir -p $(DIST)/usr/share/doc/omxplayer
- mkdir -p $(DIST)/usr/share/man/man1
cp omxplayer omxplayer.bin $(DIST)/usr/bin
cp COPYING $(DIST)/usr/share/doc/omxplayer
cp README.md $(DIST)/usr/share/doc/omxplayer/README
- cp omxplayer.1 $(DIST)/usr/share/man/man1
cp -P ffmpeg_compiled/usr/lib/*.so* $(DIST)/usr/lib/omxplayer/
- tar -czf omxplayer-dist.tar.gz $(DIST)
\ No newline at end of file
+ tar -czf omxplayer-dist.tar.gz $(DIST)
diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg
index 22d495c..8651724 100644
--- a/Makefile.ffmpeg
+++ b/Makefile.ffmpeg
@@ -6,7 +6,7 @@ FFMPEG_EXTRA_CFLAGS?=-mfpu=vfp -mfloat-abi=$(FLOAT) -mno-apcs-stack-check -mstru
WORK=$(PWD)
.PHONY : all
-all: checkout configure compile
+all: configure compile
.PHONY : copy
copy:
--
2.7.4

View File

@ -0,0 +1,39 @@
From 4a13419e3805b541fc58e57f1f27c4a388609ef5 Mon Sep 17 00:00:00 2001
From: Paul Barker <pbarker@toganlabs.com>
Date: Thu, 7 Sep 2017 20:02:15 +0000
Subject: [PATCH] Prevent ffmpeg configure/compile race condition
Additional dependency information is needed in Makefile.ffmpeg to ensure that
the configure stage is finished before the compile stage starts.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Upstream-status: Inappropriate
---
Makefile.ffmpeg | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg
index 8651724..619c49a 100644
--- a/Makefile.ffmpeg
+++ b/Makefile.ffmpeg
@@ -6,7 +6,7 @@ FFMPEG_EXTRA_CFLAGS?=-mfpu=vfp -mfloat-abi=$(FLOAT) -mno-apcs-stack-check -mstru
WORK=$(PWD)
.PHONY : all
-all: configure compile
+all: compile
.PHONY : copy
copy:
@@ -14,7 +14,7 @@ copy:
$(HOST)-strip *.so*
.PHONY : compile
-compile:
+compile: configure
+$(MAKE) -C ffmpeg
.PHONY : configure
--
2.7.4

View File

@ -10,14 +10,18 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "libpcre libav virtual/egl boost freetype dbus openssl samba libssh libomxil coreutils-native curl-native" DEPENDS = "libpcre libav virtual/egl boost freetype dbus openssl samba libssh libomxil coreutils-native curl-native"
PR = "r4" PR = "r4"
SRCREV = "b8ff59dccd9307f10dad71bec2525a95bd6c603b" SRCREV_default = "b8ff59dccd9307f10dad71bec2525a95bd6c603b"
SRCREV_ffmpeg = "afa34cb36edca0ff809b7e58474bbce12271ecba"
SRC_URI = "git://github.com/popcornmix/omxplayer.git;protocol=git;branch=master \ SRC_URI = "git://github.com/popcornmix/omxplayer.git;protocol=git;branch=master \
git://source.ffmpeg.org/ffmpeg;branch=release/3.1;protocol=git;depth=1;name=ffmpeg;destsuffix=git/ffmpeg \
file://0001-Remove-Makefile.include-which-includes-hardcoded.patch \ file://0001-Remove-Makefile.include-which-includes-hardcoded.patch \
file://0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch \ file://0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch \
file://0003-Remove-strip-step-in-Makefile.patch \ file://0003-Remove-strip-step-in-Makefile.patch \
file://0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch \ file://0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch \
file://fix-tar-command-with-DIST.patch \ file://fix-tar-command-with-DIST.patch \
file://use-native-pkg-config.patch \ file://use-native-pkg-config.patch \
file://0005-Don-t-require-internet-connection-during-build.patch \
file://0006-Prevent-ffmpeg-configure-compile-race-condition.patch \
" "
S = "${WORKDIR}/git" S = "${WORKDIR}/git"
@ -53,7 +57,8 @@ do_compile() {
# Needed for compiler test in ffmpeg's configure # Needed for compiler test in ffmpeg's configure
mkdir -p tmp mkdir -p tmp
oe_runmake ffmpeg oe_runmake -f Makefile.ffmpeg
oe_runmake -f Makefile.ffmpeg install
oe_runmake oe_runmake
} }