GTK+ interface that runs on Linux and Mac systems.
* Playing tracks can be paused or cancelled ("scratched").
-See CHANGES for details of recent changes to DisOrder and README.upgrades for
-upgrade instructions.
+See CHANGES.html for details of recent changes to DisOrder and README.upgrades
+for upgrade instructions.
-The server supports Linux and can be made to work on a Mac (see README.mac).
-The clients work on both Linux and the Mac. It could probably be ported to
-some other UNIX variants without too much effort. Things you will need:
+Platform support:
+ Linux Well tested on Debian
+ Mac OS X Disobedience well tested, server somewhat tested; use fink
+ FreeBSD Scantily tested; use ports for dependencies
+It could probably be ported to some other UNIX variants without too much
+effort.
Build dependencies:
- Name Tested Notes
- libdb 4.3.29 not 4.2.x; 4.4+ might work.
+ Name Tested Notes
+ libdb 4.3.29 not 4.2/4.6; 4.[457] seem to be ok
libgc 6.8
libvorbisfile 1.1.2
- libpcre 6.7 need UTF-8 support
+ libpcre 6.7 need UTF-8 support
libmad 0.15.1b
libgcrypt 1.2.3
- libao 0.8.6
+ libao 0.8.6 1.0.0 is broken
libasound 1.0.13
libFLAC 1.1.2
- GNU C 4.1.2
- GNU Make 3.81
- GNU Sed 4.1.5
- Python 2.4.4 (optional)
- GTK+ 2.8.20 (if you want the GTK+ client)
- GLIB 2.12.4 (if you want the GTK+ client)
+ libsamplerate 0.1.4 currently optional
+ GNU C 4.1.2 }
+ GNU Make 3.81 } Non-GNU versions will NOT work
+ GNU Sed 4.1.5 }
+ Python 2.5.2 (optional; 2.4 won't work)
+ GTK+ 2.12.12 (for the GTK+ client; 2.10 & older will NOT work)
+ GLIB 2.16.6 (for the GTK+ client)
"Tested" means I've built against that version; earlier or later versions will
often work too.
-Runtime dependencies:
- * Web server:
- + Apache 1.3.x works for me, but anything that supports CGI and
- authentication should be suitable.
- * Separate player programs are no longer required (but may still be used)
+For the web interface to work you will additionally need a web server. I've
+had both Apache 1.3.x and 2.x working. Anything that supports CGI should be
+OK.
-Development dependencies (only developers will need these):
- Automake 1.10 AM_PATH_PYTHON not good enough in 1.7
- Autoconf 2.61
- Libtool 1.5.22 1.4 not good enough
- Bazaar (bzr)
-
-On Debian you might ensure you have the required packages as follows:
- apt-get install gcc libc-dev automake autoconf libtool libgtk2.0-dev \
- libgc-dev libgcrypt-dev libpcre3-dev libvorbis-dev \
- libao-dev libmad0-dev libasound2-dev libdb4.3-dev \
- libflac-dev
+Bug tracker, etc:
+ http://code.google.com/p/disorder/
Mailing lists:
http://www.chiark.greenend.org.uk/mailman/listinfo/sgo-software-discuss
http://www.chiark.greenend.org.uk/mailman/listinfo/sgo-software-announce
- announcements of new versions of DisOrder
+Developers should read README.developers.
+
Installation
============
IMPORTANT: If you are upgrading from an earlier version, see README.upgrades.
-On a Debian or Ubuntu system, if you install from .deb files then you should be
-able to skip steps 1 to 6 and configure it via debconf. This is strongly
-recommended!
+Debian/Ubuntu: steps 1 to 6 are dealt with automatically if you use the .deb
+files.
+
+OX X/FreeBSD/other Linux: after installation (step 1 and 2), running
+'sudo bash scripts/setup' will cover steps 3 to 6. If it doesn't work on your
+platform, please get in touch.
1. Build the software. Do something like this:
- ./configure --sysconfdir=/etc --localstatedir=/var
- make
+ ./configure
+ make # on FreeBSD use gmake
- See INSTALL for more details about driving configure. The precise set of
- options you pass to configure is up to you, if you like configuration being
- in /usr/local/etc or wherever then that should work.
+ See INSTALL or ./configure --help for more details about driving configure.
If you only want to build a subset of DisOrder, specify one or more of the
following options:
--without-gtk Don't build GTK+ client (Disobedience)
--without-python Don't build Python support
+ If configure cannot guess where your web server keeps its HTML documents and
+ CGI programs, you may have to tell it, for instance:
+
+ ./configure cgiexecdir=/whatever/cgi-bin httpdir=/whatever/htdocs
+
See README.client for setting up a standalone client (or read the
disobedience man page).
+ To build .debs on Debian/Ubuntu, use:
+ fakeroot debian/rules binary
+
2. Install it. Most of the installation is done via the install target:
make installdirs install
- The CGI interface has to be installed separately; see under 'Web Interface'
- below.
+ NB steps 3 to 6 are covered by scripts/setup. It should work on FreeBSD, OS
+ X and Linux and could be adapted to other platforms.
3. Create a 'jukebox' user and group, with the jukebox group being the default
group of the jukebox user. The server will run as this user and group.
Disobedience from some other host, File->Login allows hostnames, passwords
etc to be configured.
+ Alternatively, after setting up the web interface (below), it's possible to
+ allow users to register themselves without operator involvement.
+
9. Optionally source completion.bash from /etc/profile or similar, for
example:
"Thought I was a gonner baby, but I'm bullet proof"
-As above, if you install from a .deb, much of the work will be done
-automatically.
+Debian/Ubuntu: the .deb files will do the setup here automatically.
+
+OS X/FreeBSD/other Linux: scripts/setup as referred to above will do the setup
+here automatically.
You need to configure a number of things to make this work:
mail_sender webmaster@example.com
- By default the web interface sends mail by connecting to the SMTP port of
- 127.0.0.1. You can override this with the smtp_server directive, for
- exampler:
+ By default the web interface sends mail via the system sendmail executable
+ (typically /usr/sbin/sendmail or /usr/lib/sendmail). You can override this
+ with the sendmail directive, for example:
+
+ sendmail /usr/sbin/my-sendmail
+
+ The executable you choose must support the -bs option. Alternatively you
+ can tell it to connect to an SMTP server via TCP, with the smtp_server
+ directive. For example:
smtp_server mail.example.com
+ Use 'disorder reconfigure' to make sure the server knows these settings.
+
2. The web interface depends on a 'guest' user existing. You can create this
with the following command:
disorder setup-guest --no-online-registration
-3. Make sure that DisOrder can find its icons and stylesheet. For example in
- your web server configuration:
-
- Alias /disorder/ /usr/local/share/disorder/static/
-
- Alternatively you could use a symlink from the right location in your
- document root, provided your web server is configured to follow them.
-
- cd /var/www
- ln -s /usr/local/share/disorder/static disorder
-
-4. Install disorder.cgi in an appropriate location. Remember to make it
- executable. Example:
+3. Try it out. The url will be (something like):
- install -m 755 server/disorder.cgi /usr/lib/cgi-bin/disorder
+ http://localhost/cgi-bin/disorder
-5. Try it out. You should be able to perform read-only operations straight
- away, and after visiting the 'Login' page to authenticate, perform other
- operations like adding a track to the queue.
+ You should be able to perform read-only operations straight away, and after
+ visiting the 'Login' page to authenticate, perform other operations like
+ adding a track to the queue.
-6. If you run into problems, always look at the appropriate error log; the
+4. If you run into problems, always look at the appropriate error log; the
message you see in your web browser will usually not be sufficient to
diagnose the problem all by itself.
-7. If you have a huge number of top level directories, then you might find
+5. If you have a huge number of top level directories, then you might find
that the 'Choose' page is unreasonably large. If so add the following line
to /etc/disorder/options.user:
label sidebar.choosewhich choosealpha
"Nothing but another drug, a licence that you buy and sell"
DisOrder - select and play digital audio files
-Copyright (C) 2003-2008 Richard Kettlewell
+Copyright (C) 2003-2009 Richard Kettlewell
Portions copyright (C) 2007 Ross Younger
Portions copyright (C) 2007 Mark Wooding
Portions extracted from MPG321, http://mpg321.sourceforge.net/
Copyright (C) 2001 Joe Drew
Copyright (C) 2000-2001 Robert Leslie
+Portions Copyright (C) 1997-2006 Free Software Foundation, Inc.
+Portions Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford <jrb@redhat.com>
Binaries may derive extra copyright owners through linkage (binary distributors
are expected to do their own legwork)
-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 later
-version.
+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 3 of the License, or
+(at your option) any later 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.
+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
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
Local Variables:
mode:text