Skip to contentSkip to conversation

Pull request for branch for-2011.11/packages

GIT PULL New Maxime Ripard 3 participants 16 messages Oct 3, 2011 – Nov 17, 2011

lore
Share & tools
lore
#0 lore raw

The following changes since commit 102a93bdca09742c99e110f144bf0c9267bbdd14:

support: move package/gnuconfig to support/gnuconfig (2011-09-17 08:22:12 +0200)

are available in the git repository at:
http://free-electrons.com/~maxime/git/buildroot.git for-2011.11/packages

Maxime Ripard (4):
Add the picocom package
Add Transmission package
Add lame support in gstreamer
Add the libplayer package

 package/Config.in                                  |    2 +
 package/multimedia/Config.in                       |    1 +
 package/multimedia/gst-plugins-ugly/Config.in      |    4 +
 .../gst-plugins-ugly/gst-plugins-ugly.mk           |    7 +
 package/multimedia/libplayer/Config.in             |   27 ++++
 package/multimedia/libplayer/libplayer.mk          |   44 ++++++
 package/picocom/Config.in                          |    9 +
 package/picocom/picocom.mk                         |   19 +++
 package/transmission/Config.in                     |   35 +++++
 package/transmission/S92transmission               |  161 ++++++++++++++++++++
 package/transmission/transmission.mk               |   47 ++++++
 11 files changed, 356 insertions(+), 0 deletions(-)
 create mode 100644 package/multimedia/libplayer/Config.in
 create mode 100644 package/multimedia/libplayer/libplayer.mk
 create mode 100644 package/picocom/Config.in
 create mode 100644 package/picocom/picocom.mk
 create mode 100644 package/transmission/Config.in
 create mode 100644 package/transmission/S92transmission
 create mode 100644 package/transmission/transmission.mk

Thanks,

Signature · 1 line
Maxime Ripard
#1 lore raw

PATCH 1/4 Add the picocom package

From: Maxime Ripard <[email protected]>

---
 package/Config.in          |    1 +
 package/picocom/Config.in  |    9 +++++++++
 package/picocom/picocom.mk |   19 +++++++++++++++++++
 3 files changed, 29 insertions(+), 0 deletions(-)
 create mode 100644 package/picocom/Config.in
 create mode 100644 package/picocom/picocom.mk
package/Config.in +1 -0
index d95e7b5..6065773 100644
@@ -192,6 +192,7 @@ source "package/mtd/Config.in"
 source "package/ntfs-3g/Config.in"
 source "package/ntfsprogs/Config.in"
 source "package/pciutils/Config.in"
+source "package/picocom/Config.in"
 source "package/rng-tools/Config.in"
 source "package/sdparm/Config.in"
 source "package/setserial/Config.in"
package/picocom/Config.in new file +9 -0
new file mode 100644
index 0000000..11c7d7a
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_PICOCOM
+	bool "picocom"
+	help
+	   picocom is a minimal dumb-terminal emulation program. It
+	   is, in principle, very much like minicom, only it's pico
+	   instead of mini!
+
+	   http://code.google.com/p/picocom/
+
package/picocom/picocom.mk new file +19 -0
new file mode 100644
index 0000000..b797381
@@ -0,0 +1,19 @@
+#############################################################
+#
+# picocom
+#
+#############################################################
+
+PICOCOM_VERSION = 1.6
+PICOCOM_SITE    = http://picocom.googlecode.com/files/
+
+define PICOCOM_BUILD_CMDS
+	$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
+endef
+
+define PICOCOM_INSTALL_TARGET_CMDS
+	install -D -m 0755 $(@D)/picocom $(TARGET_DIR)/usr/bin/picocom
+endef
+
+$(eval $(call GENTARGETS,package,picocom))
+
Signature · 1 line
1.7.4.1
#2 lore raw

PATCH 1/4 Add the picocom package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Ripard <[email protected]> writes:

Maxime> From: Maxime Ripard <[email protected]> Maxime> Signed-off-by: Maxime Ripard <[email protected]> Maxime> ---
Maxime> +++ b/package/picocom/Config.in
Maxime> @@ -0,0 +1,9 @@
Maxime> +config BR2_PACKAGE_PICOCOM
Maxime> + bool "picocom"
Maxime> + help

 Maxime> +	   picocom is a minimal dumb-terminal emulation program. It
 Maxime> +	   is, in principle, very much like minicom, only it's pico
 Maxime> +	   instead of mini!

Maxime> +

nitpick, help text is indented with <tab><space><space>, not 3 spaces.

Maxime> + http://code.google.com/p/picocom/
Maxime> +

You have an extra blank line here and in the .mk.

Committed with those small fixes, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#3 lore raw

PATCH 2/4 Add Transmission package

In reply to Maxime Ripard

From: Maxime Ripard <[email protected]>

---
 package/Config.in                    |    1 +
 package/transmission/Config.in       |   35 ++++++++
 package/transmission/S92transmission |  161 ++++++++++++++++++++++++++++++++++
 package/transmission/transmission.mk |   47 ++++++++++
 4 files changed, 244 insertions(+), 0 deletions(-)
 create mode 100644 package/transmission/Config.in
 create mode 100644 package/transmission/S92transmission
 create mode 100644 package/transmission/transmission.mk
package/Config.in +1 -0
index 6065773..bbbb97b 100644
@@ -467,6 +467,7 @@ source "package/thttpd/Config.in"
 source "package/tinyhttpd/Config.in"
 endif
 source "package/tn5250/Config.in"
+source "package/transmission/Config.in"
 source "package/ttcp/Config.in"
 source "package/udpcast/Config.in"
 source "package/vpnc/Config.in"
package/transmission/Config.in new file +35 -0
new file mode 100644
index 0000000..fc51c02
@@ -0,0 +1,35 @@
+config BR2_PACKAGE_TRANSMISSION
+	bool "transmission"
+	depends on BR2_INET_IPV6
+	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_LIBCURL
+	select BR2_PACKAGE_LIBEVENT
+	help
+	  Transmission is a cross-platform BitTorrent client.
+
+comment "Transmission requires a toolchain with IPv6 support"
+	depends on !BR2_INET_IPV6
+
+if BR2_PACKAGE_TRANSMISSION
+
+config BR2_PACKAGE_TRANSMISSION_UTP
+	bool "Transmission uTP support"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  Install support for uTorrent Transport Protocol
+
+comment "uTP requires a toolchain with C++ support"
+	depends on !BR2_INSTALL_LIBSTDCPP
+
+config BR2_PACKAGE_TRANSMISSION_CLI
+	bool "transmission-cli"
+	help
+	  Install transmission command line interface.
+
+config BR2_PACKAGE_TRANSMISSION_REMOTE
+	bool "transmission-remote"
+	default y
+	help
+	  Install transmission remote management tool.
+endif
package/transmission/S92transmission new file +161 -0

161 lines not on this page · raw message

package/transmission/transmission.mk new file +47 -0

47 lines not on this page · raw message

Signature · 1 line
1.7.4.1
#4 lore raw

PATCH 2/4 Add Transmission package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Ripard <[email protected]> writes:

Maxime> From: Maxime Ripard <[email protected]> Maxime> Signed-off-by: Maxime Ripard <[email protected]>

Isn't this based on some of the earlier transmission patches? If so, it would be good to give those authors some credits.

Maxime> +++ b/package/transmission/transmission.mk
Maxime> @@ -0,0 +1,47 @@
Maxime> +############################################################# Maxime> +#
Maxime> +# transmission
Maxime> +#
Maxime> +############################################################# Maxime> +TRANSMISSION_VERSION = 2.33
Maxime> +TRANSMISSION_SITE = http://download.transmissionbt.com/files/
Maxime> +TRANSMISSION_SOURCE = transmission-$(TRANSMISSION_VERSION).tar.bz2 Maxime> +TRANSMISSION_DEPENDENCIES = \
Maxime> + host-pkg-config \
Maxime> + libcurl \
Maxime> + libevent \
Maxime> + openssl \
Maxime> + zlib
Maxime> +
Maxime> +TRANSMISSION_CONF_OPT = \
Maxime> + --disable-gtk \
Maxime> + --disable-libnotify \
Maxime> + --disable-nls \

--disable-nls is normally handled automatically (depending on if the toolchain has locale support or not - See package/Makefile.in).

Maxime> + --enable-lightweight
Maxime> +
Maxime> +define TRANSMISSION_INIT_SCRIPT_INSTALL
Maxime> + $(INSTALL) -m 0755 -D package/transmission/S92transmission \
Maxime> + $(TARGET_DIR)/etc/init.d/S92transmission

The init script seems to have some configuration settings which might not suit everyone. For those cases we typically only install the file if it isn't already present in the rootfs skeleton - E.G. something like:

   [ -f $(TARGET_DIR)/etc/init.d/S92transmission ] || $(INSTALL) -m 0755 -D ..

Maxime> +ifeq ($(BR2_PACKAGE_TRANSMISSION_REMOTE),y)
Maxime> + TRANSMISSION_CONF_OPT += --enable-remote
Maxime> +else
Maxime> + TRANSMISSION_CONF_OPT += --disable-remote
Maxime> + TRANSMISSION_POST_INSTALL_TARGET_HOOKS += TRANSMISSION_INIT_SCRIPT_INSTALL

I don't really know transmission, but why is the init script only installed if this option isn't enabled? Transmission is a server (daemon), right? Presumably we should either have an option to not install the server (so you can use the -remote program to talk to a server on another machine). If we do that, the CLI option should depend on the server one.

Signature · 1 line
Bye, Peter Korsgaard
#5 lore raw

PATCH 2/4 Add Transmission package

Hi Peter,

Quoted 7 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Ripard <[email protected]> writes:

Maxime> From: Maxime Ripard <[email protected]> Maxime> Signed-off-by: Maxime Ripard <[email protected]>

Isn't this based on some of the earlier transmission patches? If so, it would be good to give those authors some credits.

Indeed, I've taken as a base as a base patches from
https://bugs.busybox.net/show_bug.cgi?id=743, and kept the authorship for the init script, but for the .mk, as it was incomplete/trivial/outdated, I did not mentionned authorship. Should I ?

Quoted 22 lines

Maxime> +++ b/package/transmission/transmission.mk
Maxime> @@ -0,0 +1,47 @@
Maxime> +############################################################# Maxime> +#
Maxime> +# transmission
Maxime> +#
Maxime> +############################################################# Maxime> +TRANSMISSION_VERSION = 2.33
Maxime> +TRANSMISSION_SITE = http://download.transmissionbt.com/files/
Maxime> +TRANSMISSION_SOURCE = transmission-$(TRANSMISSION_VERSION).tar.bz2 Maxime> +TRANSMISSION_DEPENDENCIES = \
Maxime> + host-pkg-config \
Maxime> + libcurl \
Maxime> + libevent \
Maxime> + openssl \
Maxime> + zlib
Maxime> +
Maxime> +TRANSMISSION_CONF_OPT = \
Maxime> + --disable-gtk \
Maxime> + --disable-libnotify \
Maxime> + --disable-nls \

Quoted 2 lines

--disable-nls is normally handled automatically (depending on if the toolchain has locale support or not - See package/Makefile.in).

Ah, nice :)

Quoted 11 lines

Maxime> + --enable-lightweight
Maxime> +
Maxime> +define TRANSMISSION_INIT_SCRIPT_INSTALL
Maxime> + $(INSTALL) -m 0755 -D package/transmission/S92transmission \
Maxime> + $(TARGET_DIR)/etc/init.d/S92transmission

The init script seems to have some configuration settings which might not suit everyone. For those cases we typically only install the file if it isn't already present in the rootfs skeleton - E.G. something like:

   [ -f $(TARGET_DIR)/etc/init.d/S92transmission ] || $(INSTALL) -m 0755 -D ..

You're right, will do.

Quoted 7 lines

Maxime> +ifeq ($(BR2_PACKAGE_TRANSMISSION_REMOTE),y)
Maxime> + TRANSMISSION_CONF_OPT += --enable-remote
Maxime> +else
Maxime> + TRANSMISSION_CONF_OPT += --disable-remote
Maxime> + TRANSMISSION_POST_INSTALL_TARGET_HOOKS += TRANSMISSION_INIT_SCRIPT_INSTALL

Quoted 6 lines

I don't really know transmission, but why is the init script only installed if this option isn't enabled? Transmission is a server (daemon), right? Presumably we should either have an option to not install the server (so you can use the -remote program to talk to a server on another machine). If we do that, the CLI option should depend on the server one.

As far as i can tell, the real back-end for transmission is libtransmission, not transmission-daemon. transmission-daemon relies on libtransmission just like transmission-gtk, but are both independant from each other. But in order to control transmission-daemon, you might need transmission-remote.

Maxime

Signature · 4 lines
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#6 lore raw

PATCH 1/1 Add Transmission package

In reply to Maxime Ripard

From: Maxime Ripard <[email protected]>

Initial work by marcus.osdoba at googlemail.com

---
 package/Config.in                    |    1 +
 package/transmission/Config.in       |   35 ++++++++
 package/transmission/S92transmission |  161 ++++++++++++++++++++++++++++++++++
 package/transmission/transmission.mk |   47 ++++++++++
 4 files changed, 244 insertions(+), 0 deletions(-)
 create mode 100644 package/transmission/Config.in
 create mode 100644 package/transmission/S92transmission
 create mode 100644 package/transmission/transmission.mk
package/Config.in +1 -0
index 904ebb6..088cde6 100644
@@ -475,6 +475,7 @@ source "package/thttpd/Config.in"
 source "package/tinyhttpd/Config.in"
 endif
 source "package/tn5250/Config.in"
+source "package/transmission/Config.in"
 source "package/ttcp/Config.in"
 source "package/udpcast/Config.in"
 source "package/vpnc/Config.in"
package/transmission/Config.in new file +35 -0
new file mode 100644
index 0000000..fc51c02
@@ -0,0 +1,35 @@
+config BR2_PACKAGE_TRANSMISSION
+	bool "transmission"
+	depends on BR2_INET_IPV6
+	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_LIBCURL
+	select BR2_PACKAGE_LIBEVENT
+	help
+	  Transmission is a cross-platform BitTorrent client.
+
+comment "Transmission requires a toolchain with IPv6 support"
+	depends on !BR2_INET_IPV6
+
+if BR2_PACKAGE_TRANSMISSION
+
+config BR2_PACKAGE_TRANSMISSION_UTP
+	bool "Transmission uTP support"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  Install support for uTorrent Transport Protocol
+
+comment "uTP requires a toolchain with C++ support"
+	depends on !BR2_INSTALL_LIBSTDCPP
+
+config BR2_PACKAGE_TRANSMISSION_CLI
+	bool "transmission-cli"
+	help
+	  Install transmission command line interface.
+
+config BR2_PACKAGE_TRANSMISSION_REMOTE
+	bool "transmission-remote"
+	default y
+	help
+	  Install transmission remote management tool.
+endif
package/transmission/S92transmission new file +161 -0

161 lines not on this page · raw message

package/transmission/transmission.mk new file +47 -0

47 lines not on this page · raw message

Signature · 1 line
1.7.4.1
#7 lore raw

PATCH 1/1 Add Transmission package

Ping ?

Quoted 288 lines · Maxime Ripard

From: Maxime Ripard <[email protected]>

Initial work by marcus.osdoba at googlemail.com

---
 package/Config.in                    |    1 +
 package/transmission/Config.in       |   35 ++++++++
 package/transmission/S92transmission |  161 ++++++++++++++++++++++++++++++++++
 package/transmission/transmission.mk |   47 ++++++++++
 4 files changed, 244 insertions(+), 0 deletions(-)
 create mode 100644 package/transmission/Config.in
 create mode 100644 package/transmission/S92transmission
 create mode 100644 package/transmission/transmission.mk
package/Config.in +1 -0
index 904ebb6..088cde6 100644
@@ -475,6 +475,7 @@ source "package/thttpd/Config.in"
 source "package/tinyhttpd/Config.in"
 endif
 source "package/tn5250/Config.in"
+source "package/transmission/Config.in"
 source "package/ttcp/Config.in"
 source "package/udpcast/Config.in"
 source "package/vpnc/Config.in"
