mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Juergen Beisert <jbe@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: [ptxdist] [PATCH 3/5] ICECAST: add an audio streaming server
Date: Fri,  6 Apr 2012 14:45:18 +0200	[thread overview]
Message-ID: <1333716320-7923-4-git-send-email-jbe@pengutronix.de> (raw)
In-Reply-To: <1333716320-7923-1-git-send-email-jbe@pengutronix.de>

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
---
 generic/etc/icecast.xml                          |  180 ++++++++++++++++++++
 generic/etc/init.d/icecast                       |   41 +++++
 patches/icecast-2.3.2/autogen.sh                 |    1 +
 patches/icecast-2.3.2/enabled_silen_rules.diff   |   24 +++
 patches/icecast-2.3.2/fix_curl_detection.diff    |  179 ++++++++++++++++++++
 patches/icecast-2.3.2/fix_ogg_detection.diff     |  115 +++++++++++++
 patches/icecast-2.3.2/fix_openssl_detection.diff |  116 +++++++++++++
 patches/icecast-2.3.2/fix_speex_detection.diff   |  171 +++++++++++++++++++
 patches/icecast-2.3.2/fix_theora_detection.diff  |  160 ++++++++++++++++++
 patches/icecast-2.3.2/fix_vorbis_detection.diff  |  191 ++++++++++++++++++++++
 patches/icecast-2.3.2/fix_xml_detection.diff     |  102 ++++++++++++
 patches/icecast-2.3.2/fix_yp_handling.diff       |   60 +++++++
 patches/icecast-2.3.2/series                     |   10 ++
 patches/icecast-2.3.2/use_pkg_config.diff        |   19 +++
 rules/icecast.in                                 |   50 ++++++
 rules/icecast.make                               |   71 ++++++++
 16 files changed, 1490 insertions(+)
 create mode 100644 generic/etc/icecast.xml
 create mode 100644 generic/etc/init.d/icecast
 create mode 120000 patches/icecast-2.3.2/autogen.sh
 create mode 100644 patches/icecast-2.3.2/enabled_silen_rules.diff
 create mode 100644 patches/icecast-2.3.2/fix_curl_detection.diff
 create mode 100644 patches/icecast-2.3.2/fix_ogg_detection.diff
 create mode 100644 patches/icecast-2.3.2/fix_openssl_detection.diff
 create mode 100644 patches/icecast-2.3.2/fix_speex_detection.diff
 create mode 100644 patches/icecast-2.3.2/fix_theora_detection.diff
 create mode 100644 patches/icecast-2.3.2/fix_vorbis_detection.diff
 create mode 100644 patches/icecast-2.3.2/fix_xml_detection.diff
 create mode 100644 patches/icecast-2.3.2/fix_yp_handling.diff
 create mode 100644 patches/icecast-2.3.2/series
 create mode 100644 patches/icecast-2.3.2/use_pkg_config.diff
 create mode 100644 rules/icecast.in
 create mode 100644 rules/icecast.make

