Moved some documentation to the wiki and removed the files in the doc directory. Still more to be done.

This commit is contained in:
Paul Baranowski 2010-07-19 12:21:09 -04:00
parent 934e2f125e
commit 52276f0e78
26 changed files with 0 additions and 2785 deletions

View File

@ -1,124 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Campcaster developer tools</title>
<meta content="$Author$" name="author">
</head>
<body>
<h1>Preface</h1>
This document is part of the <a href="http://campcaster.sourcefabric.org/">Campcaster</a>
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
Development Loan Fund</a>, under the GNU <a
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
<ul>
<li>Author: $Author$</li>
<li>Version: $Revision$</li>
<li>Location: $URL$</li>
</ul>
<h1>Scope</h1>
This document lists the development tools that are expected to be on a
system that intends to compile and develop Campcaster.<br>
<h1>Introduction</h1>
Campcaster expects a generic development environment on the system to
be built, which is basically a generic install of a POSIX-compliant
operating system, with a set of GNU development tools and some
utilities.<br>
<h1>Tools</h1>
The following tools are expected on the development system:<br>
<ul>
<li><a href="http://sources.redhat.com/binutils/">binutils</a> &gt;=
2.13</li>
<li><a href="http://gcc.gnu.org/">gcc</a> &gt;= 3.3</li>
<li><a href="http://www.gnu.org/software/make/make.html">make</a>
&gt;= 3.80</li>
<li><a href="http://www.gnu.org/software/automake/">automake</a><br>
</li>
<li><a href="http://www.gnu.org/software/autoconf/">autoconf</a>
&gt;= 2.5<br>
(If you have an older version installed as well, don't forget to set
the
environment variable WANT_AUTOCONF_2_5="1" before compiling the tools.)</li>
<li><a href="http://www.gnu.org/software/libtool/libtool.html">libtool</a><br>
</li>
<li><a href="http://www.freedesktop.org/software/pkgconfig/">pkgconfig</a>
&gt;= 0.15</li>
<li><a href="http://www.fsf.org/software/patch/patch.html">patch</a>
&gt;= 2.5.9<br>
</li>
<li><a href="http://www.doxygen.org/">doxygen</a></li>
<li><a href="http://www.gnu.org/software/tar/">tar</a></li>
<li><a href="http://www.gzip.org/">gzip</a></li>
<li><a href="http://info-zip.org/masters/ftp.info-zip.org/UnZip.html">unzip</a></li>
<li><a href="http://curl.haxx.se/">curl</a><br>
<li><a href="http://ltp.sourceforge.net/coverage/lcov.php">lcov</a> &gt;= 1.4</li>
</li>
<li><a href="http://sourceforge.net/projects/pwgen">pwgen</a></li>
</ul>
<h1>Libraries</h1>
Note that if you are installing these libraries as binary packages, then you
will need to install the "development" package, as well. (For example, for
libpng, you might need to install the <code>libpng</code> and
<code>libpng-dev</code> packages. The package names vary by distribution.)
<p>The following development libraries are expected on the development
system:<br>
<ul>
<li><a href="http://www.unixodbc.org/">unixODBC</a> &gt;= 2.2</li>
<li><a href="http://xorg.freedesktop.org/">xorg-x11</a> or <a
href="http://www.xfree86.org/">XFree86</a></li>
<li><a href="http://freedesktop.org/Software/fontconfig">fontconfig</a><br>
</li>
<li><a href="http://www.libpng.org/">libpng</a></li>
<li><a href="http://www.ijg.org/">libjpeg</a><br>
</li>
<li><a href="http://www.openssl.org/">openssl</a></li>
<li><a href="http://xmlsoft.org/">libxml2</a></li>
<li><a href="http://directory.fsf.org/libs/popt.html">popt</a></li>
<li><a href="http://www.alsa-project.org/">ALSA libraries</a><br>
</li>
<li><a href="http://mad.sourceforge.net/">libid3tag</a><br>
</li>
<li><a href="http://mad.sourceforge.net/">libmad</a></li>
<li><a href="http://www.xiph.org/ogg/vorbis/">libogg</a></li>
<li><a href="http://www.xiph.org/ogg/vorbis/">libvorbis</a></li>
<li><a href="http://www.boost.org/">boost</a> &gt;= 1.33.1</li>
including the <a href="http://www.boost.org/doc/html/date_time.html">date-time
library</a>
<li><a href="http://curl.haxx.se/">curl</a> &gt;= 7.12.3</li>
<li><a href="http://www.gtk.org/">gtk+</a> &gt;= 2.6.10</li>
<li><a href="http://www.gtkmm.org/">gtkmm</a> &gt;= 2.6.5</li>
<li><a href="http://www.gtkmm.org/">libglademm</a> &gt;= 2.6.2</li>
<li><a href="http://www.ibm.com/software/globalization/icu/">icu</a>
&gt;= 3.0</li>
<li><a href="http://libxmlplusplus.sourceforge.net/">libxml++</a>
&gt;= 2.8.1</li>
<li><a href="http://www.feep.net/libtar/">libtar</a> &gt;= 1.2.11</li>
<li><a href="http://www.gstreamer.net/">gstreamer</a> &gt;= 0.10.17</li>
including at least <a href="http://gstreamer.freedesktop.org/releases/gst-plugins-good/">gst-plugins-good</a>; also <a href="http://gstreamer.freedesktop.org/releases/gst-plugins-ugly/">gst-plugins-ugly</a> if you want mp3 playback
<li><a href="http://libserial.sourceforge.net/">libserial</a> &gt;= 0.5.2</li>
<li><a href="http://sourceforge.net/projects/cppunit">cppunit</a> &gt;= 1.12.0</li>
</ul>
<h1>External services</h1>
The following external services are expected on the system:<br>
<ul>
<li>a <a href="http://www.postgresql.org/">PostgreSQL</a> database,
version 8.1 or higher</li>
<li><a href="http://httpd.apache.org/">Apache</a> httpd server,
version 2.0 or higher</li>
<li><a href="http://www.php.net/">PHP</a> interpreter</li>
<li><a href="http://www.php.net/">PHP</a> apache module</li>
<li><a href="http://www.php.net/domxml">DOMXML</a> PHP extension
- an XMLv2 module for PHP</li>
<li><a href="http://www.postgresql.org/">PostgreSQL</a> support in PHP</li>
<li><a href="http://pear.php.net/">PEAR</a></li></body>
</body>
</html>

View File