package/transmission/Config.in new file +35 -0
new file mode 100644
index 0000000..fc51c02
@@ -0,0 +1,35 @@
+config BR2_PACKAGE_TRANSMISSION
+	bool "transmission"
+	depends on BR2_INET_IPV6
+	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_LIBCURL
+	select BR2_PACKAGE_LIBEVENT
+	help
+	  Transmission is a cross-platform BitTorrent client.
+
+comment "Transmission requires a toolchain with IPv6 support"
+	depends on !BR2_INET_IPV6
+
+if BR2_PACKAGE_TRANSMISSION
+
+config BR2_PACKAGE_TRANSMISSION_UTP
+	bool "Transmission uTP support"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  Install support for uTorrent Transport Protocol
+
+comment "uTP requires a toolchain with C++ support"
+	depends on !BR2_INSTALL_LIBSTDCPP
+
+config BR2_PACKAGE_TRANSMISSION_CLI
+	bool "transmission-cli"
+	help
+	  Install transmission command line interface.
+
+config BR2_PACKAGE_TRANSMISSION_REMOTE
+	bool "transmission-remote"
+	default y
+	help
+	  Install transmission remote management tool.
+endif
package/transmission/S92transmission new file +161 -0
new file mode 100644
index 0000000..f226154
@@ -0,0 +1,161 @@
+#!/bin/sh
+
+# Original Author: Lennart A. Jtte, based on Rob Howell's script
+# Modified by Maarten Van Coile & others (on IRC)
+
+# Changes for buildroot:
+# USERNAME points to 'default' in standard installation
+# TODO: set logfile with --logfile option
+
+# Do NOT "set -e"
+
+#
+# ----- CONFIGURATION -----
+#
+# For the default location Transmission uses, visit:
+# http://trac.transmissionbt.com/wiki/ConfigFiles
+# For a guide on how set the preferences, visit:
+# http://trac.transmissionbt.com/wiki/EditConfigFiles
+# For the available environement variables, visit:
+# http://trac.transmissionbt.com/wiki/EnvironmentVariables
+#
+# The name of the user that should run Transmission.
+# It's RECOMENDED to run Transmission in it's own user,
+# by default, this is set to 'transmission'.
+# For the sake of security you shouldn't set a password
+# on this user
+#USERNAME=transmission
+USERNAME=default
+
+
+
+# ----- *ADVANCED* CONFIGURATION -----
+# Only change these options if you know what you are doing!
+#
+# The folder where Transmission stores the config & web files.
+# ONLY change this you have it at a non-default location
+#TRANSMISSION_HOME="/var/config/transmission-daemon"
+#TRANSMISSION_WEB_HOME="/usr/share/transmission/web"
+#
+# The arguments passed on to transmission-daemon.
+# ONLY change this you need to, otherwise use the
+# settings file as per above.
+#TRANSMISSION_ARGS=""
+
+
+# ----- END OF CONFIGURATION -----
+#
+# PATH should only include /usr/* if it runs after the mountnfs.sh script.
+PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+DESC="bittorrent client"
+NAME=transmission-daemon
+DAEMON=$(which $NAME)
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+[ -f /etc/default/rcS ] && . /etc/default/rcS
+
+#
+# Function that starts the daemon/service
+#
+
+do_start()
+{
+    # Export the configuration/web directory, if set
+    if [ -n "$TRANSMISSION_HOME" ]; then
+          export TRANSMISSION_HOME
+    fi
+    if [ -n "$TRANSMISSION_WEB_HOME" ]; then
+          export TRANSMISSION_WEB_HOME
+    fi
+
+    # Return
+    #   0 if daemon has been started
+    #   1 if daemon was already running
+    #   2 if daemon could not be started
+    start-stop-daemon --chuid $USERNAME --start --pidfile $PIDFILE --make-pidfile \
+            --exec $DAEMON --background --test -- -f $TRANSMISSION_ARGS > /dev/null \
+            || return 1
+    start-stop-daemon --chuid $USERNAME --start --pidfile $PIDFILE --make-pidfile \
+            --exec $DAEMON --background -- -f $TRANSMISSION_ARGS \
+            || return 2
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+        # Return
+        #   0 if daemon has been stopped
+        #   1 if daemon was already stopped
+        #   2 if daemon could not be stopped
+        #   other if a failure occurred
+        start-stop-daemon --stop --quiet --retry=TERM/10/KILL/5 --pidfile $PIDFILE --name $NAME
+        RETVAL="$?"
+        [ "$RETVAL" = 2 ] && return 2
+
+        # Wait for children to finish too if this is a daemon that forks
+        # and if the daemon is only ever run from this initscript.
+        # If the above conditions are not satisfied then add some other code
+        # that waits for the process to drop all resources that could be
+        # needed by services started subsequently.  A last resort is to
+        # sleep for some time.
+
+        start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
+        [ "$?" = 2 ] && return 2
+
+        # Many daemons don't delete their pidfiles when they exit.
+        rm -f $PIDFILE
+
+        return "$RETVAL"
+}
+
+case "$1" in
+  start)
+        echo "Starting $DESC" "$NAME..."
+        do_start
+        case "$?" in
+                0|1) echo "   Starting $DESC $NAME succeeded" ;;
+                *)   echo "   Starting $DESC $NAME failed" ;;
+        esac
+        ;;
+  stop)
+        echo "Stopping $DESC $NAME..."
+        do_stop
+        case "$?" in
+                0|1) echo "   Stopping $DESC $NAME succeeded" ;;
+                *)   echo "   Stopping $DESC $NAME failed" ;;
+        esac
+        ;;
+  restart|force-reload)
+        #
+        # If the "reload" option is implemented then remove the
+        # 'force-reload' alias
+        #
+        echo "Restarting $DESC $NAME..."
+        do_stop
+        case "$?" in
+          0|1)
+                do_start
+                case "$?" in
+                    0|1) echo "   Restarting $DESC $NAME succeeded" ;;
+                    *)   echo "   Restarting $DESC $NAME failed: couldn't start $NAME" ;;
+                esac
+                ;;
+          *)
+                echo "   Restarting $DESC $NAME failed: couldn't stop $NAME" ;;
+        esac
+        ;;
+  *)
+        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
+        exit 3
+        ;;
+esac
package/transmission/transmission.mk new file +47 -0
new file mode 100644
index 0000000..451b525
@@ -0,0 +1,47 @@
+#############################################################
+#
+# transmission
+#
+#############################################################
+TRANSMISSION_VERSION = 2.33
+TRANSMISSION_SITE = http://download.transmissionbt.com/files/
+TRANSMISSION_SOURCE = transmission-$(TRANSMISSION_VERSION).tar.bz2
+TRANSMISSION_DEPENDENCIES = \
+	host-pkg-config \
+	libcurl \
+	libevent \
+	openssl \
+	zlib
+
+TRANSMISSION_CONF_OPT = \
+	--disable-gtk \
+	--disable-libnotify \
+	--enable-lightweight
+
+define TRANSMISSION_INIT_SCRIPT_INSTALL
+	[ -f $(TARGET_DIR)/etc/init.d/S92transmission ] || \
+		$(INSTALL) -m 0755 -D package/transmission/S92transmission \
+			$(TARGET_DIR)/etc/init.d/S92transmission
+endef
+
+ifeq ($(BR2_PACKAGE_TRANSMISSION_UTP),y)
+	TRANSMISSION_CONF_OPT += --enable-utp
+else
+	TRANSMISSION_CONF_OPT += --disable-utp
+endif
+
+ifeq ($(BR2_PACKAGE_TRANSMISSION_CLI),y)
+	TRANSMISSION_CONF_OPT += --enable-cli
+else
+	TRANSMISSION_CONF_OPT += --disable-cli
+endif
+
+
+ifeq ($(BR2_PACKAGE_TRANSMISSION_REMOTE),y)
+	TRANSMISSION_CONF_OPT += --enable-remote
+else
+	TRANSMISSION_CONF_OPT += --disable-remote
+	TRANSMISSION_POST_INSTALL_TARGET_HOOKS += TRANSMISSION_INIT_SCRIPT_INSTALL
+endif
+
+$(eval $(call AUTOTARGETS))
Signature · 4 lines
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#8 lore raw

PATCH 1/1 Add Transmission package

In reply to Maxime Ripard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Ripard <[email protected]> writes:

Maxime> From: Maxime Ripard <[email protected]> Maxime> Initial work by marcus.osdoba at googlemail.com

Committed with minor comments (see below) to next, thanks.

Maxime> +++ b/package/transmission/Config.in
Maxime> @@ -0,0 +1,35 @@
Maxime> +config BR2_PACKAGE_TRANSMISSION
Maxime> + bool "transmission"
Maxime> + depends on BR2_INET_IPV6
Maxime> + select BR2_PACKAGE_ZLIB
Maxime> + select BR2_PACKAGE_OPENSSL
Maxime> + select BR2_PACKAGE_LIBCURL
Maxime> + select BR2_PACKAGE_LIBEVENT
Maxime> + help
Maxime> + Transmission is a cross-platform BitTorrent client.
Maxime> +
Maxime> +comment "Transmission requires a toolchain with IPv6 support"
Maxime> + depends on !BR2_INET_IPV6
Maxime> +

This comment should go to the end of the file, otherwise the sub options don't get indented under the main transmission option in menuconfig.

Maxime> +++ b/package/transmission/transmission.mk
Maxime> @@ -0,0 +1,47 @@
Maxime> +############################################################# Maxime> +#
Maxime> +# transmission
Maxime> +#
Maxime> +############################################################# Maxime> +TRANSMISSION_VERSION = 2.33
Maxime> +TRANSMISSION_SITE = http://download.transmissionbt.com/files/
Maxime> +TRANSMISSION_SOURCE = transmission-$(TRANSMISSION_VERSION).tar.bz2 Maxime> +TRANSMISSION_DEPENDENCIES = \
Maxime> + host-pkg-config \
Maxime> + libcurl \
Maxime> + libevent \
Maxime> + openssl \
Maxime> + zlib
Maxime> +
Maxime> +TRANSMISSION_CONF_OPT = \
Maxime> + --disable-gtk \
Maxime> + --disable-libnotify \
Maxime> + --enable-lightweight
Maxime> +
Maxime> +define TRANSMISSION_INIT_SCRIPT_INSTALL
Maxime> + [ -f $(TARGET_DIR)/etc/init.d/S92transmission ] || \
Maxime> + $(INSTALL) -m 0755 -D package/transmission/S92transmission \
Maxime> + $(TARGET_DIR)/etc/init.d/S92transmission
Maxime> +endef
Maxime> +
Maxime> +ifeq ($(BR2_PACKAGE_TRANSMISSION_UTP),y)
Maxime> + TRANSMISSION_CONF_OPT += --enable-utp
Maxime> +else
Maxime> + TRANSMISSION_CONF_OPT += --disable-utp
Maxime> +endif
Maxime> +
Maxime> +ifeq ($(BR2_PACKAGE_TRANSMISSION_CLI),y)
Maxime> + TRANSMISSION_CONF_OPT += --enable-cli
Maxime> +else
Maxime> + TRANSMISSION_CONF_OPT += --disable-cli
Maxime> +endif
Maxime> +
Maxime> +
Maxime> +ifeq ($(BR2_PACKAGE_TRANSMISSION_REMOTE),y)
Maxime> + TRANSMISSION_CONF_OPT += --enable-remote
Maxime> +else
Maxime> + TRANSMISSION_CONF_OPT += --disable-remote
Maxime> + TRANSMISSION_POST_INSTALL_TARGET_HOOKS += TRANSMISSION_INIT_SCRIPT_INSTALL

I don't see the connection between transmission-remote and the the init script for transmission-daemon? I've instead added a TRANSMISSION_DAEMON option, and only install the init script if that is enabled instead.

Signature · 1 line
Bye, Peter Korsgaard
#9 lore raw

PATCH 3/4 Add lame support in gstreamer

In reply to Maxime Ripard

From: Maxime Ripard <[email protected]>

---
 package/multimedia/gst-plugins-ugly/Config.in      |    4 ++++
 .../gst-plugins-ugly/gst-plugins-ugly.mk           |    7 +++++++
 2 files changed, 11 insertions(+), 0 deletions(-)
package/multimedia/gst-plugins-ugly/Config.in +4 -0
index 94e2b9d..c0046e4 100644
@@ -38,6 +38,10 @@ config BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_SYNAESTHESIA
 
 comment "plugins with external dependencies (there may be more available)"
 
+config BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_LAME
+	bool "lame (*.mp3 audio encoder)"
+	select BR2_PACKAGE_LAME
+
 config BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_MAD
 	bool "mad (*.mp3 audio)"
 	select BR2_PACKAGE_LIBID3TAG
package/multimedia/gst-plugins-ugly/gst-plugins-ugly.mk +7 -0
index ab557a3..7acf0da 100644
@@ -60,6 +60,13 @@ else
 GST_PLUGINS_UGLY_CONF_OPT += --disable-synaesthesia
 endif
 
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_LAME),y)
+GST_PLUGINS_UGLY_CONF_OPT += --enable-lame
+GST_PLUGINS_UGLY_DEPENDENCIES += lame
+else
+GST_PLUGINS_UGLY_CONF_OPT += --disable-lame
+endif
+
 ifeq ($(BR2_PACKAGE_GST_PLUGINS_UGLY_PLUGIN_MAD),y)
 GST_PLUGINS_UGLY_CONF_OPT += --enable-mad
 GST_PLUGINS_UGLY_DEPENDENCIES += libid3tag libmad
Signature · 1 line
1.7.4.1
#11 lore raw

PATCH 4/4 Add the libplayer package

In reply to Maxime Ripard

From: Maxime Ripard <[email protected]>

---
 package/multimedia/Config.in              |    1 +
 package/multimedia/libplayer/Config.in    |   27 +++++++++++++++++
 package/multimedia/libplayer/libplayer.mk |   44 +++++++++++++++++++++++++++++
 3 files changed, 72 insertions(+), 0 deletions(-)
 create mode 100644 package/multimedia/libplayer/Config.in
 create mode 100644 package/multimedia/libplayer/libplayer.mk
package/multimedia/Config.in +1 -0
index 40760b7..7b63c14 100644
@@ -26,6 +26,7 @@ source "package/multimedia/libmms/Config.in"
 source "package/multimedia/libmpd/Config.in"
 source "package/multimedia/libmpeg2/Config.in"
 source "package/multimedia/libogg/Config.in"
+source "package/multimedia/libplayer/Config.in"
 source "package/multimedia/libreplaygain/Config.in"
 source "package/multimedia/libsamplerate/Config.in"
 source "package/multimedia/libsndfile/Config.in"
package/multimedia/libplayer/Config.in new file +27 -0
new file mode 100644
index 0000000..38315ec
@@ -0,0 +1,27 @@
+config BR2_PACKAGE_LIBPLAYER
+	depends on BR2_LARGEFILE
+	bool "libplayer"
+	help
+	  libplayer provides a generic A/V API that relies on various multimedia
+	  player for Linux systems. It currently supports MPlayer, xine VLC and
+	  GStreamer only
+
+	  http://libplayer.geexbox.org/
+
+comment "Libplayer requires a toolchain with LARGEFILE support"
+	depends on !BR2_LARGEFILE
+
+if BR2_PACKAGE_LIBPLAYER
+config BR2_PACKAGE_LIBPLAYER_MPLAYER
+	depends on BR2_PACKAGE_MPLAYER
+	bool "Libplayer mplayer backend"
+
+config BR2_PACKAGE_LIBPLAYER_GSTREAMER
+	depends on BR2_PACKAGE_GSTREAMER
+	bool "Libplayer GStreamer backend"
+
+config BR2_PACKAGE_LIBPLAYER_PYTHON
+	depends on BR2_PACKAGE_PYTHON
+	bool "Libplayer python bindings"
+endif
+
package/multimedia/libplayer/libplayer.mk new file +44 -0

44 lines not on this page · raw message

Signature · 1 line
1.7.4.1
#12 lore raw

PATCH 4/4 Add the libplayer package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Ripard <[email protected]> writes:

Hi,

Maxime> From: Maxime Ripard <[email protected]> Maxime> +config BR2_PACKAGE_LIBPLAYER
Maxime> + depends on BR2_LARGEFILE
Maxime> + bool "libplayer"
Maxime> + help

 Maxime> +	  libplayer provides a generic A/V API that relies on various multimedia
 Maxime> +	  player for Linux systems. It currently supports MPlayer, xine VLC and
 Maxime> +	  GStreamer only

Maxime> +
Maxime> + http://libplayer.geexbox.org/
Maxime> +
Maxime> +comment "Libplayer requires a toolchain with LARGEFILE support"
Maxime> + depends on !BR2_LARGEFILE
Maxime> +

This should go under the 'if BR2_PACKAGE_LIBPLAYER' conditional.

Maxime> +if BR2_PACKAGE_LIBPLAYER
Maxime> +config BR2_PACKAGE_LIBPLAYER_MPLAYER
Maxime> + depends on BR2_PACKAGE_MPLAYER
Maxime> + bool "Libplayer mplayer backend"
Maxime> +
Maxime> +config BR2_PACKAGE_LIBPLAYER_GSTREAMER
Maxime> + depends on BR2_PACKAGE_GSTREAMER
Maxime> + bool "Libplayer GStreamer backend"
Maxime> +
Maxime> +config BR2_PACKAGE_LIBPLAYER_PYTHON
Maxime> + depends on BR2_PACKAGE_PYTHON
Maxime> + bool "Libplayer python bindings"
Maxime> +endif
Maxime> +

Empty line.

Does libplayer do anything sensible with both backends disabled or do we need to depend on BR2_PACKAGE_MPLAYER || BR2_PACKAGE_GSTREAMER?

Does it need any specific gstreamer plugins (like playbin2)?

Maxime> diff --git a/package/multimedia/libplayer/libplayer.mk b/package/multimedia/libplayer/libplayer.mk Maxime> new file mode 100644
Maxime> index 0000000..1552431
Maxime> --- /dev/null
Maxime> +++ b/package/multimedia/libplayer/libplayer.mk
Maxime> @@ -0,0 +1,44 @@
Maxime> +#############################################################
Maxime> +#
Maxime> +# libplayer
Maxime> +#
Maxime> +#############################################################
Maxime> +LIBPLAYER_VERSION = 2.0.1
Maxime> +LIBPLAYER_SITE = http://libplayer.geexbox.org/releases/
Maxime> +LIBPLAYER_SOURCE = libplayer-$(LIBPLAYER_VERSION).tar.bz2
Maxime> +
Maxime> +# When passing the standard buildroot configure arguments, the configure script Maxime> +# breaks on --target and --host options. Thus we need to define a configure cmd Maxime> +# ourselves.
Maxime> +define LIBPLAYER_CONFIGURE_CMDS
Maxime> + (cd $(@D) && rm -rf config.cache && \
Maxime> + $(TARGET_CONFIGURE_OPTS) \
Maxime> + $(TARGET_CONFIGURE_ARGS) \
Maxime> + ./configure \
Maxime> + --prefix=/usr \
Maxime> + --cross-compile \
Maxime> + $(SHARED_STATIC_LIBS_OPTS) \
Maxime> + $(QUIET) $(LIBPLAYER_CONF_OPT) \

Is that $(QUIET) correct?

./configure -q ~/source/buildroot/test/build/libplayer-2.0.1
Unknown option "-q".
See ./configure --help for available options.

It doesn't look like it.

I did a test build, but configure dies right away:

Checking for compiler available...
Error, can't find pthread_mutex_init !
See file "config.log" produced by configure for more details.

config.log contains:

/home/peko/source/buildroot/test/host/usr/bin/arm-unknown-linux-uclibcgnueabi-gc c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -pipe -Os -W -Wall -E -o /tmp/libplayer-6047-14742-29987.o /tmp/libplayer-6150-14742-15899.c In file included from /home/peko/source/buildroot/test/host/usr/arm-unknown-linu x-uclibcgnueabi/sysroot/usr/include/pthread.h:23,

                 from /tmp/libplayer-6150-14742-15899.c:1:

/home/peko/source/buildroot/test/host/usr/arm-unknown-linux-uclibcgnueabi/sysroot/usr/include/features.h:219:5: error: #error It appears you have defined _FILE_OFFSET_BITS=64. Unfortunately, uClibc was built without large file support enabled.

So it seems you need to depend on BR2_LARGEFILE.

Signature · 1 line
Bye, Peter Korsgaard
#13 lore raw

PATCH 4/4 Add the libplayer package

Le Wed, 05 Oct 2011 22:16:34 +0200,
Peter Korsgaard <[email protected]> a ?crit :

Quoted 12 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Ripard <[email protected]> writes:

Hi,

Maxime> From: Maxime Ripard <[email protected]> Maxime> +config BR2_PACKAGE_LIBPLAYER
Maxime> + depends on BR2_LARGEFILE
Maxime> + bool "libplayer"
Maxime> + help

 Maxime> +	  libplayer provides a generic A/V API that relies on various multimedia
 Maxime> +	  player for Linux systems. It currently supports MPlayer, xine VLC and
 Maxime> +	  GStreamer only
Quoted 8 lines

Maxime> +
Maxime> + http://libplayer.geexbox.org/
Maxime> +
Maxime> +comment "Libplayer requires a toolchain with LARGEFILE support"
Maxime> + depends on !BR2_LARGEFILE
Maxime> +

This should go under the 'if BR2_PACKAGE_LIBPLAYER' conditional.

Hu ? We want this comment to be shown when libplayer is *not* enabled, to let the user know that if (s)he doesn't see libplayer, it's because largefile is not enabled. So definitely, we don't want this comment to depend on BR2_PACKAGE_LIBPLAYER. Or am I missing something here ?

Quoted 15 lines

Maxime> +if BR2_PACKAGE_LIBPLAYER
Maxime> +config BR2_PACKAGE_LIBPLAYER_MPLAYER
Maxime> + depends on BR2_PACKAGE_MPLAYER
Maxime> + bool "Libplayer mplayer backend"
Maxime> +
Maxime> +config BR2_PACKAGE_LIBPLAYER_GSTREAMER
Maxime> + depends on BR2_PACKAGE_GSTREAMER
Maxime> + bool "Libplayer GStreamer backend"
Maxime> +
Maxime> +config BR2_PACKAGE_LIBPLAYER_PYTHON
Maxime> + depends on BR2_PACKAGE_PYTHON
Maxime> + bool "Libplayer python bindings"
Maxime> +endif
Maxime> +

Quoted 4 lines

Empty line.

Does libplayer do anything sensible with both backends disabled or do we need to depend on BR2_PACKAGE_MPLAYER || BR2_PACKAGE_GSTREAMER?

I did ask the same question to Maxime, and libplayer builds fine with neither backends enabled. It probably doesn't do anything useful, but I would say that it's the user responsibility here.

Quoted 1 line

So it seems you need to depend on BR2_LARGEFILE.

Which it does:

Quoted 2 lines

Maxime> +config BR2_PACKAGE_LIBPLAYER
Maxime> + depends on BR2_LARGEFILE

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#14 lore raw

PATCH 4/4 Add the libplayer package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Hi,

Maxime> +comment "Libplayer requires a toolchain with LARGEFILE support"
Maxime> + depends on !BR2_LARGEFILE
Maxime> +

Quoted 2 lines
Quoted 2 lines

This should go under the 'if BR2_PACKAGE_LIBPLAYER' conditional.

Thomas> Hu ? We want this comment to be shown when libplayer is *not* enabled, Thomas> to let the user know that if (s)he doesn't see libplayer, it's because Thomas> largefile is not enabled. So definitely, we don't want this comment to Thomas> depend on BR2_PACKAGE_LIBPLAYER. Or am I missing something here ?

No, just me not thinking. Nothing to see here, move along .. ;)

Quoted 2 lines
Quoted 2 lines

Does libplayer do anything sensible with both backends disabled or do we need to depend on BR2_PACKAGE_MPLAYER || BR2_PACKAGE_GSTREAMER?

Thomas> I did ask the same question to Maxime, and libplayer builds fine with Thomas> neither backends enabled. It probably doesn't do anything useful, but I Thomas> would say that it's the user responsibility here.

Ok.

Quoted 1 line
Quoted 1 line

So it seems you need to depend on BR2_LARGEFILE.

Thomas> Which it does:

Maxime> +config BR2_PACKAGE_LIBPLAYER
Maxime> + depends on BR2_LARGEFILE

Argh, you're right. I need some more sleep it seems (or atleast stop trying to do 5 things at once). When testing, I didn't run menuconfig but just 'make libplayer' and my toolchain didn't have largefile support.

Sorry about the noise, will commit now - Thanks both.

Signature · 1 line
Bye, Peter Korsgaard
#15 lore raw

PATCH 4/4 Add the libplayer package

In reply to Maxime Ripard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Ripard <[email protected]> writes:

Maxime> From: Maxime Ripard <[email protected]> Maxime> Signed-off-by: Maxime Ripard <[email protected]>

Committed with minor changes, thanks.

Maxime> diff --git a/package/multimedia/libplayer/Config.in b/package/multimedia/libplayer/Config.in Maxime> new file mode 100644
Maxime> index 0000000..38315ec
Maxime> --- /dev/null
Maxime> +++ b/package/multimedia/libplayer/Config.in
Maxime> @@ -0,0 +1,27 @@
Maxime> +config BR2_PACKAGE_LIBPLAYER
Maxime> + depends on BR2_LARGEFILE
Maxime> + bool "libplayer"
Maxime> + help

 Maxime> +	  libplayer provides a generic A/V API that relies on various multimedia
 Maxime> +	  player for Linux systems. It currently supports MPlayer, xine VLC and
 Maxime> +	  GStreamer only

Maxime> +
Maxime> + http://libplayer.geexbox.org/
Maxime> +
Maxime> +comment "Libplayer requires a toolchain with LARGEFILE support"
Maxime> + depends on !BR2_LARGEFILE
Maxime> +

This should be at the bottom of the file (after the sub options), otherwise those don't get indented under BR2_PACKAGE_LIBPLAYER

Maxime> +if BR2_PACKAGE_LIBPLAYER
Maxime> +config BR2_PACKAGE_LIBPLAYER_MPLAYER
Maxime> + depends on BR2_PACKAGE_MPLAYER
Maxime> + bool "Libplayer mplayer backend"

It's not really clear for people who don't know the libplayer implementation that they need to go and enable mplayer/gstreamer to get libplayer to do anything useful, so I've changed these 'depends on' to select like we normally do for libraries (yes, mplayer isn't really a library, but here it is used as one).

At the same time I tweaked the option names a bit.

Signature · 1 line
Bye, Peter Korsgaard