OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Thomas Lotterer
Root: /e/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-web Date: 01-Aug-2003 22:08:18
Branch: HEAD Handle: 2003080121081800
Modified files:
openpkg-web tutorial.wml
Log:
refresh tutorial for OpenPKG v1.3
Summary:
Revision Changes Path
1.19 +83 -50 openpkg-web/tutorial.wml
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-web/tutorial.wml
============================================================================
$ cvs diff -u -r1.18 -r1.19 tutorial.wml
--- openpkg-web/tutorial.wml 22 Jan 2003 13:12:54 -0000 1.18
+++ openpkg-web/tutorial.wml 1 Aug 2003 20:08:18 -0000 1.19
@@ -1,87 +1,118 @@
#use "page.inc" page=tutorial
-<define-tag release>1.1</define-tag>
+<define-tag release>1.3</define-tag>
<define-tag bashver>2.05b</define-tag>
<title>User Tutorial</title>
<h1>User Tutorial</h1>
-This tutorial guides you on your way into the world of OpenPKG showing you how
-to bootstrap OpenPKG and install GNU Bash as an example. For more details about
-the commands used, see the
-<a href="doc/quickref/openpkg.txt">OpenPKG Quick Reference</a> or refer to the
+This tutorial guides you on your way into the world of OpenPKG. It shows you how
+to bootstrap OpenPKG and use it to install a common and useful example application,
GNU bash. For details about
+the commands being used in this document, see the
+<a href="doc/quickref/openpkg.txt">OpenPKG Quick Reference</a>, refer to the
<a href="doc/handbook/openpkg.html">OpenPKG Handbook</a> to dive deeper, or take
off and have a look at the <a href="doc/slideset/openpkg.html/">OpenPKG
Introduction Slideset</a> for a bird's eye view.
<h2>Prerequisites</h2>
+OpenPKG by design makes minimal assumptions about the underlying
+operating system, but some basic things need to be checked.
-Ensure that your system is one of the fully supported platforms:
-
+<h3>Platform</h3>
+The less you know about OpenPKG the more important is that you are using
+a supported primary or at least secondary [*] platform which is any
+of:
<p>
<box bdwidth=1 bdcolor="#a5a095" bdspace=10 bgcolor="#e5e0d5">
<table>
<tr><td><i>arch-os</i> </td><td><u><i>platform</i></u> </td><td><b>uname
-m -r -s</b> </td></tr>
-<tr><td>ix86-freebsd4.7 </td><td>FreeBSD 4.7 </td><td>FreeBSD 4.7-STABLE
i386 </td></tr>
-<tr><td>ix86-freebsd5.0 </td><td>FreeBSD 5.0 </td><td>FreeBSD 5.0-RELEASE
i386 </td></tr>
+<tr><td>ix86-freebsd4.8 </td><td>FreeBSD 4.8 </td><td>FreeBSD 4.8-STABLE
i386 </td></tr>
+<tr><td>ix86-freebsd5.1 </td><td>FreeBSD 5.1 </td><td>FreeBSD 5.1-CURRENT
i386 </td></tr>
+<tr><td>ix86-linux2.2 </td><td>Debian GNU/Linux 2.2 </td><td>Linux 2.2.22
i686 </td></tr>
+<tr><td>ix86-linux2.4 </td><td>Debian GNU/Linux 3.0 </td><td>Linux 2.4.21
i686 </td></tr>
+<tr><td>ix86-linux2.4 </td><td>RedHat Linux 9 </td><td>Linux 2.4.20-18.9
i686 </td></tr>
+<tr><td>ix86-linux2.4 </td><td>SuSE Linux 8.2 </td><td>Linux 2.4.20-4GB
i686 </td></tr>
<tr><td>sparc64-solaris2.8 </td><td>Sun Solaris 8 </td><td>SunOS 5.8
sun4u </td></tr>
<tr><td>sparc64-solaris2.9 </td><td>Sun Solaris 9 </td><td>SunOS 5.9
sun4u </td></tr>
-<tr><td>ix86-linux2.2 </td><td>Debian GNU/Linux 2.2 </td><td>Linux 2.2.22
i686 </td></tr>
-<tr><td>ix86-linux2.4 </td><td>Debian GNU/Linux 3.0 </td><td>Linux 2.4.19
i686 </td></tr>
+<tr><td>ix86-solaris9 </td><td>Sun Solaris 9/x86 </td><td>SunOS 5.9
i86pc </td></tr>
+<tr><td>alpha-freebsd5.1 </td><td>FreeBSD 5.1 [*] </td><td>FreeBSD
5.1-CURRENT alpha </td></tr>
+<tr><td>sparc64-solaris2.6 </td><td>Sun Solaris
2.6 [*] </td><td>SunOS 5.6 sun4u </td></tr>
</table>
-</p>
</box>
-
<p>
If your platform is not part of this list, don't panic. OpenPKG runs well on
many other Unix platforms. There is a high probability that your particular
platform will work, especially if it is a recent version of a major Unix
-platform such as BSD, Linux, Solaris, Tru64, or HP-UX. For more details of
+platform such as NetBSD, OpenBSD, Gentoo Linux, HP Tru64, SCO UnixWare or QNX. For
more details of
see <a
href="http://www.openpkg.org/doc/handbook/openpkg.html#support-official">OpenPKG
handbook</a>
-<p>
-Additionally make sure you have root access to your system. Although not
-always necessary, we do need this in the later stages of our example
-installation. Also make sure you have approximately 300MB free disk
-space on the / filesystem. You can move and symlink to some better places
-afterwards.
+<h3>Permission</h3>
+Additionally make sure you have root access to your system. Although it is not
+necessary to work out the whole stuff as root, we do need this in the later stages
of our example
+installation. Keep in mind that OpenPKG can be used in a limited way without having
root access but
+this is not discussed here.
+
+<h3>Storage</h3>
+Also make sure you have approximately 250MB free disk space on the
+filesystem were OpenPKG should be loaded. The installation procedure
+creates a directory for the OpenPKG instance but it also accepts a
+pre-existing directory or a symlink to a pre-existing directory and will
+use it. The downloadable binary packages use the prefix <tt>/cw</tt> and
+so does this tutorial. However, using source packages it is possible to
+use an arbitrary prefix and in fact the OpenPKG architecture allowes any
+number of parallel and simultaneous instances on a single system - until
+a critical resource is exhausted.
-<h2>Source or Binary?</h2>
+<pre>
+$ <b>mkdir </b> <i>/storage/with/250MB/free</i>
+$ <b>ln -s </b> <i>/storage/with/250MB/free</i> <b>/cw</b>
+</pre>
+<h3>Workspace</h3>
+Build processes sometimes take large amounts of temporary disk space.
+For our example you should have approximately 250MB of temporary
+disk space available somewhere. OpenPKG reads the environment variable
+<tt>TMPDIR</tt> to locate an hopefully large workspace.
+
+<pre>
+$ <b>TMPDIR=</b> <i>/tmp/with/250MB/free</i>
+$ <b>export TMPDIR</b>
+</pre>
+
+<h2>Source or Binary</h2>
While we strongly recommend you to use source packages whenever possible, the
-absence of development tools is the number one reason to be forced to use
-binaries. Let's make a quick'n'dirty but mostly useful check:
+absence of development tools is the number one reason which enforces the
+use of binaries for deployment. Let's make a quick'n'dirty but mostly useful check:
<pre>
-$ <b>which gcc cc || echo "you don't have a compiler, so must use binaries"</b>
+$ <b>which gcc cc || echo "bad luck, no development tools"</b>
</pre>
-The following matrix tells you about all combinations of bootstrapping or
+The matrix below tells you about all four combinations of bootstrapping or
regular installing/upgrading a package from source or binary. For the
tutorial, please select the bootstrap method you prefer or require. Then come
back and <a name="matrix"></a>continue below.
-<p>
-Those who have installed unreleased packages from CURRENT or SNAPSHOTs should
+<h2>Release Engineering</h2>
+Those who have installed unreleased packages from CURRENT, STABLE or SNAPSHOTs
should
be aware of the principles behind OpenPKG <a href="releng.html">release
engineering</a>. Note that the version numbers of these packages are formatted
as timestamps rather than what is expected from a released package. Decoding
such version numbers yields very large integers. Any RELEASE package will
clearly have a lower number even if it is a more mature version of the same
package!
-
<p>
For this reason, switching from a unpublished package to a official released
-one is considered a 'downgrade' by RPM. This works by design according to the
+package is considered a 'downgrade' by RPM. This works by design according to the
OpenPKG standards of <a href="releng.html">release engineering</a>. To easily
-upgrade or downgrade such uncooperative packages in general, RPM makes
-available the options <tt>--oldpackage</tt> and <tt>--nodeps</tt>. It is
-neccessary to use only one of these RPM command line options, or sometimes both.
+upgrade or downgrade such uncooperative packages in general, RPM offers
+the options <tt>--oldpackage</tt> and <tt>--nodeps</tt> to be added to
+<tt>--rebuild</tt> and <tt>-Uvh</tt> instructions.
-<p>
+<h2>Matrix</h2>
<img src="grid.png" usemap="#grid" border="0">
<map name="grid">
<area href="#bootstrap-source" shape="rect" coords="60,60,230,230" alt="bootstrap
from source">
@@ -90,8 +121,7 @@
<area href="#regular-binary" shape="rect" coords="230,230,400,400" alt="regular
from binary">
</map>
-<h2>Example Installation</h2>
-
+<h2>Example Installation</h2>
Select one of the four installation examples in the matrix above to begin the
tutorial and make a regular installation of
<tt>bash-<bashver>-<release>.0.src.rpm</tt>.
@@ -99,8 +129,7 @@
$ <b>/cw/bin/bash</b>
</pre>
-<h2>Environment</h2>
-
+<h2>Fine tuning</h2>
Do you want your shell to use the new OpenPKG environment so that you have the
/cw/bin in your PATH, can read the man pages using the correct MANPATH etc.?
There's a single command that does all of this for you. Place it in your
@@ -119,8 +148,7 @@
</pre>
<h2>Want more packages?</h2>
-
-see the <a href="pkg.cgi">Package Repository</a>.
+Browse the <a href="ftp://ftp.openpkg.org/release/<release>/">download</a> area.
<hr>
@@ -138,7 +166,7 @@
any other package. Go back to the <a href="#matrix">matrix</a> to see the
upgrade options again.
<pre>
-$ <b>cd /tmp</b>
+$ <b>cd $TMPDIR</b>
$ <b>ftp ftp.openpkg.org</b>
Connected to ftp.openpkg.org.
220 ftp.openpkg.org OpenPKG Anonymous FTP Server ready.
@@ -155,7 +183,7 @@
221 Goodbye.
$ <b>sh openpkg-<release>.0-<release>.0.src.sh --prefix=/cw --user=cw --group=cw</b>
$ <b>su</b>
-\# <b>cd /tmp</b>
+\# <b>cd $TMPDIR</b>
\# <b>sh openpkg-<release>.0-<release>.0.<i>arch</i>-<i>os</i>-cw.sh</b>
\# <b>exit</b>
$
@@ -176,7 +204,7 @@
any other package. Go back to the <a href="#matrix">matrix</a> to see the
upgrade options again.
<pre>
-$ <b>cd /tmp</b>
+$ <b>cd $TMPDIR</b>
$ <b>ftp ftp.openpkg.org</b>
Connected to ftp.openpkg.org.
220 ftp.openpkg.org OpenPKG Anonymous FTP Server ready.
@@ -192,7 +220,7 @@
ftp> <b>bye</b>
221 Goodbye.
$ <b>su</b>
-\# <b>cd /tmp</b>
+\# <b>cd $TMPDIR</b>
\# <b>sh openpkg-<release>.0-<release>.0.<i>arch</i>-<i>os</i>-cw.sh</b></b>
\# <b>exit</b>
$
@@ -215,11 +243,13 @@
</pre>
<h3>Example PKG paths</h3>
<pre>
-<b> /cw/RPM/PKG/bash-<bashver>-<release>.0.ix86-freebsd4.6-cw.rpm</b>
+<b> /cw/RPM/PKG/bash-<bashver>-<release>.0.ix86-freebsd4.8-cw.rpm</b>
+<b> /cw/RPM/PKG/bash-<bashver>-<release>.0.ix86-freebsd5.1-cw.rpm</b>
<b> /cw/RPM/PKG/bash-<bashver>-<release>.0.ix86-linux2.2-cw.rpm</b>
<b> /cw/RPM/PKG/bash-<bashver>-<release>.0.ix86-linux2.4-cw.rpm</b>
<b> /cw/RPM/PKG/bash-<bashver>-<release>.0.sparc64-solaris2.8-cw.rpm</b>
<b> /cw/RPM/PKG/bash-<bashver>-<release>.0.sparc64-solaris2.9-cw.rpm</b>
+<b> /cw/RPM/PKG/bash-<bashver>-<release>.0.ix86-solaris2.9-cw.rpm</b>
</pre>
Back to the <a href="#matrix">matrix</a>.
@@ -233,12 +263,15 @@
</pre>
<h3>Example URLs</h3>
<pre>
-<b> ftp://ftp.openpkg.org/release/<release>/BIN/freebsd-4.6/bash-<bashver>-<release>.0.ix86-freebsd4.6-cw.rpm</b>
-<b> ftp://ftp.openpkg.org/release/<release>/BIN/debian-2.2/bash-<bashver>-<release>.0.ix86-linux2.2-cw.rpm</b>
-<b> ftp://ftp.openpkg.org/release/<release>/BIN/debian-3.0/bash-<bashver>-<release>.0.ix86-linux2.4-cw.rpm</b>
-<b> ftp://ftp.openpkg.org/release/<release>/BIN/redhat-7.2/bash-<bashver>-<release>.0.ix86-linux2.4-cw.rpm</b>
-<b> ftp://ftp.openpkg.org/release/<release>/BIN/solaris-8/bash-<bashver>-<release>.0.sparc64-solaris2.8-cw.rpm</b>
-<b> ftp://ftp.openpkg.org/release/<release>/BIN/solaris-9/bash-<bashver>-<release>.0.sparc64-solaris2.9-cw.rpm</b>
+<b> ftp://ftp.openpkg.org/release/<release>/BIN/ix86-freebsd4.8/bash-<bashver>-<release>.0.ix86-freebsd4.8-cw.rpm</b>
+<b> ftp://ftp.openpkg.org/release/<release>/BIN/ix86-freebsd5.1/bash-<bashver>-<release>.0.ix86-freebsd5.1-cw.rpm</b>
+<b> ftp://ftp.openpkg.org/release/<release>/BIN/ix86-debian2.2/bash-<bashver>-<release>.0.ix86-linux2.2-cw.rpm</b>
+<b> ftp://ftp.openpkg.org/release/<release>/BIN/ix86-debian3.0/bash-<bashver>-<release>.0.ix86-linux2.4-cw.rpm</b>
+<b> ftp://ftp.openpkg.org/release/<release>/BIN/ix86-redhat9/bash-<bashver>-<release>.0.ix86-linux2.4-cw.rpm</b>
+<b> ftp://ftp.openpkg.org/release/<release>/BIN/ix86-suse8.2/bash-<bashver>-<release>.0.ix86-linux2.4-cw.rpm</b>
+<b> ftp://ftp.openpkg.org/release/<release>/BIN/sparc64-solaris8/bash-<bashver>-<release>.0.sparc64-solaris2.8-cw.rpm</b>
+<b> ftp://ftp.openpkg.org/release/<release>/BIN/sparc64-solaris9/bash-<bashver>-<release>.0.sparc64-solaris2.9-cw.rpm</b>
+<b> ftp://ftp.openpkg.org/release/<release>/BIN/ix86-solaris9/bash-<bashver>-<release>.0.ix86-solaris2.9-cw.rpm</b>
</pre>
Back to the <a href="#matrix">matrix</a>.
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]