Commit 3c52e079 authored by keegan's avatar keegan
Browse files

Added Debian packaging

svn path=/trunk/icecast/; revision=5190
parent aadf140e
......@@ -3,7 +3,7 @@
AUTOMAKE_OPTIONS = 1.6 foreign dist-zip
SUBDIRS = src conf doc web admin win32
SUBDIRS = src conf debian doc web admin win32
EXTRA_DIST = HACKING m4/acx_pthread.m4 m4/ogg.m4 m4/vorbis.m4 \
m4/xiph_compiler.m4 m4/xiph_curl.m4 m4/xiph_net.m4 \
......@@ -115,7 +115,7 @@ AC_SUBST(CFLAGS)
AC_OUTPUT([Makefile conf/Makefile src/Makefile src/avl/Makefile
AC_OUTPUT([Makefile conf/Makefile debian/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
admin/Makefile win32/Makefile win32/res/Makefile])
## Process this file with automake to produce
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 <>
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/, 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
* 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 <> 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 <> 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 <> 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 from CVS to avoid cross-compiling on same
* Add build-dependency on libxml2-dev.
* Explicitly configure without curl support to avoid building broken
YP stuff.
* Hack src/ 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
* 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 <> 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 <> 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 <> 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 <> 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 <> 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 <> 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 <> 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 <> 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 <> 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 <> 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 <> 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 <> 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 <> 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 <> Thu, 20 Mar 2003 12:58:49 -0800
icecast2 (0.00.cvs030315-0.1) unstable; urgency=low
* Initial Release.
-- Keegan Quinn <> Sun, 16 Mar 2003 13:45:23 -0800
Source: icecast2
Section: sound
Priority: optional
Maintainer: Keegan Quinn <>
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 <>
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 <> on
Sun, 16 Mar 2003 13:45:23 -0800.
It was retrieved from
Upstream Authors: the icecast team <>
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
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"
icecast2 \- an MP3/Ogg Vorbis broadcast streaming media server
.B icecast2
.RI config.xml
\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.
\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.
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.
icecast2 was created by the icecast team <>.
This manual page was written by Keegan Quinn <>.
# 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
# Name or ID of the user and group the daemon should run under
# Edit /etc/icecast2/icecast.xml and change at least the passwords.
# Change this to true when done to enable the init.d script
#! /bin/sh
# icecast2
# Written by Miquel van Smoorenburg <>.
# Modified for Debian
# by Ian Murdock <>.
# Further modified by Keegan Quinn <>
# for use with Icecast 2
test -x $DAEMON || exit 0
# Defaults
# Reads config file (will override defaults above)
if [ "$ENABLE" != "true" ]; then
echo "$NAME daemon disabled - read $CONFIGDEFAULTFILE."
exit 0
set -e
case "$1" in
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
--background --exec $DAEMON -- -c $CONFIGFILE
echo "$NAME."
echo -n "Stopping $DESC: "
start-stop-daemon --stop --oknodo --quiet --exec $DAEMON
echo "$NAME."
echo "Reloading $DESC configuration files."
start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON
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
exit 0
#! /bin/sh
# postinst script for icecast2
set -e
case "$1" in
exit 0
echo "postinst called with unknown argument \`$1'" >&2
exit 1
# 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."
# 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
chown -R icecast:icecast /var/log/icecast2
exit 0
#! /bin/sh
# postrm script for icecast2
set -e
case "$1" in
rm -rf /var/log/icecast2
if id icecast >/dev/null 2>&1; then
deluser icecast
# Remove group only if empty
if getent group icecast | awk -F: ' { print $4 } ' | egrep -cq '^$'; then
groupdel icecast
echo "postrm called with unknown argument \`$1'" >&2
exit 1
exit 0
#! /bin/sh
# preinst script for icecast2
set -e
case "$1" in
if [ "$1" = "upgrade" ]
start-stop-daemon --stop --quiet --oknodo \
--exec /usr/bin/icecast2 2>/dev/null || true
echo "preinst called with unknown argument \`$1'" >&2
exit 1
exit 0
#!/usr/bin/make -f
include /usr/share/cdbs/1/rules/
include /usr/share/cdbs/1/class/
DEB_MAKE_INVOKE += PACKAGE=icecast2 docdir=/usr/share/doc/icecast2 pkgdatadir=/usr/share/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; \
# 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
# Upstream forgot to clean this one it seems...
rm -f conf/icecast.xml.dist
version=2 files/icecast/icecast-(.*)\.tar\.gz debian uupdate
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment