Skip to contentSkip to conversation

dvdrw-tools: new package

PATCH New Steve Kenton 2 participants 2 messages Mar 17, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 dvdrw-tools: new package

The dvd+rw-tools are used to master Blu-ray Disc and DVD Disc media, both +RW/+R and -RW/-R. Note:
The +RW in the name is a historical artifact. This package contains the widely used growisofs program.

---
One more time. I was confusing the submission patch with the patch to the package - Doh! But I think I got it right this time. At least 'file' shows this after cross compiling on an x86 system.

genisoimage: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), stripped

 package/Config.in                       |  1 +
 package/dvdrw-tools/0001-limits.h.patch | 23 ++++++++++++++
 package/dvdrw-tools/Config.in           | 56 +++++++++++++++++++++++++++++++++
 package/dvdrw-tools/dvdrw-tools.hash    |  3 ++
 package/dvdrw-tools/dvdrw-tools.mk      | 32 +++++++++++++++++++
 5 files changed, 115 insertions(+)
 create mode 100644 package/dvdrw-tools/0001-limits.h.patch
 create mode 100644 package/dvdrw-tools/Config.in
 create mode 100644 package/dvdrw-tools/dvdrw-tools.hash
 create mode 100644 package/dvdrw-tools/dvdrw-tools.mk
package/Config.in +1 -0
index c183748..96e373a 100644
@@ -7,6 +7,7 @@ menu "Audio and video applications"
 	source "package/aumix/Config.in"
 	source "package/bellagio/Config.in"
 	source "package/dvdauthor/Config.in"
+	source "package/dvdrw-tools/Config.in"
 	source "package/espeak/Config.in"
 	source "package/faad2/Config.in"
 	source "package/ffmpeg/Config.in"
package/dvdrw-tools/0001-limits.h.patch new file +23 -0
new file mode 100644
index 0000000..ccda8ee
@@ -0,0 +1,23 @@
+transport.hxx: add limits.h include now needed because of kernel changes
+
+Signed-off-by: Steve Kenton <[email protected]>
+
+diff -pruN dvd+rw-tools-7.1.ori/transport.hxx dvd+rw-tools-7.1/transport.hxx
+--- dvd+rw-tools-7.1.ori/transport.hxx	2008-03-01 04:34:43.000000000 -0600
++++ dvd+rw-tools-7.1/transport.hxx	2015-01-18 15:47:24.245863631 -0600
+@@ -9,6 +9,7 @@
+ #if defined(__unix) || defined(__unix__)
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <limits.h>
+ #include <unistd.h>
+ #include <string.h>
+ #include <sys/types.h>
+@@ -40,6 +41,7 @@ inline long getmsecs()
+ #include <stddef.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <limits.h>
+ #define ssize_t		LONG_PTR
+ #define off64_t		__int64
+ 
package/dvdrw-tools/Config.in new file +56 -0

56 lines not on this page · raw message

package/dvdrw-tools/dvdrw-tools.hash new file +3 -0
new file mode 100644
index 0000000..5d79709
@@ -0,0 +1,3 @@
+# Locally computed using sha256sum
+sha256	f8d60f822e914128bcbc5f64fbe3ed131cbff9045dca7e12c5b77b26edde72ca	dvd+rw-tools-7.1.tar.gz
+
package/dvdrw-tools/dvdrw-tools.mk new file +32 -0
new file mode 100644
index 0000000..af6105d
@@ -0,0 +1,32 @@
+################################################################################
+#
+# dvdrw-tools
+#
+################################################################################
+
+DVDRW_TOOLS_VERSION = 7.1
+DVDRW_TOOLS_SOURCE = dvd+rw-tools-$(DVDRW_TOOLS_VERSION).tar.gz
+DVDRW_TOOLS_SITE = http://fy.chalmers.se/~appro/linux/DVD+RW/tools
+DVDRW_TOOLS_LICENSE = GPLv2
+DVDRW_TOOLS_LICENSE_FILES = LICENSE
+
+define DVDRW_TOOLS_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
+endef
+
+ifeq ($(BR2_PACKAGE_DVDRW_TOOLS_CDRKIT_BACKEND),y)
+DVDRW_TOOLS_BACKEND = genisoimage
+else ifeq ($(BR2_PACKAGE_DVDRW_TOOLS_XORRISO_BACKEND),y)
+DVDRW_TOOLS_BACKEND = xorrisofs
+endif
+
+define DVDRW_TOOLS_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 -D $(@D)/dvd-ram-control $(TARGET_DIR)/usr/bin/dvd-ram-control
+	$(INSTALL) -m 0755 -D $(@D)/dvd+rw-booktype $(TARGET_DIR)/usr/bin/dvd+rw-booktype
+	$(INSTALL) -m 0755 -D $(@D)/dvd+rw-format $(TARGET_DIR)/usr/bin/dvd+rw-format
+	$(INSTALL) -m 0755 -D $(@D)/dvd+rw-mediainfo $(TARGET_DIR)/usr/bin/dvd+rw-mediainfo
+	$(INSTALL) -m 0755 -D $(@D)/growisofs $(TARGET_DIR)/usr/bin/growisofs
+	ln -s -f /usr/bin/$(DVDRW_TOOLS_BACKEND) $(TARGET_DIR)/usr/bin/mkisofs
+endef
+
+$(eval $(generic-package))
Signature · 1 line
2.1.0
#1 lore raw

PATCH 1/1 dvdrw-tools: new package

Steve, All,

On 2015-03-17 10:07 -0500, Steve Kenton spake thusly:

Quoted 4 lines

The dvd+rw-tools are used to master Blu-ray Disc and DVD Disc media, both +RW/+R and -RW/-R. Note:
The +RW in the name is a historical artifact. This package contains the widely used growisofs program.

Getting good! :-)

Quoted 1 line

[--SNIP--]

Quoted 41 lines
package/dvdrw-tools/Config.in new file +35 -0
new file mode 100644
index 0000000..cdcdaa3
@@ -0,0 +1,56 @@
+config BR2_PACKAGE_DVDRW_TOOLS
+	bool "dvdrw-tools"
+	depends on BR2_USE_MMU # fork()
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_USE_WCHAR
+	depends on BR2_LARGEFILE
+	help
+	  The dvd+rw-tools are used to master Blu-ray Disc
+	  and DVD Disc media, both +RW/+R and -RW/-R. The
+	  +RW in the name is a historical artifact. This
+	  package contains the widely used growisofs program.
+
+	  Buildroot does not support packages with a '+' sign
+	  in their name, which explains why it is named
+	  dvdrw-tools and not dvd+rw-tools.
+
+	  Because dvd+rw-tools does not directly interact with
+	  disc media it uses a separate media backend program.
+	  The usual backend is mkisofs from the cdrtools package.
+	  However, cdrtools is not currently part of buildroot.
+
+	  The Linux From Scratch project uses uses xorriso for the
+	  media backend and Ubuntu uses cdrkit for the backend.
+	  Choose the one which seems most appropriate for your use.
+	  NOTE: xorriso does not currently support UDF.
+	  
+	  http://fy.chalmers.se/~appro/linux/DVD+RW/tools
+
+comment "dvdrw-tools needs a toolchain w/threads, C++, wchar, largefile"
+	depends on BR2_USE_MMU
+	depends on !BR2_TOOLCHAIN_HAS_THREADS \
+		|| !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \
+		|| !BR2_LARGEFILE
+

package/dvdrw-tools/Config.in line 45

Quoted 10 lines
package/dvdrw-tools/Config.in new file +10 -0
+if BR2_PACKAGE_DVDRW_TOOLS
+choice
+	prompt "Media Backend"
+	default BR2_PACKAGE_DVDRW_CDRKIT_BACKEND
+	help
+	  Choose which media backend program to use.
+
+config BR2_PACKAGE_DVDRW_TOOLS_CDRKIT_BACKEND
+	bool "cdrkit"
+	select BR2_PACKAGE_CDRKIT

cdrkit depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 so you need to propagate this here:

config BR2_PACKAGE_DVDRW_TOOLS_CDRKIT_BACKEND
bool "cdrkit"
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # cdrkit select BR2_PACKAGE_CDRKIT
help
Blabla symlink blabla...

comment "cdrkit needs a toolchain with headers >= 3.0"
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0

You can put the comment in the choice, yes.

[--SNIP--]

Quoted 25 lines
package/dvdrw-tools/dvdrw-tools.mk new file +19 -0
new file mode 100644
index 0000000..af6105d
@@ -0,0 +1,32 @@
+################################################################################
+#
+# dvdrw-tools
+#
+################################################################################
+
+DVDRW_TOOLS_VERSION = 7.1
+DVDRW_TOOLS_SOURCE = dvd+rw-tools-$(DVDRW_TOOLS_VERSION).tar.gz
+DVDRW_TOOLS_SITE = http://fy.chalmers.se/~appro/linux/DVD+RW/tools
+DVDRW_TOOLS_LICENSE = GPLv2
+DVDRW_TOOLS_LICENSE_FILES = LICENSE
+
+define DVDRW_TOOLS_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
+endef
+
+ifeq ($(BR2_PACKAGE_DVDRW_TOOLS_CDRKIT_BACKEND),y)
+DVDRW_TOOLS_BACKEND = genisoimage
+else ifeq ($(BR2_PACKAGE_DVDRW_TOOLS_XORRISO_BACKEND),y)

package/dvdrw-tools/dvdrw-tools.mk line 29

Quoted 10 lines
package/dvdrw-tools/dvdrw-tools.mk new file +10 -0
+DVDRW_TOOLS_BACKEND = xorrisofs
+endif
+
+define DVDRW_TOOLS_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 -D $(@D)/dvd-ram-control $(TARGET_DIR)/usr/bin/dvd-ram-control
+	$(INSTALL) -m 0755 -D $(@D)/dvd+rw-booktype $(TARGET_DIR)/usr/bin/dvd+rw-booktype
+	$(INSTALL) -m 0755 -D $(@D)/dvd+rw-format $(TARGET_DIR)/usr/bin/dvd+rw-format
+	$(INSTALL) -m 0755 -D $(@D)/dvd+rw-mediainfo $(TARGET_DIR)/usr/bin/dvd+rw-mediainfo
+	$(INSTALL) -m 0755 -D $(@D)/growisofs $(TARGET_DIR)/usr/bin/growisofs
+	ln -s -f /usr/bin/$(DVDRW_TOOLS_BACKEND) $(TARGET_DIR)/usr/bin/mkisofs

Because you need the backend to create the symlink, you should depend on the proper backend:

ifeq ($(BR2_PACKAGE_DVDRW_TOOLS_CDRKIT_BACKEND),y) DVDRW_TOOLS_BACKEND = genisoimage DVDRW_TOOLS_DEPENDENCIES = cdrkit
else ifeq ($(BR2_PACKAGE_DVDRW_TOOLS_XORRISO_BACKEND),y) DVDRW_TOOLS_BACKEND = xorrisofs DVDRW_TOOLS_DEPENDENCIES = xorriso
endif

Otherwise, lokks good.

Regards,
Yann E. MORIN.

Quoted 10 lines
package/dvdrw-tools/dvdrw-tools.mk new file +2 -0
+endef
 
+$(eval $(generic-package))
Signature · 6 lines
2.1.0

_______________________________________________
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.  |
'------------------------------^-------^------------------^--------------------'