@ -1,213 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Getting started with the Campcaster development environment</title>
<meta content="$Author$" name="author">
</head>
<body>
<h1>Preface</h1>
This document is part of the <a href="http://campcaster.sourcefabric.org/">Campcaster</a>
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
Development Loan Fund</a>, under the GNU <a
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
<ul>
<li>Author: $Author$</li>
<li>Version: $Revision$</li>
<li>Location: $URL$</li>
</ul>
<h1>Scope</h1>
This document describes how to set up the Campcaster development
environment.<br>
<h1>Introduction</h1>
Campcaster uses a well-defined <a
href="developmentEnvironment/index.html">development environment</a>.
Most of the Campcaster-specific files are included in the version
control system, but some preparation and setup has to be made on system
used to develop Campcaster as well.<br>
<br>
There is a simplified and Ubuntu-centric version of this document in the
<a href="http://trac.campware.org/campcaster/wiki/DevelopmentEnvironment">
Campcaster Trac wiki</a>.
<h1>Steps<br>
</h1>
The following steps needed to be taken for setting up the Campcaster
development environment.<br>
<ul>
<li>install development tools<br>
</li>
<li>set up additional system resources</li>
<li>check out the sources</li>
<li>configure the environment<br>
</li>
<li>set up tools used by Campcaster</li>
<li>personalize your development environment<br>
</li>
</ul>
<h2>Install development tools</h2>
Install all the tools needed for the development of Campcaster. Please
see the <a href="developmentTools.html">development tools</a> document
for a list of tools needed.<br>
<h2>Set up additional system resources</h2>
The Campcaster development environment uses some system resources,
that are not reasonable to include in the environment itself.<br>
<h3>Test database<br>
</h3>
One such
resource is an ODBC datasource to a test database. This
database has to be accessible for executing the test suites and
applications within the Campcaster development environment.<br>
<br>
First, Campcaster expects a <a href="http://www.postgresql.org/">PostgreSQL</a>
database, and an ODBC
Data Source accessible to it through <a href="http://www.unixodbc.org/">unixODBC</a>.
Please refer to the documentation of these tools to set them up.<br>
<br>
The test environment assumes that it can connect to the PostgreSQL
database as localhost via a TCP/IP connection, as the user test.<br>
<br>
In newer versions of PostgreSQL (&ge; 8), TCP/IP connections from localhost
are enabled by default. If you are using an older version, do the following:
<ul>
<li>edit <code>postgresql.conf</code>
(usually <code>/var/lib/postgres/data/postgresql.conf</code>), to have
to following line:<br>
<br>
<pre><code>tcpip_socket = true</code></pre>
<br>
<li> and also edit <code>pg_hba.conf</code> (usually
<code>/var/lib/postgres/data/pg_hba.conf</code>)
to include the following line, before other lines related to access
through localhost:<br>
<br>
<pre><code>host&nbsp;&nbsp;&nbsp; all&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; all&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 255.255.255.255&nbsp;&nbsp; password</code></pre>
<br>
After the above two manual edits to the PostgreSQL configuration,
restart the postgresql daemon.<br>
</ul>
<h3>Web server<br>
</h3>
Second, Campcaster expects:
<ul>
<li><a href="http://httpd.apache.org/">Apache</a> httpd server
running on the development computer</li>
<li><a href="http://www.php.net/">PHP</a> interpreter</li>
<li><a href="http://www.php.net/">PHP</a> apache module</li>
<li> PHP iconv extension (--with-iconv)<br>
<li><a href="http://www.php.net/domxml">DOMXML</a> PHP extension - an
XMLv2 module for PHP<br>
</li>
<li><a href="http://www.postgresql.org/">PostgreSQL</a> support in PHP</li>
<li><a href="http://pear.php.net/">PEAR</a> </li>
</ul>
<h3>Apache group membership</h3>
The setup script assumes that the current user is a member of the Apache group.
Add the user who will be using the development environment to this group;
it's usually called <code>apache</code>; on debian-based systems, it is
called <code>www-data</code>.
<h3>Apache configuration</h3>
The storage server uses some directives which are not enabled by default.
To enable them, find the configuration file for the userdir module of
apache, and change the <code>AllowOverride</code> directive in the
<code>&lt;Directory /home/*/public_html&gt;</code> section to <code>All</code>.
<br><br>
<h2>Check out the sources</h2>
The Campcaster development directory tree can be accessed anonymously via
<a href="http://subversion.tigris.org/">Subversion</a>, at
<code>svn://source.campware.org/campcaster/trunk/campcaster</code>.
The following Subversion command
would check out the development tree:<br><br>
<pre><code>svn checkout svn://source.campware.org/campcaster/trunk/campcaster</code></pre><br>
This will check out and create the Campcaster development <a
href="developmentEnvironment/directoryStructure.html">directory
structure</a>.<br>
<br>
<h2>Configure the environment</h2>
First, you need to create the database and ODBC data source used by
Campcaster. This is done most easily by running the script
<code>campcaster/bin/user_setup_db.sh</code>.
Run the scripts as root, and provide your user name with the
<code>--user</code> option:
<pre><code>
cd campcaster
sudo ./bin/user_setup_db.sh --user=&lt;ls_developer_user&gt;
</code></pre>
<br>
The script will set up the following resources:<br>
<ul>
<li>a PostgreSQL user named <code>test</code> with the password
<code>test</code> (if it does not exist)</li>
<li>a PostgreSQL database named
<code>Campcaster-&lt;ls_developer_user&gt;</code></li>
<li>an ODBC data source of the same name, with user name
and password <code>test</code></li>
</li>
</ul>
<br>
Next (and last), you compile the code and set up the configuration files.
Both are done by the script
<pre><code>
cd campcaster
./bin/setupDevelopmentEnvironment.sh --apache-group=&lt;apache_group&gt;
</code></pre>
<br>
This script will set up the libraries used by Campcaster (by compiling
and installing them under campcaster/usr), and set up the development
environment for all Campcaster modules.<br>
<br>
It will also create your personalized configuration files under
<code>~/.campcaster</code>, make certain directories writable for Apache
(this is where we need the current user to be a member of the
<code>apache</code> group), define a user-specific port for the scheduler
daemon, and create a symlink in <code>~/public_html/</code> to the PHP
entry points.<br>
<br>
After running the above script, the campcaster development environment
for the current user will be unique on the system, and will not
conflict with resources used by other developers. For example, the
Campcaster HTML user interface for the user will be reachable at:<br>
<pre><code>
http://localhost/~&lt;ls_developer_user&gt;/campcaster/htmlUI/var
</code></pre>
<br>
<h2>Single-user setup</h2>
It is also possible to set up a shared configuration, instead of the
per-user setup described in the previous section.<br>
<br>
To do this, use the script <code>test_setup_db.sh</code> instead of
<code>user_setup_db.sh</code>. You will also need to manually execute
the commands in <code>setupDevelopmentEnvironment</code> up to, and not
including, the call to <code>user_setup.sh</code>; and manually execute
the "Setup storage server" and "Setup directory permissions" portions
of the <code>user_setup.sh</code> script. Finally, create a symlink
<code>campcaster</code> in the root data directory of the Apache server
which points to <code>campcaster/src/modules/</code>.
The address of the HTML interface will now be<br>
<pre><code>
http://localhost/campcaster/htmlUI/var
</code></pre>
<br>
After this, the development environment should work, using the default
configuration files. NOTE: this single-user method has not been used by any
developers for quite some time, so these instructions may be
out of date or incomplete.<br>
<br>
<h1>Ready to roll</h1>
With the above steps completed, the Campcaster modules and products
are ready to be compiled and developed further. Have fun!<br>
<br>
<br>
</body>
</html>

View File

@ -1,65 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Campcaster developer documentation</title>
<meta content="$Author$" name="author">
</head>
<body>
<h1>Preface</h1>
This document is part of the <a href="http://campcaster.sourcefabric.org/">Campcaster</a>
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
Development Loan Fund</a>, under the GNU <a
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
<ul>
<li>Author: $Author$</li>
<li>Version: $Revision$</li>
<li>Location: $URL$</li>
</ul>
<h1>Scope</h1>
This document collects Campcaster developer documentation, both
generated and handwritten.<br>
<h1>Introduction</h1>
The links below provide useful documentation for the Campcaster
developer.<br>
<h1>Static documentation<br>
</h1>
<h2>User documentation</h2>
<ul>
<li><a href="quickstart/index.html">quickstart</a></li>
<li><a href="manual/index.html">manual</a></li>
</ul>
<h2>Developer documentation</h2>
<ul>
<li><a href="gettingStarted.html">getting started</a> with
Campcaster development</li>
<li><a href="developmentTools.html">development tools</a> needed to
compile Campcaster<br>
</li>
<li>Campcaster <a href="developmentEnvironment/index.html">development
environment</a></li>
<li>UML <a href="model/index.html">model</a></li>
<li><a href="install.html">installation instructions</a> (simplified
<a href="installUbuntu.html">instructions for Ubuntu</a>)</li>
<li><a href="release.html">release process</a></li>
<li><a href="studioLocalization.html">localizing LS Studio</a></li>
<li><a href="preferences.html">definitions of shared station/user preferences</a></li>
<li>HOWTO <a href="repositoryCdHowto.html">create a repository CD</a></li>
<li>HOWTO <a href="liveCdHowto.html">create a live CD</a></li>
<li>a list of the <a href="metadataFields.html">metadata fields</a> and their various names</li>
</li>
</ul>
<h1>Generated documentation</h1>
<ul>
<li>XML-RPC <a href="xml-rpc_doc/html/hierarchy.html">interface
description</a> for the scheduler daemon</li>
<li>C++ <a href="doxygen/html/index.html">class documentation</a></li>
<li>Unit test <a href="testResults.html">results</a></li>
<li>C++ code coverage <a href="coverage/index.html">results</a></li>
<li>flawfinder <a href="flawfinderReport.html">results</a></li>
<li>the list of <a href="gui/metadataFields.html">fields used in the
metadata</a> of audio clips and playlists</li>
</ul>
<br>
</body>
</html>

View File

@ -1,167 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Campcaster installation documentation</title>
<meta content="$Author$" name="author">
</head>
<body>
<h1>Preface</h1>
This document is part of the <a href="http://campcaster.sourcefabric.org/">Campcaster</a>
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
Development Loan Fund</a>, under the GNU <a
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
<ul>
<li>Author: $Author$</li>
<li>Version: $Revision$</li>
<li>Location: $URL$</li>
</ul>
<h1>Scope</h1>
This document describes how to compile and install Campcaster on your
system.
<h1>Installation instructions</h1>
<h2>1. Install the tools, libraries and services</h2>
First, you need to install the <a href="developmentTools.html">tools,
libraries and services</a> needed to compile and run Campcaster.
You can either install pre-packaged
versions, if they are provided for your distribution; or you can download
them from the URLs listed, and compile them yourself (follow the instructions
included with each tool and library).
<p>If you are using Ubuntu 8.04 (hardy) or later, then the easiest way of doing this
is to run the
<a href="http://trac.campware.org/campcaster/wiki/DevelopmentEnvironment#a1.Installpackages">
<code>apt-get install</code> command</a> given on our wiki page.
<h2>2. Obtain the Campcaster sources</h2>
If you are reading this, you probably already have the sources, so you can
skip to the next step.
<p>If you do not have the sources yet, you need to get the tarballs named
<code>campcaster-&lt;version&gt;.tar.bz2</code> and
<code>campcaster-libraries-&lt;version&gt;.tar.bz2</code>.
Both can be downloaded from
<a href="http://sourceforge.net/projects/campcaster/">
<code>http://sourceforge.net/projects/campcaster/</code></a>.
<h2>3. Compile and install Campcaster</h2>
To install Campcaster in /opt/campcaster, do the following:
<pre>tar xfj campcaster-&lt;version&gt;.tar.bz2
tar xfj campcaster-libraries-&lt;version&gt;.tar.bz2
cd campcaster-&lt;version&gt;
./configure --prefix=/opt/campcaster
make install
</pre>
To run <code>make install</code>, you need to be able to write the
installation directory. Run it as root (change to the root user, or
write <code>sudo</code> before it).
<p>The <code>configure</code> command takes several arguments,
the most important are the following:
<pre> --prefix=PREFIX install the files of the application in PREFIX
[default: /usr/local]
</pre>
The installation directory. This is where Campcaster will be installed.
<br>
<pre> --with-apache-group specify the group of the apache web server daemon
[default: apache]
</pre>
The group of the apache web server daemon. On Debian-based systems, including
Ubuntu, this is <code>www-data</code>.
<p>There are several more options; type <code>./configure --help</code> to get
a list of them, together with their default values.
<h2>4. Configure the external services</h2>
Before you can use Campcaster, you need to set up and configure the web server
and the database that Campcaster uses to store its data.
The simplest way is to use the script included with Campcaster:
<pre>./bin/postInstallStation.sh --directory=/opt/campcaster</pre>
You need to run this script as root, too.
<p>You can also set up everything manually; see the
<a href="gettingStarted.html">gettingStarted.html</a>
document about how to do that.
<p><code>postInstallStation.sh</code> takes several arguments;
the most important are the following:
<pre> --directory=PREFIX look for Campcaster files in PREFIX
</pre>
The installation directory, where Campcaster was installed. This argument
is obligatory.
<p><pre> --apache-group specify the group of the apache web server
[default: apache]
</pre>
The group of the apache web server daemon. On Debian-based systems, including
Ubuntu, this is <code>www-data</code>.
<p><pre> --postgresql-dir the PostgreSQL configuration directory
[default: /etc/postgresql]
</pre>
The directory containing the PostgreSQL configuration file
<code>pg_hba.conf</code>. On Ubuntu 8.04 (hardy), this is
<code>/etc/postgresql/8.3/main</code>. On other distributions, it may be
different, for example <code>/var/lib/postgres/data/</code>.
<p><pre>
--postgresql-init-script the start/stop command for the PostgreSQL daemon
[default: /etc/init.d/postgresql]
</pre>
The init script used to start and stop the PostgreSQL daemon. On Ubuntu 8.04 (hardy), this is <code>/etc/init.d/postgresql-8.3</code>.
<p>There are several more options; type
<code>./bin/postInstallStation.sh --help</code>
to get a list of them, together with their default values.
<h2>5. Start Campcaster</h2>
After a successful installation, the Campcaster scheduler has to be
started. The scheduler has a System V runlevel-style startup script,
under <code>&lt;installation directory&gt;/bin/scheduler.sh<code>.
To start the scheduler, simply type:
<pre>&lt;installation directory&gt;/bin/campcaster-scheduler.sh start</pre>
<p>To use the the web interface, point your browser to
<code>http://localhost/campcaster</code>. You can also use the web interface
from other computers; simply put the name or IP number of the computer where
Campcaster was installed in place of <code>localhost</code>.
<p>To start Campcaster Studio, type the following:
<pre>&lt;installation directory&gt;/bin/campcaster-studio.sh</pre>
<p>For your first login, use the following values:
<ul>
<li>username: root</li>
<li>password: q</li>
</ul>
Later you can change the password, and add more users, from the web interface.
<p>You can make the scheduler start automatically when the system boots up,
by installing the &lt;installation directory&gt;/etc/campcaster-scheduler
init script. In Debian-based systems, this is done by
typing
<pre>cp &lt;installation directory&gt;/etc/campcaster-scheduler /etc/init.d/
update-rc.d campcaster-scheduler defaults 92
</pre>
as root. Note: in the init script, the variable <code>CAMPCASTER_DIR</code>
is hard-coded to <code>/opt/campcaster</code>. You will need to edit it and
change it to your installation directory if it is different.
<p>You can quickly fill your Campcaster storage with audio files using the
mass import script <code>&lt;installation directory&gt;/bin/import.sh</code>.
Use the <code>--help</code> option to learn how to use it. You will need
write permissions to the installation directory (i.e., typically you will
need to run the script as root).
<p>Have fun!
</body>
</html>

View File

@ -1,102 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Campcaster installation documentation for Ubuntu</title>
<meta content="$Author$" name="author">
</head>
<body>
<h1>Preface</h1>
This document is part of the <a href="http://campcaster.sourcefabric.org/">Campcaster</a>
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
Development Loan Fund</a>, under the GNU <a
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
<ul>
<li>Author: $Author$</li>
<li>Version: $Revision$</li>
<li>Location: $URL$</li>
</ul>
<h1>Scope</h1>
This document describes how to compile and install Campcaster on an Ubuntu 8.04 (hardy) system. It will probably work, with at most small modifications,
on other Ubuntu or Debian systems. For other Linux distributions, please
see the <a href="install.html">general instructions</a>.
<h1>Installation instructions</h1>
<h2>1. Install the tools, libraries and services</h2>
Run the
<a href="http://trac.campware.org/campcaster/wiki/DevelopmentEnvironment#a1.Installpackages">
<code>apt-get install</code> command</a> given on our wiki page.
<h2>2. Obtain the Campcaster sources</h2>
If you are reading this, you probably already have the sources, so you can
skip to the next step.
<p>If you do not have the sources yet, you need to get the tarballs named
<code>campcaster-&lt;version&gt;.tar.bz2</code> and
<code>campcaster-libraries-&lt;version&gt;.tar.bz2</code>.
Both can be downloaded from
<a href="http://sourceforge.net/projects/campcaster/">
<code>http://sourceforge.net/projects/campcaster/</code></a>.
<h2>3. Compile and install Campcaster</h2>
To install Campcaster in /opt/campcaster, do the following:
<pre>tar xfj campcaster-&lt;version&gt;.tar.bz2
tar xfj campcaster-libraries-&lt;version&gt;.tar.bz2
cd campcaster-&lt;version&gt;
./configure --prefix=/opt/campcaster --with-apache-group=www-data
sudo make install
</pre>
<h2>4. Configure the external services</h2>
Before you can use Campcaster, you need to set up and configure the web server
and the database that Campcaster uses to store its data. Type the following:
<pre>sudo ./bin/postInstallStation.sh --directory=/opt/campcaster \
--apache-group=www-data \
--postgresql-dir=/etc/postgresql/8.1/main \
--postgresql-init-script=/etc/init.d/postgresql-8.1
</pre>
<h2>5. Start Campcaster</h2>
After a successful installation, the Campcaster scheduler has to be
started, by typing:
<pre>/opt/campcaster/bin/campcaster-scheduler.sh start</pre>
<p>To use the the web interface, point your browser to
<code>http://localhost/campcaster</code>. You can also use the web interface
from other computers; simply put the name or IP number of the computer where
Campcaster was installed in place of <code>localhost</code>.
<p>To start Campcaster Studio, type the following:
<pre>/opt/campcaster/bin/campcaster-studio.sh</pre>
<p>For your first login, use the following values:
<ul>
<li>username: root</li>
<li>password: q</li>
</ul>
Later you can change the password, and add more users, from the web interface.
<p>You can make the scheduler start automatically when the system boots up,
by doing the following:
<pre>sudo cp /opt/livesupport/etc/campcaster-scheduler /etc/init.d/
sudo update-rc.d campcaster-scheduler defaults 92
</pre>
<p>You can quickly fill your Campcaster storage with audio files using the
mass import script:
<pre>sudo /opt/campcaster/bin/import.sh --directory=&lt;some directory&gt;
</pre>
<p>Have fun!
</body>
</html>

View File

@ -1,290 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Campcaster live CD creation process documentation</title>
<meta content="$Author$" name="author">
</head>
<body>
<h1>Preface</h1>
This document is part of the <a href="http://campcaster.sourcefabric.org/">Campcaster</a>
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
Development Loan Fund</a>, under the GNU <a
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
<ul>
<li>Author: $Author$</li>
<li>Version: $Revision$</li>
<li>Location: $URL$</li>
</ul>
<h1>Scope</h1>
This document describes the process of creating a custom Ubuntu live CD
with the Campcaster packages added.
<h1>Acknowledgement</h1>
The following HOWTO has been copied from Alberto Turelli's HOWTO at
<a href="http://www.atworkonline.it/~bibe/ubuntu/custom-livecd.htm">http://www.atworkonline.it/~bibe/ubuntu/custom-livecd.htm</a>, with some modifications.
<h1>Introduction</h1>
<p>
A live CD is a bootable CD with a complete Linux system on it. A live CD
which contains the Campcaster packages can be used to demo Campcaster
without having to install anything on the hard drive.
</p>
<p>
It can also be used to create a new, complete Ubuntu system on the hard drive,
with Campcaster automatically installed on it.
</p>
The live CD creation process consists of the following steps:<br>
<ol>
<li>Copy the live CD</li>
<li>Free some space</li>
<li>Mount the compressed filesystem</li>
<li>Create an image for the modified filesystem</li>
<li>Copy the compressed filesystem</li>
<li>Chroot to, and tweak the system</li>
<li>Finish the modified filesystem</li>
<li>Build the modified compressed filesystem</li>
<li>Create the new live CD</li>
</ol>
<h1>Notes</h1>
<p>
The live CD produced with this HOWTO (as of revision 3055) has the following issues:
</p>
<ul>
<li>It is very slow if your computer has less than 1 GB of memory.</li>
<li>Installing on the hard drive does not work well. See
<a href="http://trac.campware.org/campcaster/ticket/2204">ticket
#2204</a>.
</ul>
<h1>The steps in detail</h1>
<h2>1. Copy the live CD</h2>
Export a shell variable (say, <i>WORK</i>) pointing to a working directory somewhere on your disk (say, <i>~/mylivecd</i>), so you can use this page as a copy-and-paste howto.
<pre>
$ export WORK=~/mylivecd
$ mkdir -p $WORK
</pre>
Mount a (K)Ubuntu Linux Live CD
<pre>
$ mount -t iso9660 /dev/hdc /cdrom
</pre>
or the ISO image:
<pre>
$ sudo mount -t iso9660 -o loop /path/to/dapper-live-i386.iso /cdrom
</pre>
Then copy the content of the disk into a new directory, set the write permission on the new directory's content, and unmount the Live CD (or the ISO image):
<pre>
$ cd $WORK
$ mkdir ubuntu-livecd
$ cp -a /cdrom/. ubuntu-livecd
$ chmod -R u+w ubuntu-livecd
$ sudo umount /cdrom
</pre>
The directory contains about 690 MB.
You need a copy, because it will be modified.
<h2>2. Free some space</h2>
The copy of the Live CD has various subdirectories.
I removed one of them, containing some Windows applications.
<pre>
$ rm -rf $WORK/ubuntu-livecd/programs
</pre>
The Live CD works fine without these programs.
That saves about 30 MB.
<h2>3. Mount the compressed filesystem</h2>
<p>
The visible content of the Live CD is mainly used for booting.
(K)Ubuntu Linux itself is contained in a compressed filesystem image in <i>$WORK/ubuntu-livecd/casper/filesystem.squashfs</i>.
</p>
<p>
To decompress and read this file, you need the squashfs module (installed by default on Ubuntu Dapper), and the <code>squashfs-tools</code> package.
</p>
<p>
Finally loopback mount the compressed filesystem on a new mount point, say <i>$WORK/old</i>:
<pre>
$ mkdir $WORK/old
$ sudo mount -t squashfs -o loop,ro $WORK/ubuntu-livecd/casper/filesystem.squashfs $WORK/old
</pre>
Have a look at <i>$WORK/old</i>.
You should see the root of the (K)Ubuntu filesystem.
</p>
<h2>4. Create an image for the modified compressed filesystem</h2>
This requires abount 2.5 GB of disk space. Make an empty file of 2.5 GB size:
<pre>
$ sudo dd if=/dev/zero of=$WORK/ubuntu-fs.ext2 bs=1M count=2500
</pre>
Format the file with an Ext2 filesystem:
<pre>
$ sudo mke2fs $WORK/ubuntu-fs.ext2
</pre>
mke2fs will warn you that <i>ubuntu-fs.ext2</i> a not a real device.
This is ok, proceed.
<br />
Now loopback mount the freshly formatted filesystem on a new mount point, say <i>$WORK/new</i>:
<pre>
$ mkdir $WORK/new
$ sudo mount -o loop $WORK/ubuntu-fs.ext2 $WORK/new
</pre>
<h2>5. Copy the compressed filesystem</h2>
To modify the (K)Ubuntu filesystem, we need to decompress and copy it:
<pre>
$ sudo cp -a $WORK/old/. $WORK/new
</pre>
We can umount <i>$WORK/old</i> now, because we have copies of all the data we need:
<pre>
$ sudo umount $WORK/old
</pre>
<h2>6. Chroot to, and tweak the system</h2>
<p>
Now it's time to fine-tune the system to your needs, chrooting into the new system and using the standard Debian/Ubuntu tools.
</p>
<p>
First, prepare the <i>/proc</i> filesystem and create the <i>/etc/resolv.conf</i> and <i>/etc/hosts</i> files in the copied filesystem. Then stop some services to make sure their ports are available in the chrooted system. Finally, chroot into you live CD environment:
<pre>
$ sudo mount -t proc -o bind /proc $WORK/new/proc
$ sudo cp /etc/resolv.conf /etc/hosts $WORK/new/etc/
$ sudo /etc/init.d/campcaster-scheduler stop
$ sudo /etc/init.d/postgresql-8.1 stop
$ sudo /etc/init.d/apache2 stop
$ sudo chroot $WORK/new /bin/bash
</pre>
</p>
<p>
Now you are at the root of the (K)Ubuntu filesystem.
Tweak the system as you like:
<pre>
# vi /etc/apt/sources.list # (Enable the universe and campware repositories.)
# apt-get update
# apt-get install campcaster-studio
# apt-get clean
# vim /opt/campcaster/etc/campcaster-scheduler.xml # (Change the sound
# vim /opt/campcaster/etc/campcaster-studio.xml # devices to "default".)
</pre>
</p>
<p>
Stop the services started by the package installer, and leave the (K)Ubuntu filesystem:
<pre>
# /etc/init.d/campcaster-scheduler stop
# /etc/init.d/postgresql-8.1 stop
# /etc/init.d/apache2 stop
# exit
$ sudo umount $WORK/new/proc
$ sudo rm $WORK/new/etc/resolv.conf $WORK/new/etc/hosts
</pre>
You are back at your own system.
</p>
<h2>7. Finish the modified filesystem</h2>
First, update the manifest file to reflect the modified packages:
<pre>
$ sudo chroot $WORK/new dpkg-query -W --showformat='${Package} ${Version}\n' \
> $WORK/ubuntu-livecd/casper/filesystem.manifest
</pre>
Next, clear the free disk space.
Even if some Debian packages were removed, the unused space on the modified filesystem still holds the content.
Fill all free space on the modified filesystem with zeroes (this will eventually fail with "no space left"), then remove the zero file:
<pre>
$ sudo dd if=/dev/zero of=$WORK/new/dummyfile
$ sudo rm $WORK/new/dummyfile
</pre>
Now, all unused data blocks are filled with zeroes and compress to almost nothing.
<h2>8. Build the modified compressed filesystem</h2>
Re-generate the modified filesystem:
<pre>
$ sudo rm $WORK/ubuntu-livecd/casper/filesystem.squashfs
$ cd $WORK/new
$ sudo mksquashfs . $WORK/ubuntu-livecd/casper/filesystem.squashfs
</pre>
This is the most time-consuming step.
Umount <i>$WORK/new</i> now, we are done:
<pre>
$ cd $WORK
$ sudo umount $WORK/new
</pre>
<h2>9. Create the new live CD</h2>
On the Live-CD there is a MD5 hash.
Adjust it to the modified content of the CD:
<pre>
$ cd $WORK/ubuntu-livecd
$ sudo find . -type f -print0 |xargs -0 md5sum |sudo tee md5sum.txt
</pre>
Now build the ISO image file, ubuntu-new.iso:
<pre>
$ cd $WORK
$ sudo mkisofs \
-o Ubuntu+Campcaster.iso \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-r \
-V "Ubuntu+Campcaster Live CD" \
-cache-inodes \
-J \
-l \
ubuntu-livecd
</pre>
<p>
Burn Ubuntu+Campcaster.iso to a disk and you are done!
</p>
<p>
For testing, a virtual PC like <i>qemu</i> is great.
</p>
<br />
</body>
</html>

View File

@ -1,101 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
<TITLE></TITLE>
<META NAME="GENERATOR" CONTENT="OpenOffice.org 1.1.3 (Win32)">
<META NAME="CREATED" CONTENT="20050218;18422000">
<META NAME="CHANGED" CONTENT="20050218;18520000">
<STYLE>
<!--
BODY,DIV,TABLE,THEAD,TBODY,TFOOT,TR,TH,TD,P { font-family:"Arial"; font-size:x-small }
-->
</STYLE>
</HEAD>
<BODY TEXT="#000000">
<TABLE FRAME=VOID CELLSPACING=0 COLS=4 RULES=GROUPS BORDER=1>
<COLGROUP><COL WIDTH=255><COL WIDTH=313><COL WIDTH=316><COL WIDTH=516></COLGROUP>
<TBODY>
<TR>
<TD WIDTH=255 HEIGHT=17 ALIGN=LEFT><B>Key name</B></TD>
<TD WIDTH=313 ALIGN=LEFT><B>Type</B></TD>
<TD WIDTH=316 ALIGN=LEFT><B>Format</B></TD>
<TD WIDTH=516 ALIGN=LEFT><B>Comment/Example</B></TD>
</TR>
<TR>
<TD HEIGHT=17 ALIGN=LEFT><I>Station Preferences:</I></TD>
<TD ALIGN=LEFT><BR></TD>
<TD ALIGN=LEFT><BR></TD>
<TD ALIGN=LEFT><I>Stored for group &bdquo;StationPrefs&ldquo;</I></TD>
</TR>
<TR>
<TD HEIGHT=17 ALIGN=LEFT>stationMaxfilesize</TD>
<TD ALIGN=LEFT>Int</TD>
<TD ALIGN=LEFT><BR></TD>
<TD ALIGN=LEFT>Size in bytes</TD>
</TR>
<TR>
<TD HEIGHT=17 ALIGN=LEFT>stationFrequency</TD>
<TD ALIGN=LEFT>String</TD>
<TD ALIGN=LEFT><BR></TD>
<TD ALIGN=LEFT>String because comma, minus</TD>
</TR>
<TR>
<TD HEIGHT=17 ALIGN=LEFT>stationName</TD>
<TD ALIGN=LEFT>String</TD>
<TD ALIGN=LEFT><BR></TD>
<TD ALIGN=LEFT><BR></TD>
</TR>
<TR>
<TD HEIGHT=17 ALIGN=LEFT>stationLogoPath</TD>
<TD ALIGN=LEFT>String</TD>
<TD ALIGN=LEFT><BR></TD>
<TD ALIGN=LEFT>Valid path and filename. Relative/absolute?</TD>
</TR>
<TR>
<TD HEIGHT=17 ALIGN=LEFT>stationURL</TD>
<TD ALIGN=LEFT>String</TD>
<TD ALIGN=LEFT><BR></TD>
<TD ALIGN=LEFT>Valid URL</TD>
</TR>
<TR>
<TD HEIGHT=17 ALIGN=LEFT><BR></TD>
<TD ALIGN=LEFT><BR></TD>
<TD ALIGN=LEFT><BR></TD>
<TD ALIGN=LEFT><BR></TD>
</TR>
<TR>
<TD HEIGHT=17 ALIGN=LEFT><I>User Preferences:</I></TD>
<TD ALIGN=LEFT><BR></TD>
<TD ALIGN=LEFT><BR></TD>
<TD ALIGN=LEFT><BR></TD>
</TR>
<TR>
<TD HEIGHT=17 ALIGN=LEFT>scratchPadContents</TD>
<TD ALIGN=LEFT>String</TD>
<TD ALIGN=LEFT>$gunid:YYYY-MM-DD $gunid2:YYYY-MM-DD [...]</TD>
<TD ALIGN=LEFT>7517812295906073177:2005-02-02 5680267281985233061:2005-01-15</TD>
</TR>
<TR>
<TD HEIGHT=17 ALIGN=LEFT>playlistToken</TD>
<TD ALIGN=LEFT>String</TD>
<TD ALIGN=LEFT>$playlistId:$token</TD>
<TD ALIGN=LEFT>23:28f641eb921c2cb5</TD>
</TR>
<TR>
<TD HEIGHT=17 ALIGN=LEFT>TimeFormat</TD>
<TD ALIGN=LEFT>Int</TD>
<TD ALIGN=LEFT>12 | 24</TD>
<TD ALIGN=LEFT><BR></TD>
</TR>
</TBODY>
</TABLE>
<!-- ************************************************************************** -->
</BODY>
</HTML>

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

View File

@ -1,265 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Campcaster release process documentation</title>
<meta content="$Author$" name="author">
</head>
<body>
<h1>Preface</h1>
This document is part of the <a href="http://campcaster.sourcefabric.org/">Campcaster</a>
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
Development Loan Fund</a>, under the GNU <a
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
<ul>
<li>Author: $Author$</li>
<li>Version: $Revision$</li>
<li>Location: $URL$</li>
</ul>
<h1>Scope</h1>
This document describes the process of releasing a new version of
Campcaster. Obviously this document is only relevant to people who
have the rights and permissions to make such a release.<br>
<h1>Introduction</h1>
For all the releases of Campcaster to remain consistent, it is
preferable to have a repeatable release process, which will be followed
when creating releases. This ensures that no matter who creates the
releases, they will remain similar.<br>
<br>
The release process boils down to the following steps:<br>
<ul>
<li>getting Campcaster sources</li>
<li>checking the distribution script</li>
<li>updating release version and changelog<br>
</li>
<li>creating release tarballs</li>
<li>testing the tarballs</li>
<li>creating Debian packages<br>
</li>
<li>tagging the sources</li>
<li>publishing the tarballs</li>
<li>announcing the release<br>
</li>
</ul>
<h1>Getting Campcaster sources</h1>
It is assumed that the person doing the release has a read/write access
to the Campcaster version control system. As a first step of the
release process, a fresh copy of the version control repository is
checked out, so as to insure that:<br>
<ul>
<li>the release contains exactly the files that are in the version
control system</li>
<li>there are no generated files in the release</li>
</ul>
To get a fresh copy of the Campcaster repository, execute the
following in an empty directory:
<pre><code>svn checkout svn://source.campware.org/campcaster/trunk/campcaster</code><br></pre>
<h1>Checking the distribution script</h1>
It is advisable to check the installation script <code>bin/dist.sh</code>,
to make sure it refers to up-to-date information from the development
environment.<br>
<br>
The most important aspect to check is that the specific versions of
tools mentioned in the distribution script are in sync with the tools
compiled by the master <code>Makefile</code> under the target <code>tools_setup</code>.
To check this, compare tool version variables in the two files, e.g. <code>BOOST_VERSION</code>
from <code>Makefile</code> with <code>boost_version</code> from <code>bin/dist.sh</code>.
Make sure to check the versions for all the tools mentioned in these
files. Also check that there are no tools missing from the distribution
script that are mentioned in the master <code>Makefile</code>.<br>
<h1>Updating release version and changelog</h1>
Updating the release version and maintining a changelog helps people
track the progress of the project. Also, building binary packages rely
on this information, in particular debian packages won't build if there
is a mismatch between the release version and the topmost entry in the
debian changelog file.<br>
<br>
You need to update the version information in the following files:
<ul>
<li><code>etc/debian/changelog</code></li>
<li><code>etc/configure.ac</code></li>
<li><code>etc/doxygen.config</code></li>
<li><code>etc/xmlrpc-doxygen.config</code></li>
<li><code>src/modules/storageServer/var/campcaster_version.php</code></li>
</ul>
To update the changelog, edit <code>etc/debian/changelog</code>,
by inserting a section onto the top of the file:<br>
<br>
<pre>campcaster (&lt;version&gt;-1) unstable; urgency=low<br><br> * Changes listed here<br><br> -- <code>Package Maintainer &lt;maintainer@foo.bar&gt;</code> &lt;timestamp&gt;<br><br></pre>
You can change the "-1" part (to "-2" or "-0distro1" etc). Note that the
<code>&lt;version&gt;</code> string, which will be referred to below,
is <i>without</i> this extension; the extension will be read from the
<code>changelog</code> file by the Debian packaging scripts.<br>
<br>
The <code>&lt;timestamp&gt;</code> must be preceeded by two spaces, and must be an RFC
2822 compliant date string, which is most easily produced by issuing
the <code>date -R</code> command. Please note that the debian package
manager is quite picky on the format of the changelog file. See <a
href="http://www.debian.org/doc/debian-policy/ch-source.html#s-dpkgchangelog">section
4.4</a> of the Debian Policy Manual for more details.<br>
<br>
Don't forget to commit the changes made to the changelog into Subversion
before proceeding.<br>
<h1>Creating release tarballs<br>
</h1>
To create the release tarballs, invoke the distribution script <code>bin/dist.sh</code>,
with the release version as its single parameter:<br>
<br>
<pre><code>./bin/dist.sh --version &lt;version&gt;<br></code></pre>
<br>
This will create two tarballs in the parent of the current directory:<br>
<ul>
<li><code>campcaster-&lt;version&gt;.tar.bz2</code></li>
<li><code>campcaster-libraries-&lt;version&gt;.tar.bz2</code></li>
</ul>
<h1>Testing the tarballs</h1>
Having broken releases is very annoying, thus it is highly recommended
that the release tarballs are tested on a plain vanilla system. To test
the tarballs, follow the procedure described in the Campcaster <a
href="install.html">installation document</a>.<br>
<br>
Do not publish tarballs that have not been tested, or are known to be
broken.<br>
<h1>Creating Debian packages</h1>
After the source tarballs have been tested, Debian source and binary
packages can be created. To do so, upload the source tarballs to a
Debian system, install the packages needed to install Campcaster,
plus two more needed for the build process: <code>debhelper</code> and
<code>fakeroot</code>. Then do the following:<br>
<br>
<pre>tar xfj campcaster-&lt;version&gt;.tar.bz2
tar xfj campcaster-libraries-&lt;version&gt;.tar.bz2
cd campcaster-&lt;version&gt;
./bin/createDebianPackages.sh -d .. -v &lt;version&gt; -o .. -m "Joe Maintainer &lt;joe@foo.bar&gt;"
cd ..
</pre>
<br>
The above command will create the Debain source package files next to
the original source tarballs. The script will generate the following
files, making up the Debian source package:<br>
<br>
<pre>campcaster_&lt;version&gt;-1.dsc
campcaster_&lt;version&gt;-1.diff.gz
campcaster_&lt;version&gt;.orig.tar.gz
</pre>
Based on the source packages, the Debian package management system can
build the binaries for the current target platform, provided all the
necessary packages required to build are installed on the system. For a
list of the necessary packages, please consult the control file
in the extracted debianized source tree generated below
(<code>build/campcaster-&lt;version&gt;/debian/control</code>).<br>
<br>
Building is best done in an empty directory as follows:<br>
<br>
<pre>rm -rf /opt/campcaster
rm -rf build
mkdir build
cd build
dpkg-source -x ../campcaster_&lt;version&gt;-1.dsc
cd campcaster-&lt;version&gt;
sudo dpkg-buildpackage &> ../build.log
cd ..
</pre>
<!-- "dpkg-buildpackage -rfakeroot" would be better instead of
"sudo dpkg-buildpackage", but it does not work because of the strange
-libraries package -->
The above commands will result in the following debian packages:
<br>
<pre>campcaster-libs_&lt;version&gt;-1_&lt;arch&gt;.deb
campcaster-station_&lt;version&gt;-1_&lt;arch&gt;.deb
campcaster-studio_&lt;version&gt;-1_&lt;arch&gt;.deb
</pre>
<h1>Uploading the packages to the Campware repository</h1>
For users to be able to install the packages using <code>apt-get</code>
or <code>Synaptic</code> etc., they need to be uploaded to the Campware
package repository on <code>packages.campware.org</code>.
To do this, you need to do the following, as real root (sudo is not enough):
<ul>
<li>Copy the three package files to the
<code>/var/www/ubuntu/packages/hardy/&lt;arch&gt;</code> directory
on <code>packages.campware.org</code>. If the directory contained earlier
versions of the packages, you can delete those.
<li>Generate the package listing:
<pre>cd /var/www/ubuntu
apt-ftparchive packages packages/hardy/&lt;arch&gt; | gzip -9c > dists/hardy/main/binary-&lt;arch&gt;/Packages.gz</pre>
</ul>
For other releases, like intrepid, jaunty, karmic etc. replace 'hardy' accordingly
everywhere, of course.
<h1>Tagging the sources</h1>
After the tarballs have been tested, the release can be finalized. As a
first step, the current state of the Campcaster version control
repository has to be tagged, so that the the very versions in the
release can be retrieved at any later date. To tag the repository,
issue the following command:<br>
<br>
<pre><code>svn copy svn://source.campware.org/campcaster/trunk \
svn://source.campware.org/campcaster/tags/campcaster-&lt;version&gt;
</code></pre>
<br>
This will tag the current state of the repository with the tag <code>campcaster-&lt;version&gt;</code>,
enabling later retrieval of this specific state.<br>
<h1>Updating Trac</h1>
Add the new version number to the Version pull-down menu in Trac by
executing
<pre><code>trac-admin /usr/local/trac-projects/campcaster version add &lt;version&gt;</code></pre>
on <code>trac.campware.org</code>.
<h1>Publishing the tarballs</h1>
To make the release available to the public, the created tarballs have
to be published. This is done by making the files accessible under the
Campcaster project page on SourceForge:
<code>http://sourceforge.net/projects/campcaster</code>.<br>
<h1>Announcing the release</h1>
For the public to be aware of the new release, it has to be announced.
This is primarily done on the Campware site, but also on other
meta-sites, like freshmeat. In particular, the following announcements
are made:<br>
<ul>
<li>Campware.org site.</li>
<li>Freshmeat.net.</li>
<li>Press releases/announcements go to:</li>
<ul>
<li>NewsForge (<a class="moz-txt-link-freetext"
href="http://www.newsforge.com/">http://www.newsforge.com</a>)</li>
<li> PRweb (<a class="moz-txt-link-freetext"
href="http://www.prweb.com/">http://www.prweb.com</a>)</li>
<li>MDLF's press person</li>
<li> Campcaster developers' list, urging everyone to send it to
friends and contacts</li>
<li>Other Campware developers' lists on major releases</li>
<li> Other mailing lists and friendly/relevant organizations</li>
</ul>
</ul>
<h1>Other</h1>
You may want to <a href=repositoryCdHowto.html>create a repository CD</a>,
too.
<br><br>
</body>
</html>

View File

@ -1,99 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Campcaster repository CD creation process documentation</title>
<meta content="$Author$" name="author">
</head>
<body>
<h1>Preface</h1>
This document is part of the <a href="http://campcaster.sourcefabric.org/">Campcaster</a>
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
Development Loan Fund</a>, under the GNU <a
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
<ul>
<li>Author: $Author$</li>
<li>Version: $Revision$</li>
<li>Location: $URL$</li>
</ul>
<h1>Scope</h1>
This document describes the process of creating a repository CD containing
the Campcaster deb packages.
<h1>Introduction</h1>
A repository CD is a CD which contains the Campcaster deb packages, plus
all the other deb packages which Campcaster depends on. Such a CD can be
used to install Campcaster on computers with limited or no internet
connectivity.
The repository CD creation process consists of the following steps:<br>
<ul>
<li>collect the necessary deb packages</li>
<li>create the package listing</li>
<li>create the iso image</li>
<li>test the iso image</li>
</ul>
<h1>Collect the necessary deb packages</h1>
Start with a fresh Ubuntu system installed from the install CD, with no additional packages. Add the universe repository and the campware.org
repository
<pre>deb http://packages.campware.org/ubuntu hardy main</pre>
to <code>/etc/apt/sources.list</code>.
Type
<pre>sudo apt-get clean</pre>
to clean the package cache, and install Campcaster normally. Install any
other deb packages you want to be on the repository CD. Now copy the
packages into your home directory:
<pre>cd
mkdir repository
cd repository
mkdir pool
cp -v /var/cache/apt/archives/*.deb pool/</pre>
<h1>Create the package listing</h1>
Type
<pre>cd ~/repository
apt-ftparchive packages pool | gzip -9c > Packages.gz</pre>
this will create a <code>Packages.gz</code> file containing the list of
packages.
<h1>Create the iso image</h1>
Type
<pre>cd ~/repository
mkisofs -J -r -pad -v -V "Campcaster repository CD" \
-o ../Campcaster-repository.iso .</pre>
Note the space and dot at the end of the command. The volume label
(<code>-V</code>) can be up to 32 characters long.
<p>
It's OK to add more files to the CD; <code>apt-cdrom</code> (or, equivalently,
Synaptic's "Add CD-ROM" button) is smart enough to find the repository among
all the other stuff.
<h1>Test the iso image</h1>
Burn the iso file to a CD:
<pre>cdrecord -scanbus
cdrecord -v dev=ATA:1,0,0 ~/Campcaster-repository.iso</pre>
(change <code>1,0,0</code> to whatever scanbus told you, of course). Then try adding
the CD as a repository with
<pre>apt-cdrom add</pre>
<p>
You can also use Nautilus and Synaptic instead of mkisofs, cdrecord
and apt-cdrom.
<p>
TODO: it's probably possible to mount and check the iso without burning it
to a CD first.
<br><br>
</body>
</html>

View File

@ -1,88 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Campcaster documentation for LS Studio localization</title>
<meta content="$Author$" name="author">
</head>
<body>
<h1>Preface</h1>
This document is part of the <a href="http://campcaster.sourcefabric.org/">Campcaster</a>
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
Development Loan Fund</a>, under the GNU <a
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
<ul>
<li>Author: $Author$</li>
<li>Version: $Revision$</li>
<li>Location: $URL$</li>
</ul>
<h1>Scope</h1>
This document describes the process of adding a new language to the
Campcaster Studio localization. It is written for developers.<br>
<h1>Introduction</h1>
Campcaster Studio (a.k.a. the C++ GUI) uses IBM's
<a href="http://www-306.ibm.com/software/globalization/icu/index.jsp">ICU</a>
library for localization. This library supports a fallback mechanism:
if the locale is set to <b>es_GT</b> (Guatemalan Spanish), it first tries to
read the <b>es_GT</b> table for localized strings; if there is no such table,
it tries the <b>es</b> table; and if that is missing, too, it reads the
<b>root</b> table.<br>
These tables are stored as UTF-8 text files (with Unix line breaks, i.e., a
single 0x0A character at the end of each line) in the
<code>products/gLiveSupport/var</code> directory with a <code>txt</code>
extension: e.g., <code>es_GT.txt</code>.
Before these files can be used by the program, they need to be converted into
binary <i>resource bundle</i> files using ICU's <code>genrb</code> program
(which is in <code>usr/bin</code>, and is called by the Makefile).
<h1>Modifying an existing language</h1>
<ul>
<li>Edit the text file (e.g.,
<code>products/gLiveSupport/var/es_GT.txt</code>).</li>
<li>Run <code>make</code> in <code>products/gLiveSupport</code>.</li>
</ul>
<h1>Adding a new language</h1>
<ul>
<li>Add the new text file to <code>products/gLiveSupport/var</code>.
(See the
<a href="http://icu.sourceforge.net/userguide/localizing.html#ICU4C">ICU
user guide</a> for the format of this file.)<br>
The first row of the file should be the locale name, followed by
":table". The locale name is of the form
<code>&lt;language-code&gt;[[_&lt;country-code&gt;]_&lt;variant&gt;]</code>,
where
<ul>
<li><code>&lt;language-code&gt;</code> is the
<a href="http://www.loc.gov/standards/iso639-2/langcodes.html">ISO 639-1</a>
2-letter language code in lowercase,</li>
<li>the optional <code>&lt;country-code&gt;</code> is the
<a href="http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO 3166-1</a>
2-letter country code in uppercase, and</li>
<li>the optional <code>&lt;variant&gt;</code> is the variant
(usually EURO or CYRILLIC) in uppercase.</li>
</ul>
Note that this is slightly different from the normal ISO standard:
ICU uses it_IT_EURO where the standard would be it_IT@euro.<br>
Make sure the file is in UTF-8 encoding, has Unix line breaks,
and does not have a
<a href="http://www.unicode.org/faq/utf_bom.html#BOM">BOM</a>
character at the beginning.<br>
The file name should be the locale name, followed by ".txt".
<li>Add a new line for the new language in each of the files
<ul>
<li><code>campcaster-studio.xml</code></li>
<li><code>campcaster-studio.xml.template</code></li>
<li><code>campcaster-studio.xml.user-template</code></li>
<li><code>Makefile.in</code></li>
</ul>
in the <code>products/gLiveSupport/etc</code> directory.</li>
<li>Run <code>configure --prefix=...</code> and then
<code>make clean all</code>
in the <code>products/gLiveSupport</code> directory.
</ul>
<br>
</body>
</html>

View File

@ -1,87 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Campcaster user localization instructions</title>
<meta content="$Author$" name="author">
</head>
<body>
<h1>Preface</h1>
This document is part of the <a href="http://campcaster.sourcefabric.org/">Campcaster</a>
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
Development Loan Fund</a>, under the GNU <a
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
<ul>
<li>Author: $Author$</li>
<li>Version: $Revision$</li>
<li>Location: $URL$</li>
</ul>
<h1>Scope</h1>
This document is written to help non-developers translate the Campcaster
software.<br>
<h1>Introduction</h1>
Campcaster has two user interfaces: a web interface, intended mainly for
radio station administrators (Campcaster Web), and a stand-alone graphical user
interface, for disk jockeys and such (Campcaster Studio).<br>
<h1>Localization of Campcaster Web</h1>
Please do the localization at
<a href="http://edge.campware.org/~localizer"><code>
http://edge.campware.org/~localizer</code></a>.
The user name is "guest", and the password is "campware".
<p>There are 3 screens of strings which need to be translated; you can select
these from the first drop-down menu. You can translate from any language
to any language. However, some languages may not contain all the strings,
so it's safest to translate from the <code>Default</code> values. After you
are done with a screen, don't forget to press the <code>Save</code> button
at the bottom; otherwise your changes will be lost!</p>
<p>Your localization changes will be automatically reflected in the next
release. If you send an e-mail to the
<a href="http://sympa.mdlf.org/wws/info/campcaster-dev">
developers' mailing list</a>, then we can thank you and add your name to
the list of contributors.</p>
<h1>Localization of Campcaster Studio</h1>
<p>
<ol>
<li>If editing an existing language: download the latest version of the
language file ??.txt or ??_??.txt from
<a href="http://trac.campware.org/campcaster/browser/trunk/campcaster/src/products/gLiveSupport/var/">this directory</a>
(click on the file name, scroll down to the bottom, right-click on
Original Format and choose Save Target As or Save Link As, depending
on your browser);
<p>if adding a new language: download
<a href="http://trac.campware.org/campcaster/file/trunk/campcaster/src/products/gLiveSupport/var/root.txt?format=txt">the latest version of root.txt</a>;</li>
<li>edit the text between the "..."s;</li>
<li>save it as a plain text file in UTF-8 encoding.
Please do not send Word documents or files in other encodings.
Use a simple text editor like Notepad, GEdit or Kate.</li>
<li>Finally, send it to the
<a href="http://lists.campware.org/mailman/listinfo/campcaster-dev">
developers' mailing list</a>.</li>
</ol>
</p>
<p>Notes:
<ul>
<li>Try to keep the length of the translated strings short:
it should not be much longer than the original English version.
This is <b>very important</b> for button labels (look at the key for
the string; button labels end with "ButtonLabel").
<li>The symbol <code>{0}</code> means that some variable data
(song title, file name, etc) goes there. For example:
<code>"I could not find ''{0}''."</code> becomes
<code>"Ich habe ''{0}'' nicht gefunden."</code> in German.</li>
<li>The underscore characters show hotkeys: e.g., <code>"_Open"</code>
means that Alt-O is a hotkey for the Open menu item.
These need to be unique within each group, i.e., you can't have
<code>"M_ove"</code> in the same menu.</li>
</ul>
</p>
</body>
</html>