diff --git a/generic/etc/icecast.xml b/generic/etc/icecast.xml
new file mode 100644
index 0000000..3f7f349
--- /dev/null
+++ b/generic/etc/icecast.xml
@@ -0,0 +1,180 @@
+<icecast>
+    <limits>
+        <clients>100</clients>
+        <sources>2</sources>
+        <threadpool>5</threadpool>
+        <queue-size>524288</queue-size>
+        <client-timeout>30</client-timeout>
+        <header-timeout>15</header-timeout>
+        <source-timeout>10</source-timeout>
+        <!-- If enabled, this will provide a burst of data when a client 
+             first connects, thereby significantly reducing the startup 
+             time for listeners that do substantial buffering. However,
+             it also significantly increases latency between the source
+             client and listening client.  For low-latency setups, you
+             might want to disable this. -->
+        <burst-on-connect>1</burst-on-connect>
+        <!-- same as burst-on-connect, but this allows for being more
+             specific on how much to burst. Most people won't need to
+             change from the default 64k. Applies to all mountpoints  -->
+        <burst-size>65535</burst-size>
+    </limits>
+
+    <authentication>
+        <!-- Sources log in with username 'source' -->
+        <source-password>hackme</source-password>
+        <!-- Relays log in username 'relay' -->
+        <relay-password>hackme</relay-password>
+
+        <!-- Admin logs in with the username given below -->
+        <admin-user>admin</admin-user>
+        <admin-password>hackme</admin-password>
+    </authentication>
+
+    <!-- set the mountpoint for a shoutcast source to use, the default if not
+         specified is /stream but you can change it here if an alternative is
+         wanted or an extension is required
+    <shoutcast-mount>/live.nsv</shoutcast-mount>
+    -->
+
+    <!-- Uncomment this if you want directory listings -->
+    <!--
+    <directory>
+        <yp-url-timeout>15</yp-url-timeout>
+        <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
+    </directory>
+     -->
+
+    <!-- This is the hostname other people will use to connect to your server.
+    It affects mainly the urls generated by Icecast for playlists and yp
+    listings. -->
+    <hostname>Aura</hostname>
+
+    <!-- You may have multiple <listener> elements -->
+    <listen-socket>
+        <port>8000</port>
+        <!-- <bind-address>127.0.0.1</bind-address> -->
+<!--         <shoutcast-mount>/jbestream</shoutcast-mount> -->
+    </listen-socket>
+    <!--
+    <listen-socket>
+        <port>8001</port>
+    </listen-socket>
+    -->
+
+    <!--<master-server>127.0.0.1</master-server>-->
+    <!--<master-server-port>8001</master-server-port>-->
+    <!--<master-update-interval>120</master-update-interval>-->
+    <!--<master-password>hackme</master-password>-->
+
+    <!-- setting this makes all relays on-demand unless overridden, this is
+         useful for master relays which do not have <relay> definitions here.
+         The default is 0 -->
+    <!--<relays-on-demand>1</relays-on-demand>-->
+
+    <!--
+    <relay>
+        <server>127.0.0.1</server>
+        <port>8001</port>
+        <mount>/example.ogg</mount>
+        <local-mount>/different.ogg</local-mount>
+        <on-demand>0</on-demand>
+
+        <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
+    </relay>
+    -->
+
+    <!--
+	<mount>
+		<mount-name>/jbe</mount-name>
+		<username>generator</username>
+		<password>hackmemore</password>
+	</mount>
+    -->
+
+    <!-- Only define a <mount> section if you want to use advanced options,
+         like alternative usernames or passwords
+    <mount>
+        <mount-name>/example-complex.ogg</mount-name>
+
+        <username>othersource</username>
+        <password>hackmemore</password>
+
+        <max-listeners>1</max-listeners>
+        <dump-file>/tmp/dump-example1.ogg</dump-file>
+        <burst-size>65536</burst-size>
+        <fallback-mount>/example2.ogg</fallback-mount>
+        <fallback-override>1</fallback-override>
+        <fallback-when-full>1</fallback-when-full>
+        <intro>/example_intro.ogg</intro>
+        <hidden>1</hidden>
+        <no-yp>1</no-yp>
+        <authentication type="htpasswd">
+                <option name="filename" value="myauth"/>
+                <option name="allow_duplicate_users" value="0"/>
+        </authentication>
+        <on-connect>/home/icecast/bin/stream-start</on-connect>
+        <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
+    </mount>
+
+    <mount>
+        <mount-name>/auth_example.ogg</mount-name>
+        <authentication type="url">
+            <option name="mount_add"       value="http://myauthserver.net/notify_mount.php"/>
+            <option name="mount_remove"    value="http://myauthserver.net/notify_mount.php"/>
+            <option name="listener_add"    value="http://myauthserver.net/notify_listener.php"/>
+            <option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/>
+        </authentication>
+    </mount>
+
+    -->
+
+    <fileserve>1</fileserve>
+
+    <paths>
+		<!-- basedir is only used if chroot is enabled -->
+        <basedir>/usr/share/icecast</basedir>
+
+        <!-- Note that if <chroot> is turned on below, these paths must both
+             be relative to the new root, not the original root -->
+        <logdir>/var/log/icecast</logdir>
+        <webroot>/usr/share/icecast/web</webroot>
+        <adminroot>/usr/share/icecast/admin</adminroot>
+        <pidfile>/var/run/icecast.pid</pidfile>
+
+        <!-- Aliases: treat requests for 'source' path as being for 'dest' path
+             May be made specific to a port or bound address using the "port"
+             and "bind-address" attributes.
+          -->
+        <!--
+        <alias source="/foo" dest="/bar"/>
+          -->
+        <!-- Aliases: can also be used for simple redirections as well,
+             this example will redirect all requests for http://server:port/ to
+             the status page
+          -->
+        <alias source="/" dest="/status.xsl"/>
+    </paths>
+
+    <logging>
+        <accesslog>access.log</accesslog>
+        <errorlog>error.log</errorlog>
+        <!-- <playlistlog>playlist.log</playlistlog> -->
+      	<loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
+      	<logsize>10000</logsize> <!-- Max size of a logfile -->
+        <!-- If logarchive is enabled (1), then when logsize is reached
+             the logfile will be moved to [error|access|playlist].log.DATESTAMP,
+             otherwise it will be moved to [error|access|playlist].log.old.
+             Default is non-archive mode (i.e. overwrite)
+        -->
+        <!-- <logarchive>1</logarchive> -->
+    </logging>
+
+    <security>
+        <chroot>0</chroot>
+        <changeowner>
+            <user>nobody</user>
+            <group>nogroup</group>
+        </changeowner>
+    </security>
+</icecast>
diff --git a/generic/etc/init.d/icecast b/generic/etc/init.d/icecast
new file mode 100644
index 0000000..8d3e40f
--- /dev/null
+++ b/generic/etc/init.d/icecast
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+ICECAST_PID=/var/run/icecast.pid
+ICECAST_CONF=/etc/icecast.xml
+ICECAST_LOG=/var/log/icecast
+
+create_dirs() {
+	if [ ! -e ${ICECAST_LOG} ]; then
+		mkdir -p ${ICECAST_LOG}
+		chown nobody.nogroup ${ICECAST_LOG}
+	fi
+}
+
+case "$1" in
+
+	start)
+		if [ -e ${ICECAST_PID} ]; then
+			echo "Icecast is already running"
+			exit 1
+		fi
+
+		create_dirs
+		icecast -c ${ICECAST_CONF} -b
+		;;
+	stop)
+		if [ ! -e ${ICECAST_PID} ]; then
+			echo "Icecast is not running"
+			exit 1
+		fi
+
+		kill `cat ${ICECAST_PID}`
+		# icecast does not remove its own PID file
+		rm ${ICECAST_PID}
+		;;
+	*)
+		echo "Usage: $0 {start|stop}" >&2
+		exit 1
+		;;
+esac
+
+exit 0
diff --git a/patches/icecast-2.3.2/autogen.sh b/patches/icecast-2.3.2/autogen.sh
new file mode 120000
index 0000000..9f8a4cb
--- /dev/null
+++ b/patches/icecast-2.3.2/autogen.sh
@@ -0,0 +1 @@
+../autogen.sh
\ No newline at end of file
diff --git a/patches/icecast-2.3.2/enabled_silen_rules.diff b/patches/icecast-2.3.2/enabled_silen_rules.diff
new file mode 100644
index 0000000..da51af0
--- /dev/null
+++ b/patches/icecast-2.3.2/enabled_silen_rules.diff
@@ -0,0 +1,24 @@
+From: Juergen Beisert <jbe@pengutronix.de>
+Subject: Enable silent rules
+Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
+---
+ configure.in |    6 ++++++
+ 1 file changed, 6 insertions(+)
+
+Index: icecast-2.3.2/configure.in
+===================================================================
+--- icecast-2.3.2.orig/configure.in
++++ icecast-2.3.2/configure.in
+@@ -5,6 +5,12 @@ AC_CONFIG_SRCDIR(src/main.c)
+ dnl Process this file with autoconf to produce a configure script.
+ 
+ AM_INIT_AUTOMAKE
++
++# default is more output while building the package
++m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES])
++AM_SILENT_RULES([yes])
++AM_CONDITIONAL(BUILD_SILENTLY, test "x$enable_silent_rules" = xyes)
++
+ AM_CONFIG_HEADER(config.h)
+ AM_MAINTAINER_MODE
+ 
diff --git a/patches/icecast-2.3.2/fix_curl_detection.diff b/patches/icecast-2.3.2/fix_curl_detection.diff
new file mode 100644
index 0000000..072e27f
--- /dev/null
+++ b/patches/icecast-2.3.2/fix_curl_detection.diff
@@ -0,0 +1,179 @@
+From: Juergen Beisert <jbe@pengutronix.de>
+Subject: Fix libCURL detection
+Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
+---
+ configure.in    |   30 +++++++++++----------
+ m4/xiph_curl.m4 |   78 --------------------------------------------------------
+ src/Makefile.am |   10 +++++--
+ 3 files changed, 23 insertions(+), 95 deletions(-)
+
+Index: icecast-2.3.2/m4/xiph_curl.m4
+===================================================================
+--- icecast-2.3.2.orig/m4/xiph_curl.m4
++++ /dev/null
+@@ -1,78 +0,0 @@
+-dnl XIPH_PATH_CURL([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+-dnl Test for libcurl, and define CURL_CFLAGS and CURL_LIBS
+-dnl
+-dnl $Id: xiph_curl.m4 14776 2008-04-19 01:54:11Z karl $
+-dnl
+-AC_DEFUN([XIPH_PATH_CURL],
+-[dnl 
+-dnl Get the cflags and libraries
+-dnl
+-AC_ARG_WITH(curl,
+-    AC_HELP_STRING([--with-curl=PFX],[Prefix where libcurl is installed (optional)]),
+-    curl_prefix="$withval", curl_prefix="$CURL_PREFIX")
+-
+-if test "x$curl_prefix" = "xno"
+-then
+-  AC_MSG_RESULT([libcurl support disabled by request])
+-else
+-
+-AC_ARG_WITH(curl-config,
+-    AC_HELP_STRING([--with-curl-config=curl-config],[Use curl-config to find libcurl]),
+-    CURL_CONFIG="$withval", [AC_PATH_PROGS(CURL_CONFIG, [curl-config], "")])
+-
+-if test "x$curl_prefix" != "x" -a "x$curl_prefix" != "xyes"; then
+-    CURL_LIBS="-L$curl_prefix/lib -lcurl"
+-    CURL_CFLAGS="-I$curl_prefix/include"
+-elif test "x$CURL_CONFIG" != "x"; then
+-    if ! test -x "$CURL_CONFIG"; then
+-        AC_MSG_ERROR([$CURL_CONFIG cannot be executed])
+-    fi
+-    CURL_LIBS="$($CURL_CONFIG --libs)"
+-    CURL_CFLAGS="$($CURL_CONFIG --cflags)"
+-else
+-    if test "x$prefix" = "xNONE"; then
+-        curl_prefix="/usr/local"
+-    else
+-        curl_prefix="$prefix"
+-    fi
+-    CURL_LIBS="-L$curl_prefix/lib -lcurl"
+-    CURL_CFLAGS="-I$curl_prefix/include"
+-fi
+-
+-curl_ok="yes"
+-
+-xt_curl_CPPFLAGS="$CPPFLAGS"
+-xt_curl_LIBS="$LIBS"
+-CPPFLAGS="$CPPFLAGS $CURL_CFLAGS"
+-LIBS="$CURL_LIBS $LIBS"
+-dnl
+-dnl Now check if the installed libcurl is sufficiently new.
+-dnl
+-AC_CHECK_HEADERS([curl/curl.h],, curl_ok="no") 
+-AC_MSG_CHECKING(for libcurl)
+-if test "$curl_ok" = "yes"
+-then
+-    AC_RUN_IFELSE(AC_LANG_SOURCE([
+-#include <curl/curl.h>
+-int main()
+-{
+-    return 0;
+-}
+-]),,[curl_ok="no"])
+-fi
+-if test "$curl_ok" = "yes"; then
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(HAVE_CURL, 1, [Define if you have libcurl.])
+-    ifelse([$1], , :, [$1])     
+-else
+-    AC_MSG_RESULT(no)
+-    CURL_LIBS=""
+-    CURL_CFLAGS=""
+-    ifelse([$2], , :, [$2])
+-fi
+-CPPFLAGS="$xt_curl_CPPFLAGS"
+-LIBS="$xt_curl_LIBS"
+-fi
+-AC_SUBST(CURL_CFLAGS)
+-AC_SUBST(CURL_LIBS)
+-])
+Index: icecast-2.3.2/configure.in
+===================================================================
+--- icecast-2.3.2.orig/configure.in
++++ icecast-2.3.2/configure.in
+@@ -128,25 +128,27 @@ XIPH_VAR_APPEND([XIPH_CFLAGS],[$PTHREAD_
+ XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$PTHREAD_CPPFLAGS])
+ XIPH_VAR_PREPEND([XIPH_LIBS],[$PTHREAD_LIBS])
+ 
+-XIPH_PATH_CURL([
+-    AC_CHECK_DECL([CURLOPT_NOSIGNAL],
+-        [ AC_DEFINE([HAVE_AUTH_URL], 1, [Define to compile in auth URL support code])
+-        AC_CHECK_FUNCS([curl_global_init])
+-        ICECAST_OPTIONAL="$ICECAST_OPTIONAL auth_url.o"
+-        enable_curl="yes"
+-        XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$CURL_CFLAGS])
+-        XIPH_VAR_PREPEND([XIPH_LIBS],[$CURL_LIBS])
+-        ], [ AC_MSG_NOTICE([Your curl dev files are too old (7.10 or above required)])
+-        ], [#include <curl/curl.h>
+-        ])
+-    ],[ AC_MSG_NOTICE([libcurl not found])
+-    ])
++AC_MSG_CHECKING([for libcurl])
++AC_ARG_WITH(curl,
++	AS_HELP_STRING([--with-curl],
++		[Use libcurl @<:@default=no@:>@]),
++	[], [with_curl=no])
++
++if test x$with_curl = xno; then
++	AC_MSG_RESULT([libcurl support disabled by request])
++else
++	AC_MSG_RESULT([${with_curl}])
++	PKG_CHECK_MODULES(CURL, libcurl)
++	AC_DEFINE(HAVE_CURL, 1, [Define if you have libcurl.])
++fi
++AM_CONDITIONAL(BUILD_CURL, [test x$with_curl = xyes])
++
+ dnl -- YP support --
+ AC_ARG_ENABLE([yp],
+         AC_HELP_STRING([--disable-yp],[disable YP directory support]),
+         enable_yp="$enableval",
+         enable_yp="yes")
+-if test "x$enable_yp" = "xyes" -a "x$enable_curl" = xyes
++if test "x$enable_yp" = "xyes" -a x$with_curl = xyes
+ then
+     AC_DEFINE([USE_YP], 1, [Define to compile in YP support code])
+     ICECAST_OPTIONAL="$ICECAST_OPTIONAL yp.o"
+Index: icecast-2.3.2/src/Makefile.am
+===================================================================
+--- icecast-2.3.2.orig/src/Makefile.am
++++ icecast-2.3.2/src/Makefile.am
+@@ -18,8 +18,7 @@ icecast_SOURCES = cfgfile.c main.c loggi
+     xslt.c fserve.c event.c admin.c md5.c \
+     format.c format_ogg.c format_mp3.c format_midi.c format_flac.c \
+     auth.c auth_htpasswd.c format_kate.c format_skeleton.c
+-EXTRA_icecast_SOURCES = yp.c \
+-    auth_url.c
++EXTRA_icecast_SOURCES = yp.c
+ 
+ if BUILD_VORBIS
+ icecast_SOURCES += format_vorbis.c
+@@ -30,6 +29,9 @@ endif
+ if BUILD_SPEEX
+ icecast_SOURCES += format_speex.c
+ endif
++if BUILD_CURL
++icecast_SOURCES += auth_url.c
++endif
+ 
+ icecast_DEPENDENCIES = @ICECAST_OPTIONAL@ net/libicenet.la thread/libicethread.la \
+     httpp/libicehttpp.la log/libicelog.la avl/libiceavl.la timing/libicetiming.la
+@@ -39,13 +41,15 @@ icecast_LDADD = @XSLT_LIBS@ \
+ 	@VORBISENC_LIBS@ \
+ 	@THEORA_LIBS@ \
+ 	@SPEEX_LIBS@ \
++	@CURL_LIBS@ \
+ 	$(icecast_DEPENDENCIES) @XIPH_LIBS@ @KATE_LIBS@
+ icecast_CFLAGS = @XSLT_CFLAGS@ \
+ 	@VORBIS_CFLAGS@ \
+ 	@VORBISFILE_CFLAGS@ \
+ 	@VORBISENC_CFLAGS@ \
+ 	@THEORA_CFLAGS@ \
+-	@SPEEX_CFLAGS@
++	@SPEEX_CFLAGS@ \
++	@CURL_CFLAGS@
+ 
+ AM_CFLAGS = @XIPH_CFLAGS@
+ AM_CPPFLAGS = @XIPH_CPPFLAGS@
diff --git a/patches/icecast-2.3.2/fix_ogg_detection.diff b/patches/icecast-2.3.2/fix_ogg_detection.diff
new file mode 100644
index 0000000..acee80d
--- /dev/null
+++ b/patches/icecast-2.3.2/fix_ogg_detection.diff
@@ -0,0 +1,115 @@
+From: Juergen Beisert <jbe@pengutronix.de>
+Subject: Fix libOGG detection
+Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
+---
+ configure.in    |    1 
+ m4/ogg.m4       |   65 --------------------------------------------------------
+ src/Makefile.am |    6 +++--
+ 3 files changed, 5 insertions(+), 67 deletions(-)
+
+Index: icecast-2.3.2/m4/ogg.m4
+===================================================================
+--- icecast-2.3.2.orig/m4/ogg.m4
++++ /dev/null
+@@ -1,65 +0,0 @@
+-# Configure paths for libogg
+-# updated by Karl Heyes 10-Jun-2003
+-# Jack Moffitt <jack@icecast.org> 10-21-2000
+-# Shamelessly stolen from Owen Taylor and Manish Singh
+-
+-dnl XIPH_PATH_OGG([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+-dnl Test for libogg, and define OGG_CFLAGS OGG_LDFLAGS and OGG_LIBS
+-dnl
+-AC_DEFUN([XIPH_PATH_OGG],
+-[dnl 
+-AC_ARG_VAR([OGG_PREFIX],[path to ogg installation])
+-AC_ARG_WITH(ogg,
+-    [AC_HELP_STRING([--with-ogg=PREFIX],
+-        [Prefix where libogg is installed (optional)])],
+-    ogg_prefix="$withval",
+-    ogg_prefix="$OGG_PREFIX"
+-    )
+-if test "x$ogg_prefix" = "x" -o "x$ogg_prefix" = "xyes"; then
+-    if test "x$prefix" = "xNONE"; then
+-        ogg_prefix=/usr/local
+-    else
+-        ogg_prefix="$prefix"
+-    fi
+-fi
+-
+-XIPH_GCC_WARNING([-I$ogg_prefix/include],,
+-    [ OGG_CFLAGS="-I$ogg_prefix/include"
+-      OGG_LDFLAGS="-L$ogg_prefix/lib"
+-      ])
+-AC_CACHE_CHECK([for libogg], xt_cv_lib_ogg,
+-[dnl
+-OGG_LIBS="-logg"
+-
+-#
+-# check if the installed Ogg is sufficiently new.
+-#
+-ac_save_CFLAGS="$CFLAGS"
+-ac_save_LIBS="$LIBS"
+-ac_save_LDFLAGS="$LDFLAGS"
+-CFLAGS="$CFLAGS $OGG_CFLAGS"
+-LIBS="$LIBS $OGG_LIBS"
+-LDFLAGS="$LDFLAGS $OGG_LDFLAGS"
+-AC_TRY_LINK_FUNC(ogg_sync_init,
+-    [ xt_cv_lib_ogg=ok ],
+-    [ AC_TRY_LINK([#include <ogg/ogg.h>],, 
+-        [ xt_cv_lib_ogg="pre v1.0, needs updating" ],
+-        [ xt_cv_lib_ogg="not found" ])
+-    ])
+-CFLAGS="$ac_save_CFLAGS"
+-LDFLAGS="$ac_save_LDFLAGS"
+-LIBS="$ac_save_LIBS"
+-])
+-if test "x$xt_cv_lib_ogg" = "xok"; then
+-    ifelse([$1],,,[$1])
+-    AC_DEFINE([HAVE_OGG], [1], [Define if you have libogg installed])
+-else
+-    OGG_LIBS=""
+-    OGG_CFLAGS=""
+-    OGG_LDFLAGS=""
+-    ifelse([$2],,,[$2])
+-fi
+-AC_SUBST(OGG_LIBS)
+-AC_SUBST(OGG_CFLAGS)
+-AC_SUBST(OGG_LDFLAGS)
+-])
+Index: icecast-2.3.2/configure.in
+===================================================================
+--- icecast-2.3.2.orig/configure.in
++++ icecast-2.3.2/configure.in
+@@ -59,6 +59,7 @@ dnl -- configure options --
+ 
+ # always required
+ PKG_CHECK_MODULES(XSLT, libxslt)
++PKG_CHECK_MODULES(OGG, ogg)
+ 
+ # check for libvorbis
+ AC_MSG_CHECKING([for libvorbis])
+Index: icecast-2.3.2/src/Makefile.am
+===================================================================
+--- icecast-2.3.2.orig/src/Makefile.am
++++ icecast-2.3.2/src/Makefile.am
+@@ -37,7 +37,8 @@ endif
+ 
+ icecast_DEPENDENCIES = @ICECAST_OPTIONAL@ net/libicenet.la thread/libicethread.la \
+     httpp/libicehttpp.la log/libicelog.la avl/libiceavl.la timing/libicetiming.la
+-icecast_LDADD = @XSLT_LIBS@ \
++icecast_LDADD = @OGG_LIBS@ \
++	@XSLT_LIBS@ \
+ 	@VORBIS_LIBS@ \
+ 	@VORBISFILE_LIBS@ \
+ 	@VORBISENC_LIBS@ \
+@@ -46,7 +47,8 @@ icecast_LDADD = @XSLT_LIBS@ \
+ 	@CURL_LIBS@ \
+ 	@OPENSSL_LIBS@ \
+ 	$(icecast_DEPENDENCIES) @XIPH_LIBS@ @KATE_LIBS@
+-icecast_CFLAGS = @XSLT_CFLAGS@ \
++icecast_CFLAGS = @OGG_CFLAGS@ \
++	@XSLT_CFLAGS@ \
+ 	@VORBIS_CFLAGS@ \
+ 	@VORBISFILE_CFLAGS@ \
+ 	@VORBISENC_CFLAGS@ \
diff --git a/patches/icecast-2.3.2/fix_openssl_detection.diff b/patches/icecast-2.3.2/fix_openssl_detection.diff
new file mode 100644
index 0000000..bd794ee
--- /dev/null
+++ b/patches/icecast-2.3.2/fix_openssl_detection.diff
@@ -0,0 +1,116 @@
+From: Juergen Beisert <jbe@pengutronix.de>
+Subject: Fix libOPENSSL detection
+Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
+---
+ configure.in       |   20 +++++++++++++-------
+ m4/xiph_openssl.m4 |   49 -------------------------------------------------
+ src/Makefile.am    |    4 +++-
+ 3 files changed, 16 insertions(+), 57 deletions(-)
+
+Index: icecast-2.3.2/m4/xiph_openssl.m4
+===================================================================
+--- icecast-2.3.2.orig/m4/xiph_openssl.m4
++++ /dev/null
+@@ -1,49 +0,0 @@
+-dnl XIPH_PATH_OPENSSL([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+-dnl Karl Heyes <karl@xiph.org>
+-dnl Test for openssl, and define OPENSSL_CFLAGS and OPENSSL_LIBS
+-dnl
+-AC_DEFUN([XIPH_PATH_OPENSSL],
+-[dnl 
+-dnl Get the cflags and libraries
+-dnl
+-AC_ARG_WITH(openssl,
+-    AC_HELP_STRING([--with-openssl=PFX],[Prefix where openssl is installed (optional)]),
+-    openssl_prefix="$withval", openssl_prefix="")
+-
+-if test "x$openssl_prefix" != "x" -a "x$openssl_prefix" != "xyes"; then
+-    OPENSSL_LIBS="-L$openssl_prefix/lib -lssl"
+-    OPENSSL_CFLAGS="-I$openssl_prefix/include"
+-else
+-    AC_PATH_PROG([PKGCONFIG], [pkg-config], [no])
+-    if test "$PKGCONFIG" != "no" && `$PKGCONFIG --exists openssl`; then
+-        OPENSSL_CFLAGS=`$PKGCONFIG --cflags openssl`
+-        OPENSSL_LIBS=`$PKGCONFIG --libs openssl`
+-    else
+-        if test "x$prefix" = "xNONE"; then
+-            openssl_prefix="/usr/local"
+-        else
+-            openssl_prefix="$prefix"
+-        fi
+-        OPENSSL_LIBS="-L$openssl_prefix/lib -lssl"
+-        OPENSSL_CFLAGS="-I$openssl_prefix/include"
+-    fi
+-fi
+-
+-# Now try linking to openssl
+-xt_save_CFLAGS="$CFLAGS"
+-xt_save_LIBS="$LIBS"
+-CFLAGS="$CFLAGS $OPENSSL_CFLAGS"
+-LIBS="$OPENSSL_LIBS $LIBS"
+-AC_TRY_LINK([#include <openssl/ssl.h>], [void *a = SSL_new], [openssl_ok='yes'])
+-CFLAGS="$xt_save_CFLAGS"
+-LIBS="$xt_save_LIBS"
+-
+-if test "$openssl_ok" = "yes"; then
+-    AC_DEFINE(HAVE_OPENSSL, 1, [Define if you have libopenssl.])
+-    ifelse([$1], , :, [$1])     
+-else
+-    OPENSSL_LIBS=""
+-    OPENSSL_CFLAGS=""
+-    ifelse([$2], , :, [$2])
+-fi
+-])
+Index: icecast-2.3.2/configure.in
+===================================================================
+--- icecast-2.3.2.orig/configure.in
++++ icecast-2.3.2/configure.in
+@@ -156,13 +156,19 @@ fi
+ AC_MSG_RESULT([${enable_yp}])
+ AM_CONDITIONAL(BUILD_YP, [test "x$enable_yp" = xyes])
+ 
+-XIPH_PATH_OPENSSL([
+-    XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$OPENSSL_CFLAGS])
+-    XIPH_VAR_APPEND([XIPH_LDFLAGS],[$OPENSSL_LDFLAGS])
+-    XIPH_VAR_PREPEND([XIPH_LIBS],[$OPENSSL_LIBS])
+-    ],
+-    [ AC_MSG_NOTICE([SSL disabled!])
+-    ])
++AC_MSG_CHECKING([for libopenssl])
++AC_ARG_WITH(openssl,
++	AS_HELP_STRING([--with-openssl],
++		[Use libopenssl @<:@default=no@:>@]),
++	[], [with_openssl=no])
++
++if test x$with_openssl = xno; then
++	AC_MSG_RESULT([libopenssl support disabled by request])
++else
++	AC_MSG_RESULT([${with_openssl}])
++	PKG_CHECK_MODULES(OPENSSL, libssl)
++	AC_DEFINE(HAVE_OPENSSL, 1, [Define if you have libopenssl.])
++fi
+ 
+ dnl Make substitutions
+ 
+Index: icecast-2.3.2/src/Makefile.am
+===================================================================
+--- icecast-2.3.2.orig/src/Makefile.am
++++ icecast-2.3.2/src/Makefile.am
+@@ -44,6 +44,7 @@ icecast_LDADD = @XSLT_LIBS@ \
+ 	@THEORA_LIBS@ \
+ 	@SPEEX_LIBS@ \
+ 	@CURL_LIBS@ \
++	@OPENSSL_LIBS@ \
+ 	$(icecast_DEPENDENCIES) @XIPH_LIBS@ @KATE_LIBS@
+ icecast_CFLAGS = @XSLT_CFLAGS@ \
+ 	@VORBIS_CFLAGS@ \
+@@ -51,7 +52,8 @@ icecast_CFLAGS = @XSLT_CFLAGS@ \
+ 	@VORBISENC_CFLAGS@ \
+ 	@THEORA_CFLAGS@ \
+ 	@SPEEX_CFLAGS@ \
+-	@CURL_CFLAGS@
++	@CURL_CFLAGS@ \
++	@OPENSSL_CFLAGS@
+ 
+ AM_CFLAGS = @XIPH_CFLAGS@
+ AM_CPPFLAGS = @XIPH_CPPFLAGS@
diff --git a/patches/icecast-2.3.2/fix_speex_detection.diff b/patches/icecast-2.3.2/fix_speex_detection.diff
new file mode 100644
index 0000000..8eeb2b5
--- /dev/null
+++ b/patches/icecast-2.3.2/fix_speex_detection.diff
@@ -0,0 +1,171 @@
+From: Juergen Beisert <jbe@pengutronix.de>
+Subject: Fix libSPEEX detection
+Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
+---
+ configure.in    |   22 +++++++++-----
+ m4/speex.m4     |   84 --------------------------------------------------------
+ src/Makefile.am |   10 ++++--
+ 3 files changed, 21 insertions(+), 95 deletions(-)
+
+Index: icecast-2.3.2/m4/speex.m4
+===================================================================
+--- icecast-2.3.2.orig/m4/speex.m4
++++ /dev/null
+@@ -1,84 +0,0 @@
+-# Configure paths for libspeex
+-# updated by Karl Heyes 02-Feb-2004
+-
+-dnl XIPH_PATH_SPEEX([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+-dnl Test for libspeex, and define SPEEX_CFLAGS SPEEX_LIBS
+-dnl SPEEX_SPEEXENC_LIBS SPEEX_SPEEXFILE_LIBS SPEEX_LDFLAGS
+-dnl
+-
+-AC_DEFUN([XIPH_PATH_SPEEX],
+-[
+-AC_REQUIRE([XIPH_PATH_OGG])
+-
+-dnl Get the cflags and libraries for speex
+-dnl
+-AC_ARG_VAR([SPEEX],[path to speex installation])
+-AC_ARG_WITH(speex,
+-    AC_HELP_STRING([--with-speex=PREFIX],
+-        [Prefix where libspeex is installed (optional)]),
+-    speex_prefix="$withval",
+-    speex_prefix="$SPEEX_PREFIX"
+-    )
+-if test "x$with_speex" = "xno"
+-then
+-  AC_MSG_RESULT([Speex support disabled by request])
+-else
+-  if test "x$speex_prefix" = "x" -o "x$speex_prefix" = "xyes"; then
+-      if test "x$prefix" = "xNONE"; then
+-          speex_prefix="/usr/local"
+-      else
+-          speex_prefix="$prefix"
+-      fi
+-  fi
+-
+-  SPEEX_CFLAGS="$OGG_CFLAGS"
+-  SPEEX_LDFLAGS="$OGG_LDFLAGS"
+-  if test "x$speex_prefix" != "x$ogg_prefix"; then
+-      XIPH_GCC_WARNING(-I"$speex_prefix/include",,
+-              [SPEEX_CFLAGS="$SPEEX_CFLAGS -I$speex_prefix/include"
+-              SPEEX_LDFLAGS="-L$speex_prefix/lib $SPEEX_LDFLAGS"
+-              ])
+-  fi
+-
+-  SPEEX_LIBS="-lspeex"
+-
+-  xt_save_LIBS="$LIBS"
+-  xt_save_LDFLAGS="$LDFLAGS"
+-  LDFLAGS="$LDFLAGS $SPEEX_LDFLAGS"
+-  LIBS="$LIBS $SPEEX_LIBS"
+-  xt_have_speex="yes"
+-  AC_MSG_CHECKING([for libspeex])
+-  AC_TRY_LINK_FUNC(ogg_stream_init, [AC_MSG_RESULT([ok])],
+-          [LIBS="$LIBS $OGG_LIBS"
+-          AC_TRY_LINK_FUNC(ogg_stream_init,
+-              [SPEEX_LIBS="$SPEEX_LIBS $OGG_LIBS"],
+-              [xt_have_speex="no"])
+-          ])
+-  if test "x$xt_have_speex" = "xyes"
+-  then
+-      AC_LINK_IFELSE([AC_LANG_PROGRAM(
+-                  [#include <speex/speex_header.h>],
+-                  [void *p = speex_packet_to_header;])],
+-              [],
+-              [xt_have_speex="no"])
+-  fi
+-
+-  LIBS="$xt_save_LIBS"
+-  LDFLAGS="$xt_save_LDFLAGS"
+-  
+-  if test "x$xt_have_speex" = "xyes"
+-  then
+-      AC_MSG_RESULT([ok])
+-      AC_DEFINE([HAVE_SPEEX],[1],[Define if Speex support is available])
+-      $1
+-  else
+-      ifelse([$2], , AC_MSG_ERROR([Unable to link to libspeex]), [$2])
+-      SPEEX_CFLAGS=""
+-      SPEEX_LDFLAGS=""
+-      SPEEX_LIBS=""
+-  fi
+-  AC_SUBST(SPEEX_CFLAGS)
+-  AC_SUBST(SPEEX_LDFLAGS)
+-  AC_SUBST(SPEEX_LIBS)
+-fi
+-])
+Index: icecast-2.3.2/configure.in
+===================================================================
+--- icecast-2.3.2.orig/configure.in
++++ icecast-2.3.2/configure.in
+@@ -95,14 +95,20 @@ else
+ fi
+ AM_CONDITIONAL(BUILD_THEORA, [test x$with_theora = xyes])
+ 
+-XIPH_PATH_SPEEX(
+-    [ XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$SPEEX_CFLAGS])
+-    XIPH_VAR_PREPEND([XIPH_LIBS],[$SPEEX_LIBS])
+-    XIPH_VAR_APPEND([XIPH_LDFLAGS],[$SPEEX_LDFLAGS])
+-    ICECAST_OPTIONAL="$ICECAST_OPTIONAL format_speex.o"
+-    ],
+-    [ AC_MSG_WARN([Speex support disabled!])
+-    ])
++AC_MSG_CHECKING([for libspeex])
++AC_ARG_WITH(speex,
++	[AS_HELP_STRING([--with-speex],
++		[Use libspeex @<:@default=no@:>@])],
++	[], [with_speex=no])
++
++if test "x$with_speex" = "xno"; then
++	AC_MSG_RESULT([Speex support disabled by request])
++else
++	AC_MSG_RESULT([${with_speex}])
++	PKG_CHECK_MODULES(SPEEX, speex)
++	AC_DEFINE([HAVE_SPEEX],[1],[Define if Speex support is available])
++fi
++AM_CONDITIONAL(BUILD_SPEEX, [test x$with_speex = xyes])
+ 
+ AC_CHECK_LIB(kate, kate_decode_init,[have_kate=yes],[have_kate=no], -logg)
+ if test "x$have_kate" == "xyes"
+Index: icecast-2.3.2/src/Makefile.am
+===================================================================
+--- icecast-2.3.2.orig/src/Makefile.am
++++ icecast-2.3.2/src/Makefile.am
+@@ -19,8 +19,7 @@ icecast_SOURCES = cfgfile.c main.c loggi
+     format.c format_ogg.c format_mp3.c format_midi.c format_flac.c \
+     auth.c auth_htpasswd.c format_kate.c format_skeleton.c
+ EXTRA_icecast_SOURCES = yp.c \
+-    auth_url.c \
+-    format_speex.c
++    auth_url.c
+ 
+ if BUILD_VORBIS
+ icecast_SOURCES += format_vorbis.c
+@@ -28,6 +27,9 @@ endif
+ if BUILD_THEORA
+ icecast_SOURCES += format_theora.c
+ endif
++if BUILD_SPEEX
++icecast_SOURCES += format_speex.c
++endif
+ 
+ icecast_DEPENDENCIES = @ICECAST_OPTIONAL@ net/libicenet.la thread/libicethread.la \
+     httpp/libicehttpp.la log/libicelog.la avl/libiceavl.la timing/libicetiming.la
+@@ -36,12 +38,14 @@ icecast_LDADD = @XSLT_LIBS@ \
+ 	@VORBISFILE_LIBS@ \
+ 	@VORBISENC_LIBS@ \
+ 	@THEORA_LIBS@ \
++	@SPEEX_LIBS@ \
+ 	$(icecast_DEPENDENCIES) @XIPH_LIBS@ @KATE_LIBS@
+ icecast_CFLAGS = @XSLT_CFLAGS@ \
+ 	@VORBIS_CFLAGS@ \
+ 	@VORBISFILE_CFLAGS@ \
+ 	@VORBISENC_CFLAGS@ \
+-	@THEORA_CFLAGS@
++	@THEORA_CFLAGS@ \
++	@SPEEX_CFLAGS@
+ 
+ AM_CFLAGS = @XIPH_CFLAGS@
+ AM_CPPFLAGS = @XIPH_CPPFLAGS@
diff --git a/patches/icecast-2.3.2/fix_theora_detection.diff b/patches/icecast-2.3.2/fix_theora_detection.diff
new file mode 100644
index 0000000..809a3f2
--- /dev/null
+++ b/patches/icecast-2.3.2/fix_theora_detection.diff
@@ -0,0 +1,160 @@
+From: Juergen Beisert <jbe@pengutronix.de>
+Subject: Fix libTHEORA detection
+Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
+---
+ configure.in    |   23 ++++++++++------
+ m4/theora.m4    |   77 --------------------------------------------------------
+ src/Makefile.am |    9 +++++-
+ 3 files changed, 22 insertions(+), 87 deletions(-)
+
+Index: icecast-2.3.2/m4/theora.m4
+===================================================================
+--- icecast-2.3.2.orig/m4/theora.m4
++++ /dev/null
+@@ -1,77 +0,0 @@
+-# Configure paths for libtheora
+-# Karl Heyes 02-Feb-2004
+-
+-dnl XIPH_PATH_THEORA([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+-dnl Test for libtheora, and define THEORA_CFLAGS THEORA_LIBS
+-dnl
+-
+-AC_DEFUN([XIPH_PATH_THEORA],
+-[
+-AC_REQUIRE([XIPH_PATH_OGG])
+-
+-dnl Get the cflags and libraries for theora
+-dnl
+-AC_ARG_VAR([THEORA],[path to theora installation])
+-AC_ARG_WITH(theora,
+-    AC_HELP_STRING([--with-theora=PREFIX],
+-        [Prefix where libtheora is installed (optional)]),
+-    theora_prefix="$withval",
+-    theora_prefix="$THEORA_PREFIX"
+-    )
+-
+-if test "x$with_theora" = "xno"
+-then
+-  AC_MSG_RESULT([Theora support disabled by request])
+-else
+-  if test "x$theora_prefix" = "x" -o "x$theora_prefix" = "xyes"; then
+-    if test "x$prefix" = "xNONE"; then
+-        theora_prefix="/usr/local"
+-    else
+-        theora_prefix="$prefix"
+-    fi
+-  fi
+-
+-  THEORA_CFLAGS="$OGG_CFLAGS"
+-  THEORA_LDFLAGS="$OGG_LDFLAGS"
+-  if test "x$theora_prefix" != "x$ogg_prefix"; then
+-      XIPH_GCC_WARNING(-I"$theora_prefix/include",,
+-              [THEORA_CFLAGS="$THEORA_CFLAGS -I$theora_prefix/include"
+-              THEORA_LDFLAGS="-L$theora_prefix/lib $THEORA_LDFLAGS"
+-              ])
+-  fi
+-
+-  THEORA_LIBS="-ltheora -logg"
+-
+-  ac_save_LIBS="$LIBS"
+-  ac_save_LDFLAGS="$LDFLAGS"
+-  LDFLAGS="$LDFLAGS $THEORA_LDFLAGS"
+-  LIBS="$LIBS $THEORA_LIBS"
+-  AC_MSG_CHECKING([for libtheora])
+-  AC_TRY_LINK_FUNC(theora_decode_header, [xt_have_theora="yes"],
+-          [xt_have_theora="Not found"])
+-  if test "x$xt_have_theora" = "xyes"
+-  then
+-    AC_TRY_LINK_FUNC(theora_packet_isheader, [xt_have_theora="yes"],
+-          [xt_have_theora="newer version required"])
+-  fi
+-
+-  LIBS="$ac_save_LIBS"
+-  LDFLAGS="$ac_save_LDFLAGS"
+-
+-  if test "x$xt_have_theora" = "xyes"
+-  then
+-    AC_MSG_RESULT([ok])
+-    AC_DEFINE([HAVE_THEORA],[1],[Define if Theora support is available])
+-    $1
+-  else
+-    THEORA_CFLAGS=""
+-    THEORA_LDFLAGS=""
+-    THEORA_LIBS=""
+-    AC_MSG_RESULT([$xt_have_theora])
+-    $2
+-  fi
+-fi
+-AC_SUBST(THEORA_CFLAGS)
+-AC_SUBST(THEORA_LDFLAGS)
+-AC_SUBST(THEORA_LIBS)
+-])
+Index: icecast-2.3.2/configure.in
+===================================================================
+--- icecast-2.3.2.orig/configure.in
++++ icecast-2.3.2/configure.in
+@@ -79,14 +79,21 @@ else
+ fi
+ AM_CONDITIONAL(BUILD_VORBIS, [test x$with_vorbis = xyes])
+ 
+-XIPH_PATH_THEORA([
+-    XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$THEORA_CFLAGS])
+-    XIPH_VAR_APPEND([XIPH_LDFLAGS],[$THEORA_LDFLAGS])
+-    XIPH_VAR_PREPEND([XIPH_LIBS],[$THEORA_LIBS])
+-    ICECAST_OPTIONAL="$ICECAST_OPTIONAL format_theora.o"
+-    ],
+-    [ AC_MSG_WARN([Theora disabled!])
+-    ])
++AC_MSG_CHECKING([for libtheora])
++AC_ARG_WITH(theora,
++	[AS_HELP_STRING([--with-theora],
++		[Use libtheora @<:@default=no@:>@])],
++	[], [with_theora=no])
++
++if test "x$with_theora" = "xno"; then
++	AC_MSG_RESULT([Theora support disabled by request])
++else
++	AC_MSG_RESULT([${with_theora}])
++	PKG_CHECK_MODULES(THEORA, theora)
++
++	AC_DEFINE([HAVE_THEORA],[1],[Define if Theora support is available])
++fi
++AM_CONDITIONAL(BUILD_THEORA, [test x$with_theora = xyes])
+ 
+ XIPH_PATH_SPEEX(
+     [ XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$SPEEX_CFLAGS])
+Index: icecast-2.3.2/src/Makefile.am
+===================================================================
+--- icecast-2.3.2.orig/src/Makefile.am
++++ icecast-2.3.2/src/Makefile.am
+@@ -20,11 +20,14 @@ icecast_SOURCES = cfgfile.c main.c loggi
+     auth.c auth_htpasswd.c format_kate.c format_skeleton.c
+ EXTRA_icecast_SOURCES = yp.c \
+     auth_url.c \
+-    format_theora.c format_speex.c
++    format_speex.c
+ 
+ if BUILD_VORBIS
+ icecast_SOURCES += format_vorbis.c
+ endif
++if BUILD_THEORA
++icecast_SOURCES += format_theora.c
++endif
+ 
+ icecast_DEPENDENCIES = @ICECAST_OPTIONAL@ net/libicenet.la thread/libicethread.la \
+     httpp/libicehttpp.la log/libicelog.la avl/libiceavl.la timing/libicetiming.la
+@@ -32,11 +35,13 @@ icecast_LDADD = @XSLT_LIBS@ \
+ 	@VORBIS_LIBS@ \
+ 	@VORBISFILE_LIBS@ \
+ 	@VORBISENC_LIBS@ \
++	@THEORA_LIBS@ \
+ 	$(icecast_DEPENDENCIES) @XIPH_LIBS@ @KATE_LIBS@
+ icecast_CFLAGS = @XSLT_CFLAGS@ \
+ 	@VORBIS_CFLAGS@ \
+ 	@VORBISFILE_CFLAGS@ \
+-	@VORBISENC_CFLAGS@
++	@VORBISENC_CFLAGS@ \
++	@THEORA_CFLAGS@
+ 
+ AM_CFLAGS = @XIPH_CFLAGS@
+ AM_CPPFLAGS = @XIPH_CPPFLAGS@
diff --git a/patches/icecast-2.3.2/fix_vorbis_detection.diff b/patches/icecast-2.3.2/fix_vorbis_detection.diff
new file mode 100644
index 0000000..4273311
--- /dev/null
+++ b/patches/icecast-2.3.2/fix_vorbis_detection.diff
@@ -0,0 +1,191 @@
+From: Juergen Beisert <jbe@pengutronix.de>
+Subject: Fix libVORBIS detection
+Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
+---
+ configure.in     |   26 ++++++++++-----
+ m4/vorbis.m4     |   92 -------------------------------------------------------
+ src/Makefile.am  |   17 ++++++++--
+ src/format_ogg.c |    2 +
+ 4 files changed, 34 insertions(+), 103 deletions(-)
+
+Index: icecast-2.3.2/m4/vorbis.m4
+===================================================================
+--- icecast-2.3.2.orig/m4/vorbis.m4
++++ /dev/null
+@@ -1,92 +0,0 @@
+-# Configure paths for libvorbis
+-# Jack Moffitt <jack@icecast.org> 10-21-2000
+-# updated by Karl Heyes 31-Mar-2003
+-# Shamelessly stolen from Owen Taylor and Manish Singh
+-
+-dnl XIPH_PATH_VORBIS([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+-dnl Test for libvorbis, and define VORBIS_CFLAGS VORBIS_LIBS
+-dnl VORBIS_VORBISENC_LIBS VORBIS_VORBISFILE_LIBS VORBIS_LDFLAGS
+-dnl
+-
+-AC_DEFUN([XIPH_PATH_VORBIS],
+-[dnl
+-AC_REQUIRE([XIPH_PATH_OGG])
+-
+-dnl Get the cflags and libraries for vorbis
+-dnl
+-AC_ARG_VAR([VORBIS_PREFIX],[path to vorbis installation])
+-AC_ARG_WITH(vorbis,
+-    AC_HELP_STRING([--with-vorbis=PREFIX],
+-        [Prefix where libvorbis is installed (optional)]),
+-    vorbis_prefix="$withval",
+-    vorbis_prefix="$VORBIS_PREFIX"
+-    )
+-if test "x$vorbis_prefix" = "x" -o "x$vorbis_prefix" = "xyes"; then
+-    if test "x$prefix" = "xNONE"; then
+-        vorbis_prefix="/usr/local"
+-    else
+-        vorbis_prefix="$prefix"
+-    fi
+-fi
+-
+-VORBIS_CFLAGS="$OGG_CFLAGS"
+-VORBIS_LDFLAGS="$OGG_LDFLAGS"
+-if test "x$vorbis_prefix" != "x$ogg_prefix"; then
+-    XIPH_GCC_WARNING(-I"$vorbis_prefix/include",,
+-            [VORBIS_CFLAGS="$VORBIS_CFLAGS -I$vorbis_prefix/include"
+-            VORBIS_LDFLAGS="-L$vorbis_prefix/lib $VORBIS_LDFLAGS"
+-            ])
+-fi
+-
+-VORBIS_LIBS="-lvorbis"
+-VORBISFILE_LIBS="-lvorbisfile"
+-VORBISENC_LIBS="-lvorbisenc"
+-
+-xt_save_LIBS="$LIBS"
+-xt_save_LDFLAGS="$LDFLAGS"
+-xt_save_CPPFLAGS="$CPPFLAGS"
+-CPPFLAGS="$CPPFLAGS $VORBIS_CFLAGS"
+-LDFLAGS="$LDFLAGS $VORBIS_LDFLAGS"
+-LIBS="$LIBS $VORBIS_LIBS"
+-xt_lib_vorbis="not found"
+-AC_MSG_CHECKING([for libvorbis])
+-AC_TRY_LINK_FUNC(ogg_stream_init, [xt_lib_vorbis=ok],
+-        [LIBS="$LIBS $OGG_LIBS -lm"
+-        AC_TRY_LINK_FUNC(vorbis_info_init,
+-            [xt_lib_vorbis=ok
+-            VORBIS_LIBS="$VORBIS_LIBS $OGG_LIBS -lm"],
+-            )
+-        ])
+-
+-if test "x$xt_lib_vorbis" = "xok"; then
+-#
+-# Now check if the installed Vorbis is sufficiently new.
+-#
+-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
+-#include <vorbis/codec.h>
+-#include <vorbis/vorbisenc.h>
+-        ], [
+-struct ovectl_ratemanage_arg a;
+-])],,[xt_lib_vorbis="old version found"])
+-AC_MSG_RESULT([$xt_lib_vorbis])
+-fi
+-CPPFLAGS="$xt_save_CPPFLAGS"
+-LIBS="$xt_save_LIBS"
+-LDFLAGS="$xt_save_LDFLAGS"
+-
+-if test "x$xt_lib_vorbis" = "xok"; then
+-    ifelse([$1], ,[:], [$1])
+-else
+-    VORBIS_CFLAGS=""
+-    VORBIS_LDFLAGS=""
+-    VORBIS_LIBS=""
+-    VORBISFILE_LIBS=""
+-    VORBISENC_LIBS=""
+-    ifelse([$2], ,, [$2])
+-fi
+-AC_SUBST(VORBIS_CFLAGS)
+-AC_SUBST(VORBIS_LDFLAGS)
+-AC_SUBST(VORBIS_LIBS)
+-AC_SUBST(VORBISFILE_LIBS)
+-AC_SUBST(VORBISENC_LIBS)
+-])
+Index: icecast-2.3.2/configure.in
+===================================================================
+--- icecast-2.3.2.orig/configure.in
++++ icecast-2.3.2/configure.in
+@@ -60,14 +60,24 @@ dnl -- configure options --
+ # always required
+ PKG_CHECK_MODULES(XSLT, libxslt)
+ 
+-XIPH_PATH_VORBIS([
+-    XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$VORBIS_CFLAGS])
+-    XIPH_VAR_PREPEND([XIPH_LIBS],[$VORBIS_LIBS])
+-    XIPH_VAR_APPEND([XIPH_LDFLAGS],[$VORBIS_LDFLAGS])
+-    ICECAST_OPTIONAL="$ICECAST_OPTIONAL format_vorbis.o"
+-    ],
+-    [AC_MSG_ERROR([must have Ogg Vorbis v1.0 or above installed])
+-    ])
++# check for libvorbis
++AC_MSG_CHECKING([for libvorbis])
++AC_ARG_WITH(vorbis,
++	[AS_HELP_STRING([--with-vorbis],
++		[Use libvorbis @<:@default=no@:>@])],
++	[], [with_vorbis=no])
++
++if test x$with_vorbis = xno; then
++	AC_MSG_RESULT([libvorbis support disabled by request])
++else
++	AC_MSG_RESULT([${with_vorbis}])
++	PKG_CHECK_MODULES(VORBIS, vorbis)
++	PKG_CHECK_MODULES(VORBISFILE, vorbisfile)
++	PKG_CHECK_MODULES(VORBISENC, vorbisenc)
++
++	AC_DEFINE([HAVE_VORBIS], [1], [Define if you have libvorbis installed])
++fi
++AM_CONDITIONAL(BUILD_VORBIS, [test x$with_vorbis = xyes])
+ 
+ XIPH_PATH_THEORA([
+     XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$THEORA_CFLAGS])
+Index: icecast-2.3.2/src/Makefile.am
+===================================================================
+--- icecast-2.3.2.orig/src/Makefile.am
++++ icecast-2.3.2/src/Makefile.am
+@@ -20,12 +20,23 @@ icecast_SOURCES = cfgfile.c main.c loggi
+     auth.c auth_htpasswd.c format_kate.c format_skeleton.c
+ EXTRA_icecast_SOURCES = yp.c \
+     auth_url.c \
+-    format_vorbis.c format_theora.c format_speex.c
++    format_theora.c format_speex.c
++
++if BUILD_VORBIS
++icecast_SOURCES += format_vorbis.c
++endif
+ 
+ icecast_DEPENDENCIES = @ICECAST_OPTIONAL@ net/libicenet.la thread/libicethread.la \
+     httpp/libicehttpp.la log/libicelog.la avl/libiceavl.la timing/libicetiming.la
+-icecast_LDADD = $(icecast_DEPENDENCIES) @XIPH_LIBS@ @KATE_LIBS@ @XSLT_LIBS@
+-icecast_CFLAGS = @XSLT_CFLAGS@
++icecast_LDADD = @XSLT_LIBS@ \
++	@VORBIS_LIBS@ \
++	@VORBISFILE_LIBS@ \
++	@VORBISENC_LIBS@ \
++	$(icecast_DEPENDENCIES) @XIPH_LIBS@ @KATE_LIBS@
++icecast_CFLAGS = @XSLT_CFLAGS@ \
++	@VORBIS_CFLAGS@ \
++	@VORBISFILE_CFLAGS@ \
++	@VORBISENC_CFLAGS@
+ 
+ AM_CFLAGS = @XIPH_CFLAGS@
+ AM_CPPFLAGS = @XIPH_CPPFLAGS@
+Index: icecast-2.3.2/src/format_ogg.c
+===================================================================
+--- icecast-2.3.2.orig/src/format_ogg.c
++++ icecast-2.3.2/src/format_ogg.c
+@@ -222,9 +222,11 @@ static int process_initial_page (format_
+             ogg_info->error = 1;
+             return -1;
+         }
++#ifdef HAVE_VORBIS
+         codec = initial_vorbis_page (plugin, page);
+         if (codec)
+             break;
++#endif
+ #ifdef HAVE_THEORA
+         codec = initial_theora_page (plugin, page);
+         if (codec)
diff --git a/patches/icecast-2.3.2/fix_xml_detection.diff b/patches/icecast-2.3.2/fix_xml_detection.diff
new file mode 100644
index 0000000..96888ad
--- /dev/null
+++ b/patches/icecast-2.3.2/fix_xml_detection.diff
@@ -0,0 +1,102 @@
+From: Juergen Beisert <jbe@pengutronix.de>
+Subject: Fix XSLT detection
+Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
+---
+ configure.in    |    5 +---
+ m4/xiph_xml2.m4 |   58 --------------------------------------------------------
+ src/Makefile.am |    3 +-
+ 3 files changed, 4 insertions(+), 62 deletions(-)
+
+Index: icecast-2.3.2/configure.in
+===================================================================
+--- icecast-2.3.2.orig/configure.in
++++ icecast-2.3.2/configure.in
+@@ -57,9 +57,8 @@ XIPH_NET
+ 
+ dnl -- configure options --
+ 
+-XIPH_PATH_XSLT
+-XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$XSLT_CFLAGS])
+-XIPH_VAR_PREPEND([XIPH_LIBS],[$XSLT_LIBS])
++# always required
++PKG_CHECK_MODULES(XSLT, libxslt)
+ 
+ XIPH_PATH_VORBIS([
+     XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$VORBIS_CFLAGS])
+Index: icecast-2.3.2/src/Makefile.am
+===================================================================
+--- icecast-2.3.2.orig/src/Makefile.am
++++ icecast-2.3.2/src/Makefile.am
+@@ -24,7 +24,8 @@ EXTRA_icecast_SOURCES = yp.c \
+ 
+ icecast_DEPENDENCIES = @ICECAST_OPTIONAL@ net/libicenet.la thread/libicethread.la \
+     httpp/libicehttpp.la log/libicelog.la avl/libiceavl.la timing/libicetiming.la
+-icecast_LDADD = $(icecast_DEPENDENCIES) @XIPH_LIBS@ @KATE_LIBS@
++icecast_LDADD = $(icecast_DEPENDENCIES) @XIPH_LIBS@ @KATE_LIBS@ @XSLT_LIBS@
++icecast_CFLAGS = @XSLT_CFLAGS@
+ 
+ AM_CFLAGS = @XIPH_CFLAGS@
+ AM_CPPFLAGS = @XIPH_CPPFLAGS@
+Index: icecast-2.3.2/m4/xiph_xml2.m4
+===================================================================
+--- icecast-2.3.2.orig/m4/xiph_xml2.m4
++++ /dev/null
+@@ -1,58 +0,0 @@
+-dnl XIPH_PATH_XML
+-dnl Populate XML_CFLAGS and XML_LIBS with infomation for
+-dnl linking with libxml2
+-AC_DEFUN([XIPH_PATH_XML],
+-[dnl
+-AC_MSG_RESULT([checking for XML configuration])
+-AC_ARG_VAR([XMLCONFIG],[XML configuration program])
+-AC_ARG_WITH(xml-config,
+-    [AC_HELP_STRING([--with-xml-config=PATH],
+-                    [use xml-config in PATH to find libxml])],
+-    [XMLCONFIG="$withval"],
+-    [AC_PATH_PROGS(XMLCONFIG, [xml2-config xml-config], "")]
+-)
+-if test "x$XMLCONFIG" = "x"; then
+-    AC_MSG_ERROR([XML configuration could not be found])
+-fi
+-if ! test -x "$XMLCONFIG"; then
+-    AC_MSG_ERROR([$XMLCONFIG cannot be executed])
+-fi
+-XML_LIBS="$($XMLCONFIG --libs)"
+-XML_CFLAGS="$($XMLCONFIG --cflags)"
+-ac_xml_save_LIBS="$LIBS"
+-ac_xml_save_CFLAGS="$CFLAGS"
+-LIBS="$XML_LIBS $LIBS"
+-CFLAGS="$CFLAGS $XML_CFLAGS"
+-AC_CHECK_FUNC(xmlParseFile,, [AC_MSG_ERROR([Unable to link with libxml])])
+-CFLAGS="$ac_xml_save_CFLAGS"
+-LIBS="$ac_xml_save_LIBS"
+-])
+-
+-dnl XIPH_PATH_XSLT
+-dnl Populate XSLT_CFLAGS and XSLT_LIBS with infomation for
+-dnl linking with libxml2
+-AC_DEFUN([XIPH_PATH_XSLT],
+-[dnl
+-AC_ARG_VAR([XSLTCONFIG],[XSLT configuration program])
+-AC_ARG_WITH(xslt-config,
+-    [AC_HELP_STRING([--with-xslt-config=PATH],
+-                    [use xslt-config in PATH to find libxslt])],
+-    [XSLTCONFIG="$withval"],
+-    [AC_PATH_PROGS(XSLTCONFIG, [xslt-config], "")]
+-)
+-if test "x$XSLTCONFIG" = "x"; then
+-    AC_MSG_ERROR([XSLT configuration could not be found])
+-fi
+-if ! test -x "$XSLTCONFIG"; then
+-    AC_MSG_ERROR([$XSLTCONFIG cannot be executed])
+-fi
+-XSLT_LIBS="$($XSLTCONFIG --libs)"
+-XSLT_CFLAGS="$($XSLTCONFIG --cflags)"
+-ac_xslt_save_LIBS="$LIBS"
+-ac_xslt_save_CFLAGS="$CFLAGS"
+-LIBS="$XSLT_LIBS $LIBS"
+-CFLAGS="$CFLAGS $XSLT_CFLAGS"
+-AC_CHECK_FUNCS([xsltSaveResultToString])
+-CFLAGS="$ac_xslt_save_CFLAGS"
+-LIBS="$ac_xslt_save_LIBS"
+-])
diff --git a/patches/icecast-2.3.2/fix_yp_handling.diff b/patches/icecast-2.3.2/fix_yp_handling.diff
new file mode 100644
index 0000000..69ef3af
--- /dev/null
+++ b/patches/icecast-2.3.2/fix_yp_handling.diff
@@ -0,0 +1,60 @@
+From: Juergen Beisert <jbe@pengutronix.de>
+Subject: Fix "YP" handling in configure
+Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
+---
+ configure.in    |   15 ++++++++-------
+ src/Makefile.am |    4 +++-
+ 2 files changed, 11 insertions(+), 8 deletions(-)
+
+Index: icecast-2.3.2/configure.in
+===================================================================
+--- icecast-2.3.2.orig/configure.in
++++ icecast-2.3.2/configure.in
+@@ -144,17 +144,18 @@ fi
+ AM_CONDITIONAL(BUILD_CURL, [test x$with_curl = xyes])
+ 
+ dnl -- YP support --
++AC_MSG_CHECKING([whether YP should be used])
+ AC_ARG_ENABLE([yp],
+         AC_HELP_STRING([--disable-yp],[disable YP directory support]),
+-        enable_yp="$enableval",
+-        enable_yp="yes")
+-if test "x$enable_yp" = "xyes" -a x$with_curl = xyes
+-then
+-    AC_DEFINE([USE_YP], 1, [Define to compile in YP support code])
+-    ICECAST_OPTIONAL="$ICECAST_OPTIONAL yp.o"
++        [], [enable_yp=yes])
++if test x$enable_yp = xyes -a x$with_curl = xyes; then
++	AC_DEFINE([USE_YP], 1, [Define to compile in YP support code])
+ else
+-    AC_MSG_NOTICE([YP support disabled])
++	enable_yp="no (missing CURL)"
+ fi
++AC_MSG_RESULT([${enable_yp}])
++AM_CONDITIONAL(BUILD_YP, [test "x$enable_yp" = xyes])
++
+ XIPH_PATH_OPENSSL([
+     XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$OPENSSL_CFLAGS])
+     XIPH_VAR_APPEND([XIPH_LDFLAGS],[$OPENSSL_LDFLAGS])
+Index: icecast-2.3.2/src/Makefile.am
+===================================================================
+--- icecast-2.3.2.orig/src/Makefile.am
++++ icecast-2.3.2/src/Makefile.am
+@@ -18,7 +18,6 @@ icecast_SOURCES = cfgfile.c main.c loggi
+     xslt.c fserve.c event.c admin.c md5.c \
+     format.c format_ogg.c format_mp3.c format_midi.c format_flac.c \
+     auth.c auth_htpasswd.c format_kate.c format_skeleton.c
+-EXTRA_icecast_SOURCES = yp.c
+ 
+ if BUILD_VORBIS
+ icecast_SOURCES += format_vorbis.c
+@@ -32,6 +31,9 @@ endif
+ if BUILD_CURL
+ icecast_SOURCES += auth_url.c
+ endif
++if BUILD_YP
++icecast_SOURCES += yp.c
++endif
+ 
+ icecast_DEPENDENCIES = @ICECAST_OPTIONAL@ net/libicenet.la thread/libicethread.la \
+     httpp/libicehttpp.la log/libicelog.la avl/libiceavl.la timing/libicetiming.la
diff --git a/patches/icecast-2.3.2/series b/patches/icecast-2.3.2/series
new file mode 100644
index 0000000..6483d31
--- /dev/null
+++ b/patches/icecast-2.3.2/series
@@ -0,0 +1,10 @@
+use_pkg_config.diff
+enabled_silen_rules.diff
+fix_xml_detection.diff
+fix_vorbis_detection.diff
+fix_theora_detection.diff
+fix_speex_detection.diff
+fix_curl_detection.diff
+fix_yp_handling.diff
+fix_openssl_detection.diff
+fix_ogg_detection.diff
diff --git a/patches/icecast-2.3.2/use_pkg_config.diff b/patches/icecast-2.3.2/use_pkg_config.diff
new file mode 100644
index 0000000..49daf8c
--- /dev/null
+++ b/patches/icecast-2.3.2/use_pkg_config.diff
@@ -0,0 +1,19 @@
+From: Juergen Beisert <jbe@pengutronix.de>
+Subject: To use PKG queries in if statements, place the main check on top of all
+Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
+---
+ configure.in |    1 +
+ 1 file changed, 1 insertion(+)
+
+Index: icecast-2.3.2/configure.in
+===================================================================
+--- icecast-2.3.2.orig/configure.in
++++ icecast-2.3.2/configure.in
+@@ -26,6 +26,7 @@ else
+ fi
+ 
+ dnl Checks for programs.
++PKG_PROG_PKG_CONFIG
+ 
+ dnl Checks for libraries.
+ 
diff --git a/rules/icecast.in b/rules/icecast.in
new file mode 100644
index 0000000..cc95309
--- /dev/null
+++ b/rules/icecast.in
@@ -0,0 +1,50 @@
+## SECTION=applications
+
+menuconfig ICECAST
+	tristate
+	prompt "icecast                       "
+	select LIBC_RT
+	select LIBC_PTHREAD
+	select LIBC_M
+	select LIBC_DL
+	select LIBXSLT
+	select LIBOGG
+	select LIBVORBIS if ICECAST_WITH_VORBIS
+	select LIBTHEORA if ICECAST_WITH_THEORA
+	select SPEEX if ICECAST_WITH_SPEEX
+	select LIBCURL if ICECAST_WITH_CURL
+	select OPENSSL if ICECAST_WITH_SSL
+	help
+	  Xiph Streaming media server that supports multiple formats.
+	  Icecast is a streaming media server which currently supports Ogg Vorbis
+	  and MP3 audio streams. It can be used to create an Internet radio
+	  station or a privately running jukebox and many things in between.
+	  It is very versatile in that new formats can be added relatively
+	  easily and supports open standards for commuincation and interaction.
+
+if ICECAST
+
+config ICECAST_WITH_VORBIS
+	bool
+	prompt "with VORBIS"
+
+config ICECAST_WITH_THEORA
+	bool
+	prompt "with THEORA"
+
+config ICECAST_WITH_SPEEX
+	bool
+	prompt "with SPEEX"
+
+config ICECAST_WITH_CURL
+	bool
+	prompt "with CURL"
+	help
+	  Icecast may be compiled without curl, however this will disable all
+	  directory server interaction (YP).
+
+config ICECAST_WITH_SSL
+	bool
+	prompt "with SSL"
+
+endif
diff --git a/rules/icecast.make b/rules/icecast.make
new file mode 100644
index 0000000..9001bd9
--- /dev/null
+++ b/rules/icecast.make
@@ -0,0 +1,71 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2012 by Juergen Beisert <jbe@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_ICECAST) += icecast
+
+#
+# Paths and names
+#
+ICECAST_VERSION	:= 2.3.2
+ICECAST_MD5	:= ff516b3ccd2bcc31e68f460cd316093f
+ICECAST		:= icecast-$(ICECAST_VERSION)
+ICECAST_SUFFIX	:= tar.gz
+ICECAST_URL	:= http://downloads.xiph.org/releases/icecast/$(ICECAST).$(ICECAST_SUFFIX)
+ICECAST_SOURCE	:= $(SRCDIR)/$(ICECAST).$(ICECAST_SUFFIX)
+ICECAST_DIR	:= $(BUILDDIR)/$(ICECAST)
+ICECAST_LICENSE	:= GPLv2
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+ICECAST_CONF_TOOL := autoconf
+ICECAST_CONF_OPT := \
+	$(CROSS_AUTOCONF_USR) \
+	--enable-shared \
+	--disable-static \
+	$(GLOBAL_LARGE_FILE_OPTION) \
+	--$(call ptx/endis, PTXCONF_ICECAST_WITH_CURL)-yp \
+	--$(call ptx/wwo, PTXCONF_ICECAST_WITH_VORBIS)-vorbis \
+	--$(call ptx/wwo, PTXCONF_ICECAST_WITH_THEORA)-theora \
+	--$(call ptx/wwo, PTXCONF_ICECAST_WITH_SPEEX)-speex \
+	--$(call ptx/wwo, PTXCONF_ICECAST_WITH_CURL)-curl \
+	--$(call ptx/wwo, PTXCONF_ICECAST_WITH_SSL)-openssl
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/icecast.targetinstall:
+	@$(call targetinfo)
+
+	@$(call install_init, icecast)
+	@$(call install_fixup, icecast,PRIORITY,optional)
+	@$(call install_fixup, icecast,SECTION,base)
+	@$(call install_fixup, icecast,AUTHOR,"Juergen Beisert <jbe@pengutronix.de>")
+	@$(call install_fixup, icecast,DESCRIPTION,missing)
+
+	@$(call install_copy, icecast, 0, 0, 0755, -, /usr/bin/icecast)
+	@$(call install_alternative, icecast, 0, 0, 0644, /etc/icecast.xml)
+	@$(call install_tree, icecast, 0, 0, -, /usr/share/icecast)
+
+	@$(call install_alternative, icecast, 0, 0, 0755, /etc/init.d/icecast)
+
+# RAM FS! Makes no sense
+#	@$(call install_copy, icecast, 65534, 65534, /var/log/icecast)
+
+	@$(call install_finish, icecast)
+
+	@$(call touch)
+
+# vim: syntax=make
-- 
1.7.9.5


-- 
ptxdist mailing list
ptxdist@pengutronix.de

  parent reply	other threads:[~2012-04-06 12:45 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-06 12:45 [ptxdist] [PATCH] Add all tools to create a internet radio station Juergen Beisert
2012-04-06 12:45 ` [ptxdist] [PATCH 1/5] Add the 'libshout' Juergen Beisert
2012-04-06 12:45 ` [ptxdist] [PATCH 2/5] Add the 'id3lib' Juergen Beisert
2012-04-06 12:45 ` Juergen Beisert [this message]
2012-04-06 12:45 ` [ptxdist] [PATCH 4/5] Add the 'icegenerator' Juergen Beisert
2012-04-06 12:45 ` [ptxdist] [PATCH 5/5] Add ices Juergen Beisert
2012-04-06 20:01   ` Michael Olbrich
2012-04-07  9:12     ` Juergen Beisert
2012-04-07 10:30       ` Michael Olbrich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1333716320-7923-4-git-send-email-jbe@pengutronix.de \
    --to=jbe@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox