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]