Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • xiph/icecast-server
  • zenermerps/Icecast-Server
  • ePirat/icecast-server
  • spr0cketeer/icecast-server
  • theassassin/icecast-server
  • gilou/icecast-server
  • stephan48/icecast-server
  • rillian/icecast-server
  • vcode11/icecast-server
  • refactor-droidyy/icecast-server
10 results
Show changes
Showing with 407 additions and 558 deletions
<?php
// This is a simple example script when using auth url. This sort of
// script would be on a web server that would be invoked by icecast when
// checking for a username/password supplied by a listener.
// This code is made available under the most current version of the GPL
// (c) S.Nixon
// copy to local variables
$user_name = $HTTP_GET_VARS['user'];
$passwd = $HTTP_GET_VARS['pass'];
if ($user_name && $passwd)
// trying to authenticate
{
// try authenticating them in
$login_result = login($user_name, $passwd);
if ($login_result === true)
{
// okay, so they have a valid login
header('icecast-auth-user: 1');
}
else
{
// unsuccessful login, error message should be in $login_result
header('icecast-auth-user: 0');
echo 'You could not be logged in for the following reason: '.$login_result.'<br /> You must be authenticated to connect to this stream.<br />';
}
}
function login($username, $password)
// check username and password with db
// if yes, return true
// else return an error string...
{
$username = trim($username);
// connect to db
$conn = db_connect();
if (!$conn)
return 'Could not connect to database server - please try later.';
// check username & pass
$result = mysql_query("select * from users where user_name='$username' and password = password('$password')");
if (!$result)
return 'Could not execute authenication query; please report this to the admin.';
// if there's exactly one result, the user is validated. Otherwise, they're invalid
if (mysql_num_rows($result) == 1)
{
return true;
}
}
function db_connect()
{
// hostname for db
$db_hostname = 'localhost';
// Names of DB to connect to
$db_name = 'user_auth_db';
// User for accessing the db
$db_username = 'db_user';
// Password for DB user above
$db_password = 'db_pass';
$result = mysql_pconnect($db_hostname, $db_username, $db_password);
if (!$result)
return false;
if (!mysql_select_db($global_db_name))
return false;
return $result;
}
?>
<!-- This config file contains a minimal set of configurable parameters,
and mostly just contains the things you need to change. We created
this for those who got scared away from the rather large and heavily
commented icecast.xml.dist file. -->
<icecast>
<limits>
<sources>2</sources>
</limits>
<authentication>
<source-password>hackme</source-password>
<relay-password>hackme</relay-password>
<admin-user>admin</admin-user>
<admin-password>hackme</admin-password>
</authentication>
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>
<hostname>localhost</hostname>
<listen-socket>
<port>8000</port>
</listen-socket>
<fileserve>1</fileserve>
<paths>
<logdir>@localstatedir@/log/@PACKAGE@</logdir>
<webroot>@pkgdatadir@/web</webroot>
<adminroot>@pkgdatadir@/admin</adminroot>
<alias source="/" dest="/index.html"/>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
</logging>
</icecast>
<!-- This config file can be used to configure icecast
in shoutcast compatibility mode which will allow
you to connect the Shoutcast DSP (or other Nullsoft
encoders such as the NSV encoder). Note this is just
a minimal config, check the main icecast.xml.dist file
for a complete list of possible configuration options -->
<icecast>
<limits>
<sources>2</sources>
</limits>
<authentication>
<!-- Configure the shoutcast DSP to use this password -->
<source-password>hackme</source-password>
<!-- This is used for icecast's web interface -->
<admin-user>admin</admin-user>
<admin-password>hackme</admin-password>
</authentication>
<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>localhost</hostname>
<!-- each shoutcast source clients require 2 ports, port and port+1 -->
<listen-socket>
<!-- define the base port that the shoutcast DSP will use -->
<port>8000</port>
<!-- the following is acts as a switch to not only inform icecast
of the mountpoint to use but also that port+1 should be implicitily
defined as well. -->
<shoutcast-mount>/live</shoutcast-mount>
</listen-socket>
<fileserve>1</fileserve>
<paths>
<logdir>./log/</logdir>
<webroot>./web</webroot>
<adminroot>./admin</adminroot>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
</logging>
<security>
<chroot>0</chroot>
</security>
</icecast>
/* config.h. Generated by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
/* Define to 1 if you have the `atoll' function. */
#define HAVE_ATOLL 1
/* Define to compile in auth URL support code */
#define HAVE_AUTH_URL 1
/* Define if you have libcurl. */
#define HAVE_CURL 1
/* Define to 1 if you have the <curl/curl.h> header file. */
#define HAVE_CURL_CURL_H 1
/* Define to 1 if you have the 'curl_global_init' function */
#define HAVE_CURL_GLOBAL_INIT 1
/* Define to 1 if you have the `inet_aton' function. */
#define HAVE_INET_ATON 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define if you have nanosleep */
#define HAVE_NANOSLEEP 1
/* Define if you have libogg installed */
#define HAVE_OGG 1
/* Define if you have libopenssl. */
#define HAVE_OPENSSL 1
/* Define if you have POSIX threads libraries and header files. */
#define HAVE_PTHREAD 1
/* Define to 1 if the system has the type `pthread_rwlock_t'. */
#define HAVE_PTHREAD_RWLOCK_T 1
/* Define to 1 if the system has the function pthread_spin_lock */
#define HAVE_PTHREAD_SPIN_LOCK 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define if Speex support is available */
#define HAVE_SPEEX 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strtoll' function. */
#define HAVE_STRTOLL 1
/* Define to 1 if the system has the type `struct ovectl_ratemanage_arg'. */
#define HAVE_STRUCT_OVECTL_RATEMANAGE_ARG 1
/* Define to 1 if `ss_family' is member of `struct sockaddr_storage'. */
#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1
/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define if Theora support is available */
#define HAVE_THEORA 1
/* Define if you have winsock2.h on MINGW */
#define HAVE_WINSOCK2_H 1
/* Define to 1 if you have the `xsltSaveResultToString' function. */
#define HAVE_XSLTSAVERESULTTOSTRING 1
/* Define to 1 if you have the fnmatch.h header file */
#define HAVE_FNMATCH_H 1
/* Name of package */
#define PACKAGE "icecast"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "karl@xiph.org"
/* Define to the full name of this package. */
#define PACKAGE_NAME "Icecast"
/* Version number of package */
#define VERSION "2.3.2-kh9"
/* Define to the version of this package. */
#define PACKAGE_VERSION VERSION
/* Define to the full name and version of this package. */
#define PACKAGE_STRING PACKAGE_NAME " " PACKAGE_VERSION
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "icecast"
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to compile in YP support code */
#define USE_YP 1
typedef unsigned int socklen_t;
#define uint64_t unsigned __int64
#define int64_t __int64
/* Replace __func__ if not supported */
#define __func__ ""
/* define if va_copy is not available */
#define va_copy(ap1, ap2) memcpy(&ap1, &ap2, sizeof(va_list))
/* define if vsnprintf returns -1 if truncation occurs */
#define HAVE_OLD_VSNPRINTF 1
/* define if compiler does not handle __attribute__ keyword */
#define __attribute__(x)
#define strcasecmp _stricmp
#define strncasecmp _strnicmp
#define snprintf _snprintf
#define vsnprintf _vsnprintf
#define getpid _getpid
#define atoll _atoi64
#define fseeko fseek
#define PRIdMAX "ld"
#define SCNdMAX "ld"
#define SCN_OFF_T "ld"
#define PRI_OFF_T "ld"
#define PRId64 "I64d"
#define PRIu64 "I64u"
#define SCNd64 "I64d"
#define bool int
#define false 0
#define true 1
#define alloca _alloca
#define S_ISREG(mode) ((mode)&_S_IFREG)
#define MIMETYPESFILE ".\\mime.types"
#define HAVE_SYS_TIMEB_H 1
#define sock_t SOCKET
/* time format for strftime */
#define ICECAST_TIME_FMT "%a, %d %b %Y %H:%M:%S"
#define PATH_MAX MAX_PATH
#define HAVE_FTIME 1
#define HAVE_SYS_TIMEB_H 1
AC_INIT([Icecast], [2.0.0], [icecast@xiph.org])
AC_INIT([Icecast], [2.3.2-kh9b], [karl@xiph.org])
AC_PREREQ(2.54)
AC_PREREQ(2.59)
AC_CONFIG_SRCDIR(src/main.c)
dnl Process this file with autoconf to produce a configure script.
......@@ -11,35 +11,14 @@ AM_MAINTAINER_MODE
AC_PROG_CC
AC_CANONICAL_HOST
AC_PROG_LIBTOOL
AC_SYS_LARGEFILE
dnl Set some options based on environment
DEBUG="-g"
if test -z "$GCC"; then
XIPH_CPPFLAGS="-D_REENTRANT"
case $host in
*-*-irix*)
XIPH_CPPFLAGS="$XIPH_CPPFLAGS -w -signed"
PROFILE="-p -g3 -O2 -signed -D_REENTRANT"
;;
*-*-solaris*)
XIPH_CFLAGS="-xO4 -xcg92"
XIPH_CPPFLAGS="$XIPH_CPPFLAGS -v -w -fsimple -fast"
PROFILE="-xpg -g -Dsuncc"
;;
*)
XIPH_CFLAGS="-O"
PROFILE="-g -p"
;;
esac
case "$host" in
*openbsd* | *irix*)
;;
*) AC_DEFINE([_XOPEN_SOURCE], 600, [Define if you have POSIX and XPG specifications])
;;
esac
PROFILE="-g -p"
else
XIPH_CPPFLAGS="-Wall -ffast-math -fsigned-char"
PROFILE="-pg -g"
......@@ -52,19 +31,22 @@ dnl Checks for libraries.
dnl Checks for header files.
AC_HEADER_STDC
AC_HEADER_TIME
AC_CHECK_HEADERS([alloca.h])
AC_CHECK_HEADERS([alloca.h fnmatch.h limits.h sys/timeb.h])
AC_CHECK_HEADERS(pwd.h, AC_DEFINE(CHUID, 1, [Define if you have pwd.h]),,)
AC_CHECK_HEADERS(unistd.h, AC_DEFINE(CHROOT, 1, [Define if you have unistd.h]),,)
dnl Checks for typedefs, structures, and compiler characteristics.
XIPH_C__FUNC__
dnl Check for types
AC_TYPE_OFF_T
dnl Checks for library functions.
AC_CHECK_FUNCS(localtime_r poll)
AC_SEARCH_LIBS(nanosleep, rt posix4, AC_DEFINE(HAVE_NANOSLEEP, 1,
[Define if you have nanosleep]))
AC_CHECK_FUNCS([localtime_r poll atoll strtoll getrlimit gettimeofday ftime fstat])
AC_SEARCH_LIBS(nanosleep, rt posix4,
AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if you have nanosleep]))
XIPH_NET
dnl -- configure options --
......@@ -73,42 +55,94 @@ XIPH_PATH_XSLT
XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$XSLT_CFLAGS])
XIPH_VAR_PREPEND([XIPH_LIBS],[$XSLT_LIBS])
XIPH_PATH_VORBIS(, AC_MSG_ERROR([must have Ogg Vorbis v1.0 installed!]))
XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$VORBIS_CFLAGS])
XIPH_VAR_PREPEND([XIPH_LIBS],[$VORBIS_LIBS])
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])
])
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!])
])
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_CHECK_LIB(kate, kate_decode_init,[have_kate=yes],[have_kate=no], -logg)
if test "x$have_kate" = "xyes"
then
AC_CHECK_LIB(oggkate, kate_ogg_decode_headerin,[have_kate=yes],[have_kate=no],-lkate -logg)
if test "x$have_kate" = "xyes"
then
KATE_LIBS="-loggkate -lkate -logg"
AC_DEFINE([HAVE_KATE],[1],[Define if you have libkate])
fi
fi
dnl we still use format_kate as it doesn't need libkate to work
#ICECAST_OPTIONAL="$ICECAST_OPTIONAL format_kate.o"
ACX_PTHREAD(, AC_MSG_ERROR([POSIX threads missing]))
XIPH_VAR_APPEND([XIPH_CFLAGS],[$PTHREAD_CFLAGS])
XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$PTHREAD_CPPFLAGS])
XIPH_VAR_PREPEND([XIPH_LIBS],[$PTHREAD_LIBS])
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"
then
XIPH_PATH_CURL([
AC_CHECK_DECL([CURLOPT_NOSIGNAL],
[ AC_DEFINE([USE_YP], 1, [Define to compile in YP support code])
ICECAST_OPTIONAL="$ICECAST_OPTIONAL yp.o"
[ 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), YP disabled])
], [ 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, YP disabled])
],[ AC_MSG_NOTICE([libcurl not found])
])
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
then
AC_DEFINE([USE_YP], 1, [Define to compile in YP support code])
ICECAST_OPTIONAL="$ICECAST_OPTIONAL yp.o"
else
AC_MSG_NOTICE([YP support disabled])
fi
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!])
])
ICECAST_OPTIONAL="$ICECAST_OPTIONAL auth_cmd.o"
AC_DEFINE([MIMETYPESFILE],"/etc/mime.types", [Default location of mime types file])
AC_DEFINE([ICECAST_TIME_FMT],["%a, %d %b %Y %H:%M:%S %z"], [time format for strftime])
dnl Make substitutions
AC_SUBST(XIPH_CPPFLAGS)
AC_SUBST(XIPH_CFLAGS)
AC_SUBST(XIPH_LIBS)
AC_SUBST(XIPH_LDFLAGS)
AC_SUBST(PTHREAD_CPPFLAGS)
AC_SUBST(PTHREAD_CFLAGS)
AC_SUBST(PTHREAD_LIBS)
......@@ -118,8 +152,10 @@ AC_SUBST(DEBUG)
AC_SUBST(CFLAGS)
AC_SUBST(PROFILE)
AC_SUBST(ICECAST_OPTIONAL)
AC_SUBST(HAVE_KATE)
AC_SUBST(KATE_LIBS)
AC_OUTPUT([Makefile conf/Makefile debian/Makefile src/Makefile src/avl/Makefile
AC_OUTPUT([Makefile conf/Makefile src/Makefile src/avl/Makefile
src/httpp/Makefile src/thread/Makefile src/log/Makefile
src/net/Makefile src/timing/Makefile doc/Makefile web/Makefile
src/net/Makefile src/timing/Makefile doc/Makefile web/Makefile web/images/Makefile
admin/Makefile win32/Makefile win32/res/Makefile])
Makefile
Makefile.in
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = 1.6 foreign
EXTRA_DIST = README.Debian changelog compat control copyright \
icecast2.1 icecast2.default icecast2.init icecast2.manpages \
icecast2.postinst icecast2.postrm icecast2.preinst rules watch
icecast2 for Debian
-------------------
It is recommended to run icecast under a dedicated user account, which only
has access to write the log files. The Debian package creates such an
account, named 'icecast', and uses it by default, but you are free to
reconfigure it and remove the account.
Edit /etc/default/icecast2 to change the init-script configuration.
-- Keegan Quinn <ice@thebasement.org>
icecast2 (1.9+2.0alphasnap2+20030802-1) unstable; urgency=low
* Added a 'watch' file to automate tracking of updates.
* Now uses dh-buildinfo to store information about the package build
environment. Added a Build-Dependancy to dh-buildinfo.
* Removed cdbs/autotools-vars.mk, from cdbs CVS, because a new release
was made.
* Enabled curl during configure stage, since --disable-curl was recently
broken upstream, and potentially broken YP support can be disabled at
runtime.
* Trimmed ancient upgrade nodes and other cruft, left over from
pre-Debian versions, from README.Debian.
* Removed some autotools build cruft, since bugs were fixed upstream.
* Normalized {preinst,postinst,postrm} filenames to
icecast2.{preinst,postinst,postrm}. Thanks to Emmanuel le Chevoir
for this suggestion.
* Fixed preinst; was stopping /usr/bin/icecast instead of
/usr/bin/icecast2. Thanks to Emmanuel le Chevoir for this suggestion.
* Removed prerm, since it was not serving any purpose. Thanks to
Emmanuel le Chevoir for this suggestion.
* Cleaned up postinst: removed old comments, fixed a path typo in the
configuration file location change message.
* Cleaned up postrm: removed old comments, fixed a typo in the group
removal test.
* Thanks to Jonas Smedegaard for sponsoring this package, and
providing many good suggestions.
-- Keegan Quinn <ice@thebasement.org> Sat, 2 Aug 2003 20:28:13 -0700
icecast2 (1.9+2.0alphasnap2+20030720-1.1) unstable; urgency=low
* NMU by sponsor (still closes: Bug#178160).
-- Jonas Smedegaard <dr@jones.dk> Wed, 23 Jul 2003 06:03:42 +0200
icecast2 (1.9+2.0alphasnap2+20030720-1) unstable; urgency=low
* New daily snapshot build.
* Added Build-Dependancy to cdbs, and increased debhelper version
requirement as recommended by cdbs README.
* Corrected Standards-Version to 3.6.0. This package now generates
no lintian errors.
* Updated Recommends for ices to ices2; it was renamed.
* Added more information to the long description.
* Thanks to Jonas Smedegaard for sponsoring this package.
* This revision still closes: #178160 - the last was not uploaded.
-- Keegan Quinn <ice@thebasement.org> Mon, 21 Jul 2003 08:55:27 -0700
icecast2 (1.9+2.0alphasnap2+20030714-0.2) unstable; urgency=low
* Sponsored upload. Closes: Bug#178160.
* Switch to cdbs (agreed with maintainer).
* Use cdbs autotools-vars.mk from CVS to avoid cross-compiling on same
host.
* Add build-dependency on libxml2-dev.
* Explicitly configure without curl support to avoid building broken
YP stuff.
* Hack src/Makefile.am to use AM_CFLAGS instead of CFLAGS (which is
overridden by cdbs), and add clean rule to avoid invoking automake.
* Disable daemon by default and hint about changing passwords before
enabling.
* Avoid moving config files from pre-Debian times - instead just print
a warning if config exists in old location (better mess as little as
possible with files not ever claimed to be ours).
* Update README.Debian to reflect the above, include note about YP
support not compiled in, and remove note regarding adoption.
* Strip paths from packaging scripts (they may move around in the
future, and if PATH is wrong then something else broken anyway).
* Avoid removing unused /usr/share/icecast2 on purge.
* Remove icecast group on purge only if empty.
* Standards-version 3.6 (no changes needed).
* Fix wrong escaping of sed vars in conf/Makefile.
* Symlink public files from /usr/share/icecast2 to /etc/icecast2
(instead of pointing public root dirs below /etc).
* Use upstream config (paths are properly included now).
-- Jonas Smedegaard <dr@jones.dk> Sun, 20 Jul 2003 20:19:30 +0200
icecast2 (1.9+2.0alphasnap2+20030714-0.1) unstable; urgency=low
* New daily snapshot build.
* Updated versioning scheme to reflect (as well as possible) that the
source is a daily snapshot now, not CVS.
-- Keegan Quinn <ice@thebasement.org> Mon, 14 Jul 2003 19:39:58 -0700
icecast2 (1.9+2.0alphacvs030704-0.1) unstable; urgency=low
* Constructed a build script to completely automate the construction
of the 'pristine' tarball from CVS. This doesn't really effect the
contents of the package, just makes it easier for me to rebuild.
* New CVS source.
* Removed Build-Dependancy on libcurl2-dev; packages built without this
library present will not have YP functionality, which is okay for
now since it's badly broken.
* Updated the default configuration file, including some new options
recently added upstream.
* Added a number of tweaks to clean up and rearrange new configuration
and documentation added to upstream install target.
* Moved the configuration file from /etc/icecast.xml to
/etc/icecast2/icecast.xml. See README.Debian.
* Nice ugly version number to reflect that upstream calls this the 2.0
alpha branch, without potentially introducing the need for an epoch.
-- Keegan Quinn <ice@thebasement.org> Thu, 3 Jul 2003 23:46:56 -0700
icecast2 (0.00.cvs030529-0.1) unstable; urgency=low
* New CVS source.
* Removed unnecessary debconf stuff.
* Added README.Debian.
* Path updates:
- /usr/share/icecast to /usr/share/icecast2,
- /var/log/icecast to /var/log/icecast2,
- /usr/bin/icecast to /usr/bin/icecast2,
- /usr/share/man/man8/icecast.8.gz to /usr/share/man/man8/icecast2.8.gz.
-- Keegan Quinn <ice@thebasement.org> Wed, 29 May 2003 22:53:21 -0700
icecast2 (0.00.cvs030403-0.2) unstable; urgency=low
* Tried to make the default configuration more understandable.
-- Keegan Quinn <ice@thebasement.org> Fri, 4 Apr 2003 10:55:27 -0800
icecast2 (0.00.cvs030403-0.1) unstable; urgency=low
* New CVS source.
* Minor changes to postrm.
-- Keegan Quinn <ice@thebasement.org> Thu, 3 Apr 2003 16:05:09 -0800
icecast2 (0.00.cvs030401-0.7) unstable; urgency=low
* Minor changes to postinst.
* Added --background flag to initscript, since this version of icecast
does not yet run detached.
-- Keegan Quinn <ice@thebasement.org> Thu, 3 Apr 2003 14:24:19 -0800
icecast2 (0.00.cvs030401-0.6) unstable; urgency=low
* Added Debianized configuration file.
* Created and set ownership of /var/log/icecast and /usr/share/icecast.
-- Keegan Quinn <ice@thebasement.org> Thu, 3 Apr 2003 14:15:11 -0800
icecast2 (0.00.cvs030401-0.5) unstable; urgency=low
* Attempt at making debconf work properly.
-- Keegan Quinn <ice@thebasement.org> Thu, 3 Apr 2003 12:07:16 -0800
icecast2 (0.00.cvs030401-0.4) unstable; urgency=low
* Minor edits to init.d script.
* Added bits to create and remove system accounts appropriately.
* Typo fix in the manual page.
-- Keegan Quinn <ice@thebasement.org> Thu, 3 Apr 2003 11:06:48 -0800
icecast2 (0.00.cvs030401-0.3) unstable; urgency=low
* Finished init.d script and manual page.
* Updated postinst to handle rc*.d links.
* Package is now lintian/linda clean.
-- Keegan Quinn <ice@thebasement.org> Wed, 2 Apr 2003 16:29:18 -0800
icecast2 (0.00.cvs030401-0.2) unstable; urgency=low
* Updated copyright (replacing dh_make template).
* Fixed duplicate conffiles.
-- Keegan Quinn <ice@thebasement.org> Wed, 2 Apr 2003 16:18:02 -0800
icecast2 (0.00.cvs030401-0.1) unstable; urgency=low
* New CVS source.
* Lots of packaging cleanup.
* Initial stab at manual page and init.d script.
-- Keegan Quinn <ice@thebasement.org> Wed, 2 Apr 2003 10:25:56 -0800
icecast2 (0.00.cvs030320-0.1) unstable; urgency=low
* New CVS source.
* Automated CVS original source creation.
-- Keegan Quinn <ice@thebasement.org> Thu, 20 Mar 2003 12:58:49 -0800
icecast2 (0.00.cvs030315-0.1) unstable; urgency=low
* Initial Release.
-- Keegan Quinn <ice@thebasement.org> Sun, 16 Mar 2003 13:45:23 -0800
4
Source: icecast2
Section: sound
Priority: optional
Maintainer: Keegan Quinn <ice@thebasement.org>
Build-Depends: cdbs, debhelper (>> 4.1.0), dh-buildinfo, libogg-dev (>> 1.0.0), libvorbis-dev (>> 1.0.0), libxslt1-dev, libxml2-dev
Uploaders: Jonas Smedegaard <dr@jones.dk>
Standards-Version: 3.6.0
Package: icecast2
Architecture: any
Depends: ${shlibs:Depends}
Recommends: ices2
Description: streaming Ogg Vorbis/MP3 media server
Icecast is an audio broadcasting system. It can stream music in both
MPEG 1 Layer 3 (MP3) and Ogg Vorbis formats, supports multiple
streams on a single port through the use of "mountpoints," includes
web-based status and management interfaces, and has many other
advanced features.
.
Many standard audio players can connect and listen to Icecast-hosted
streams, since it's based on Nullsoft's Shoutcast protocol and HTTP.
This package was debianized by Keegan Quinn <ice@thebasement.org> on
Sun, 16 Mar 2003 13:45:23 -0800.
It was retrieved from http://www.xiph.org/~brendan/snapshots/icecast/
Upstream Authors: the icecast team <team@icecast.org>
Copyright (c) 1999, 2000 the icecast team
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any latfer version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
On Debian systems, the complete text of the GNU General Public License
can be found in `/usr/share/common-licenses/GPL'.
.\" Hey, EMACS: -*- nroff -*-
.TH ICECAST2 1 "July 28, 2003"
.SH NAME
icecast2 \- an MP3/Ogg Vorbis broadcast streaming media server
.SH SYNOPSIS
.B icecast2
-c
.RI config.xml
.SH DESCRIPTION
\fBicecast2\fP is an audio broadcasting system that streams music in
Ogg Vorbis and/or MPEG 1 Layer III format. It accepts stream input
from sources like ices0 and ices2, and broadcasts to clients like xmms.
.SH OPTIONS
\fBicecast2\fP has no command line options, except to specify the location
of an XML configuration file. All operational aspects of the software
are controlled by this XML configuration file.
.SH SEE ALSO
The example configuration files, provided with the package documentation
are the only reliable source of information on this software.
It is still under very active development;
documentation will be written when it is possible to do so.
.SH AUTHOR
icecast2 was created by the icecast team <team@icecast.org>.
This manual page was written by Keegan Quinn <ice@thebasement.org>.
# Defaults for icecast2 initscript
# sourced by /etc/init.d/icecast2
# installed at /etc/default/icecast2 by the maintainer scripts
#
# This is a POSIX shell fragment
#
# Full path to the server configuration file
CONFIGFILE="/etc/icecast2/icecast.xml"
# Name or ID of the user and group the daemon should run under
USERID=icecast
GROUPID=icecast
# Edit /etc/icecast2/icecast.xml and change at least the passwords.
# Change this to true when done to enable the init.d script
ENABLE=false
#! /bin/sh
#
# icecast2
#
# Written by Miquel van Smoorenburg <miquels@cistron.nl>.
# Modified for Debian
# by Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
# Further modified by Keegan Quinn <ice@thebasement.org>
# for use with Icecast 2
#
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/icecast2
NAME=icecast2
DESC=icecast2
test -x $DAEMON || exit 0
# Defaults
CONFIGFILE="/etc/icecast2/icecast.xml"
CONFIGDEFAULTFILE="/etc/default/icecast2"
USERID=icecast
GROUPID=icecast
ENABLE="false"
# Reads config file (will override defaults above)
[ -r "$CONFIGDEFAULTFILE" ] && . $CONFIGDEFAULTFILE
if [ "$ENABLE" != "true" ]; then
echo "$NAME daemon disabled - read $CONFIGDEFAULTFILE."
exit 0
fi
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
--background --exec $DAEMON -- -c $CONFIGFILE
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --oknodo --quiet --exec $DAEMON
echo "$NAME."
;;
reload|force-reload)
echo "Reloading $DESC configuration files."
start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON
;;
restart)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --oknodo --quiet --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
--background --exec $DAEMON -- -c $CONFIGFILE
echo "$NAME."
;;
*)
echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac
exit 0
debian/icecast2.1
#! /bin/sh
# postinst script for icecast2
set -e
case "$1" in
configure)
;;
abort-upgrade|abort-remove|abort-deconfigure)
exit 0
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# Move configuration file to current location, if an old one exists
# and the init.d script configuration file was updated
if [ -f /etc/icecast.xml ] && grep -q /etc/icecast2/ /etc/default/icecast2; then
echo "It seems you have an old configuration lying around at"
echo "/etc/icecast.xml. You will need to manually merge with"
echo "the current configuration at /etc/icecast2/icecast.xml."
echo "See /usr/share/doc/icecast2/examples for new configuration options."
fi
# Check for an account named 'icecast'
if ! id icecast >/dev/null 2>&1; then
# Create the new system account
adduser --system --disabled-password --disabled-login \
--home /usr/share/icecast2 --no-create-home --group icecast
fi
chown -R icecast:icecast /var/log/icecast2
#DEBHELPER#
exit 0
#! /bin/sh
# postrm script for icecast2
set -e
case "$1" in
purge)
rm -rf /var/log/icecast2
if id icecast >/dev/null 2>&1; then
deluser icecast
fi
# Remove group only if empty
if getent group icecast | awk -F: ' { print $4 } ' | egrep -cq '^$'; then
groupdel icecast
fi
;;
remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
esac
#DEBHELPER#
exit 0
#! /bin/sh
# preinst script for icecast2
set -e
case "$1" in
install|upgrade)
if [ "$1" = "upgrade" ]
then
start-stop-daemon --stop --quiet --oknodo \
--exec /usr/bin/icecast2 2>/dev/null || true
fi
;;
abort-upgrade)
;;
*)
echo "preinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0
#!/usr/bin/make -f
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk
DEB_INSTALL_CHANGELOGS_ALL = NEWS
DEB_CONFIGURE_SYSCONFDIR = /etc/icecast2
DEB_MAKE_INVOKE += PACKAGE=icecast2 docdir=/usr/share/doc/icecast2 pkgdatadir=/usr/share/icecast2
binary-post-install/icecast2::
# Debian has a central copy of the GPL, no need to distribute again
rm -f $(DEB_DESTDIR)/usr/share/doc/icecast2/COPYING
# Live peacefully with icecast 1
mv $(DEB_DESTDIR)/usr/bin/icecast $(DEB_DESTDIR)/usr/bin/icecast2
# Move XSLT templates to /etc and replace with symlinks
for file in `cd $(DEB_DESTDIR)/usr/share && find icecast2 -type f -name *.xsl`; do \
mkdir -p $(DEB_DESTDIR)/etc/`dirname $$file`; \
mv $(DEB_DESTDIR)/usr/share/$$file $(DEB_DESTDIR)/etc/$$file; \
ln -s /etc/$$file $(DEB_DESTDIR)/usr/share/$$file; \
done
# NEWS is ChangeLog - avoid original name
rm -f $(DEB_DESTDIR)/usr/share/doc/icecast2/NEWS
mkdir -p $(CURDIR)/debian/icecast2/var/log/icecast2
# Store build information
dh_buildinfo
clean::
# Upstream forgot to clean this one it seems...
rm -f conf/icecast.xml.dist