Skip to contentSkip to conversation

package/tvheadend: Fix inclusion of dtv-scan-tables files

PATCH Superseded Bernd Kuhls 2 participants 4 messages Apr 8, 2015

v2 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/3 package/tvheadend: Fix inclusion of dtv-scan-tables files

--enable-dvbscan forces downloading the tables from upstream when the files are not already present in data/dvb-scan/, see support/getmuxlist.

By moving the copy command for the dvb-scan files before tvheadend configure calls the getmuxlist script, the latter will recognize the existing files,
quote: "# Note: will not update existing set (if not .git)"

To verify the bundled contents have a look at build.linux/bundle.d. Also fix a comment typo.

Fixes
http://autobuild.buildroot.net/results/25f/25fc657dbc37228483eeefb3618be9df2ee13832/
http://autobuild.buildroot.net/results/37a/37abb5d2ec62ac59897d019e6ca85c8eb0e69786/
http://autobuild.buildroot.net/results/e86/e860e501f904d94bbab6a765aad4d19947135513/
http://autobuild.buildroot.net/results/a55/a55ab4fc34bebda14236d6a0efe893aa75374ed2/

---
v2: do not patch header files but use a better moment for copying the dvb files (Yann)

 package/tvheadend/tvheadend.mk |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
package/tvheadend/tvheadend.mk +8 -4
index d6b77da..44154c6 100644
@@ -40,6 +40,13 @@ endif
 
 TVHEADEND_DEPENDENCIES += dtv-scan-tables
 
