Moved some documentation to the wiki and removed the files in the doc directory. Still more to be done.
|
@ -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> >=
|
|
||||||
2.13</li>
|
|
||||||
<li><a href="http://gcc.gnu.org/">gcc</a> >= 3.3</li>
|
|
||||||
<li><a href="http://www.gnu.org/software/make/make.html">make</a>
|
|
||||||
>= 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>
|
|
||||||
>= 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>
|
|
||||||
>= 0.15</li>
|
|
||||||
<li><a href="http://www.fsf.org/software/patch/patch.html">patch</a>
|
|
||||||
>= 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> >= 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> >= 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> >= 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> >= 7.12.3</li>
|
|
||||||
<li><a href="http://www.gtk.org/">gtk+</a> >= 2.6.10</li>
|
|
||||||
<li><a href="http://www.gtkmm.org/">gtkmm</a> >= 2.6.5</li>
|
|
||||||
<li><a href="http://www.gtkmm.org/">libglademm</a> >= 2.6.2</li>
|
|
||||||
<li><a href="http://www.ibm.com/software/globalization/icu/">icu</a>
|
|
||||||
>= 3.0</li>
|
|
||||||
<li><a href="http://libxmlplusplus.sourceforge.net/">libxml++</a>
|
|
||||||
>= 2.8.1</li>
|
|
||||||
<li><a href="http://www.feep.net/libtar/">libtar</a> >= 1.2.11</li>
|
|
||||||
<li><a href="http://www.gstreamer.net/">gstreamer</a> >= 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> >= 0.5.2</li>
|
|
||||||
<li><a href="http://sourceforge.net/projects/cppunit">cppunit</a> >= 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>
|
|
|
@ -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 (≥ 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 all all 127.0.0.1 255.255.255.255 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><Directory /home/*/public_html></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=<ls_developer_user>
|
|
||||||
</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-<ls_developer_user></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=<apache_group>
|
|
||||||
</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/~<ls_developer_user>/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>
|
|
|
@ -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>
|
|
167
doc/install.html
|
@ -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-<version>.tar.bz2</code> and
|
|
||||||
<code>campcaster-libraries-<version>.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-<version>.tar.bz2
|
|
||||||
tar xfj campcaster-libraries-<version>.tar.bz2
|
|
||||||
cd campcaster-<version>
|
|
||||||
./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><installation directory>/bin/scheduler.sh<code>.
|
|
||||||
To start the scheduler, simply type:
|
|
||||||
<pre><installation directory>/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><installation directory>/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 <installation directory>/etc/campcaster-scheduler
|
|
||||||
init script. In Debian-based systems, this is done by
|
|
||||||
typing
|
|
||||||
<pre>cp <installation directory>/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><installation directory>/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>
|
|
|
@ -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-<version>.tar.bz2</code> and
|
|
||||||
<code>campcaster-libraries-<version>.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-<version>.tar.bz2
|
|
||||||
tar xfj campcaster-libraries-<version>.tar.bz2
|
|
||||||
cd campcaster-<version>
|
|
||||||
./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=<some directory>
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
<p>Have fun!
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -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>
|
|
101
doc/ls_pref.html
|
@ -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 „StationPrefs“</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>
|
|
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 64 KiB |
265
doc/release.html
|
@ -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 (<version>-1) unstable; urgency=low<br><br> * Changes listed here<br><br> -- <code>Package Maintainer <maintainer@foo.bar></code> <timestamp><br><br></pre>
|
|
||||||
You can change the "-1" part (to "-2" or "-0distro1" etc). Note that the
|
|
||||||
<code><version></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><timestamp></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 <version><br></code></pre>
|
|
||||||
<br>
|
|
||||||
This will create two tarballs in the parent of the current directory:<br>
|
|
||||||
<ul>
|
|
||||||
<li><code>campcaster-<version>.tar.bz2</code></li>
|
|
||||||
<li><code>campcaster-libraries-<version>.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-<version>.tar.bz2
|
|
||||||
tar xfj campcaster-libraries-<version>.tar.bz2
|
|
||||||
cd campcaster-<version>
|
|
||||||
./bin/createDebianPackages.sh -d .. -v <version> -o .. -m "Joe Maintainer <joe@foo.bar>"
|
|
||||||
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_<version>-1.dsc
|
|
||||||
campcaster_<version>-1.diff.gz
|
|
||||||
campcaster_<version>.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-<version>/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_<version>-1.dsc
|
|
||||||
cd campcaster-<version>
|
|
||||||
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_<version>-1_<arch>.deb
|
|
||||||
campcaster-station_<version>-1_<arch>.deb
|
|
||||||
campcaster-studio_<version>-1_<arch>.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/<arch></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/<arch> | gzip -9c > dists/hardy/main/binary-<arch>/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-<version>
|
|
||||||
</code></pre>
|
|
||||||
<br>
|
|
||||||
This will tag the current state of the repository with the tag <code>campcaster-<version></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 <version></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>
|
|
|
@ -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>
|
|
|
@ -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><language-code>[[_<country-code>]_<variant>]</code>,
|
|
||||||
where
|
|
||||||
<ul>
|
|
||||||
<li><code><language-code></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><country-code></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><variant></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>
|
|
|
@ -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>
|
|