+define TVHEADEND_INSTALL_DTV_SCAN_TABLES
+	$(INSTALL) -d $(@D)/data/dvb-scan
+	cp -r $(TARGET_DIR)/usr/share/dvb/* $(@D)/data/dvb-scan/
+	touch $(@D)/data/dvb-scan/.stamp
+endef
+TVHEADEND_POST_EXTRACT_HOOKS += TVHEADEND_INSTALL_DTV_SCAN_TABLES
+
 define TVHEADEND_CONFIGURE_CMDS
 	(cd $(@D);						\
 		$(TARGET_CONFIGURE_OPTS)			\
@@ -58,12 +65,9 @@ define TVHEADEND_CONFIGURE_CMDS
 endef
 
 # The tvheadend build system expects the transponder data to be present inside
-# its source tree. To prevent a downloaded initiated by the build system just
+# its source tree. To prevent a download initiated by the build system just
 # copy the data files in the right place and add the corresponding stamp file.
 define TVHEADEND_BUILD_CMDS
-	$(INSTALL) -d $(@D)/data/dvb-scan
-	cp -r $(TARGET_DIR)/usr/share/dvb/* $(@D)/data/dvb-scan/
-	touch $(@D)/data/dvb-scan/.stamp
 	$(MAKE) -C $(@D)
 endef
 
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH v2 2/3 package/tvheadend: bump version

---
v2: bump to current git master

 package/tvheadend/tvheadend.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/tvheadend/tvheadend.mk +1 -1
index 44154c6..74b261f 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-TVHEADEND_VERSION = 7006b9fd88ce0cf54d59399df40fe4ee003c4180
+TVHEADEND_VERSION = 995aaf895b175d1c0b5ef52860f78f443449e84a
 TVHEADEND_SITE = $(call github,tvheadend,tvheadend,$(TVHEADEND_VERSION))
 TVHEADEND_LICENSE = GPLv3+
 TVHEADEND_LICENSE_FILES = LICENSE.md
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH v2 3/3 package/dtv-scan-tables: bump version

In reply to Bernd Kuhls

---
v2: bump to current git master

 package/dtv-scan-tables/dtv-scan-tables.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/dtv-scan-tables/dtv-scan-tables.mk +1 -1
index 9d85325..4114d23 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-DTV_SCAN_TABLES_VERSION = 1246b27f8b45f84c1824925060ad931530542f2e
+DTV_SCAN_TABLES_VERSION = f2053b34a5ac6f263edc22888b0db4b1fa563fe4
 DTV_SCAN_TABLES_SITE = http://git.linuxtv.org/cgit.cgi/dtv-scan-tables.git
 DTV_SCAN_TABLES_SITE_METHOD = git
 
Signature · 1 line
1.7.10.4
#3 lore raw

PATCH v2 1/3 package/tvheadend: Fix inclusion of dtv-scan-tables files

In reply to Bernd Kuhls

Bernd, All,

On 2015-04-08 23:43 +0200, Bernd Kuhls spake thusly:

Quoted 16 lines

--enable-dvbscan forces downloading the tables from upstream when the files are not already present in data/dvb-scan/, see support/getmuxlist.

By moving the copy command for the dvb-scan files before tvheadend configure calls the getmuxlist script, the latter will recognize the existing files,
quote: "# Note: will not update existing set (if not .git)"

To verify the bundled contents have a look at build.linux/bundle.d. Also fix a comment typo.

Fixes
http://autobuild.buildroot.net/results/25f/25fc657dbc37228483eeefb3618be9df2ee13832/
http://autobuild.buildroot.net/results/37a/37abb5d2ec62ac59897d019e6ca85c8eb0e69786/
http://autobuild.buildroot.net/results/e86/e860e501f904d94bbab6a765aad4d19947135513/
http://autobuild.buildroot.net/results/a55/a55ab4fc34bebda14236d6a0efe893aa75374ed2/

Quoted 3 lines

---
v2: do not patch header files but use a better moment for copying the dvb files (Yann)

So, even though I find this much better than the previous iteration, it is broken:

    $ make clean
    $ make tvheadend-patch
    [--SNIP--]
    cp: cannot stat ?/home/ymorin/dev/buildroot/O/target/usr/share/dvb/*?:
    No such file or directory

This is because dependencies are not guaranteed until just before the configure step.

I have a pending series that adds patch-dependencies, but it's not yet been applied (search about fixing linux extensions).

In the meantime, I think we should make that hook a pre-configure hook, rather than a post-extract hook.

Of course, it would work with a standard build, because dtv-scan-tables sorts before tvheadend. Still, we'd better get it right from the beginning.

Regards,
Yann E. MORIN.

Quoted 42 lines
 package/tvheadend/tvheadend.mk |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
package/tvheadend/tvheadend.mk +8 -4
index d6b77da..44154c6 100644
@@ -40,6 +40,13 @@ endif
 
 TVHEADEND_DEPENDENCIES += dtv-scan-tables
 
+define TVHEADEND_INSTALL_DTV_SCAN_TABLES
+	$(INSTALL) -d $(@D)/data/dvb-scan
+	cp -r $(TARGET_DIR)/usr/share/dvb/* $(@D)/data/dvb-scan/
+	touch $(@D)/data/dvb-scan/.stamp
+endef
+TVHEADEND_POST_EXTRACT_HOOKS += TVHEADEND_INSTALL_DTV_SCAN_TABLES
+
 define TVHEADEND_CONFIGURE_CMDS
 	(cd $(@D);						\
 		$(TARGET_CONFIGURE_OPTS)			\
@@ -58,12 +65,9 @@ define TVHEADEND_CONFIGURE_CMDS
 endef
 
 # The tvheadend build system expects the transponder data to be present inside
-# its source tree. To prevent a downloaded initiated by the build system just
+# its source tree. To prevent a download initiated by the build system just
 # copy the data files in the right place and add the corresponding stamp file.
 define TVHEADEND_BUILD_CMDS
-	$(INSTALL) -d $(@D)/data/dvb-scan
-	cp -r $(TARGET_DIR)/usr/share/dvb/* $(@D)/data/dvb-scan/
-	touch $(@D)/data/dvb-scan/.stamp
 	$(MAKE) -C $(@D)
 endef
 
Signature · 6 lines
1.7.10.4

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'