OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /e/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-doc Date: 19-Jan-2003 12:15:17
Branch: HEAD Handle: 2003011911151600
Modified files:
openpkg-doc/articles/sysadmin
article.txt article.txt2html.pl
Log:
update article to reflect OpenPKG 1.2
Summary:
Revision Changes Path
1.132 +46 -25 openpkg-doc/articles/sysadmin/article.txt
1.13 +1 -1 openpkg-doc/articles/sysadmin/article.txt2html.pl
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-doc/articles/sysadmin/article.txt
============================================================================
$ cvs diff -u -r1.131 -r1.132 article.txt
--- openpkg-doc/articles/sysadmin/article.txt 23 Sep 2002 11:06:54 -0000 1.131
+++ openpkg-doc/articles/sysadmin/article.txt 19 Jan 2003 11:15:16 -0000 1.132
@@ -402,6 +402,28 @@
-O}> expands to C<-j4 -B> while on a 4 CPU Linux machine with GNU make,
C<%{l_mflags -O}> expands to C<--no-print-directory -j8>.
+Many packages also deploy a tricky OpenPKG-specific package build
+option feature based on RPM's C<%define> macro and C<Provides>
+header: A package specification C<foo.spec> can contain zero or more
+"C<%option> I<opt-name> I<opt-default-value>" lines which expand to both
+a "C<%ifndef> I<opt-name> C<%define> I<opt-name> I<opt-default-value>
+C<%endif>" construct and a "C<Provides: foo::>I<opt-name> =
+I<opt-value>" header definition. First, this allows the package itself
+to conditionally build with variations through the use of following
+'C<%if "%{>I<opt-name>C<}" == ">I<opt-value>C<"> ... C<%endif>'
+constructs inside the C<foo.spec> file. The compared effective option
+value is either I<opt-default-value> or the I<opt-override-value> from
+a "C<--define '>I<opt-name> I<opt-override-value>C<'>" command line
+option. Second, the resulting source RPM can be queried with "C<rpm -qp
+--provides>" or "C<rpm -qpi>" in order to lookup the provided options
+and their default values. The same can be done for the binary RPM to
+lookup the options and their effective values which were used to built
+the package. Third, another package depending on C<foo> usually just
+uses "[C<Build>]C<PreReq:> ... C<foo>". In OpenPKG it also can depend on
+a particular build variation of C<foo> by using "[C<Build>]C<PreReq:> ...
+C<foo>, C<foo::>I<opt-name>C< = >I<opt-value>". The consequent of this
+functionality provides both a clean, precise and flexible packaging.
+
Additionally, all OpenPKG packages follow I<exactly> the same style
as the RSYNC example (see Listing_1, Listing_2, and Listing_3). The
header order, indentation, etc. is standardized, and allows developers
@@ -547,7 +569,7 @@
OpenPKG is in production use since April 2001 at Cable & Wireless
Germany, a large ISP. Since its public release in January 2002,
-OpenPKG users have profited from an increase of 220 to over 400 software
+OpenPKG users have profited from an increase of 220 to over 450 software
packages. The project is continuously improved by a diverse team of
developers who also daily update and add packages.
@@ -561,12 +583,11 @@
To make OpenPKG even more attractive, work is underway on a front end
which will simplify and control the installation process according to
build and install dependencies. OpenPKG is also fulfilling plans to
-satisfy the desktop user by offering X11-dependent packages for Gtk,
-Qt, Gimp, Mozilla, and many others. For faster execution and even more
-flexibility, a further enhanced run-command processor is also under
-development. Shared library support is under investigation, too. Lastly,
-we are looking forward to upgrading OpenPKG to use the forthcoming RPM
-4.1 version.
+satisfy the desktop user by offering more X11-dependent packages like
+KDE. For faster execution and even more flexibility, a further enhanced
+run-command processor is also under development. Shared library support
+is under investigation, too. Lastly, we are looking forward to upgrading
+OpenPKG to use the forthcoming RPM 4.1 version.
References
----------
@@ -623,17 +644,17 @@
Figure_1: The OpenPKG subsystem principle
------------------------------------------------------------------------------
-article.principle.eps
+article.principle.fig
------------------------------------------------------------------------------
Figure_2: The OpenPKG file system layout
------------------------------------------------------------------------------
-article.layout.eps
+article.layout.fig
------------------------------------------------------------------------------
Figure_3: File system layout of non-OpenPKG software installed
------------------------------------------------------------------------------
-article.layout-local.eps
+article.layout-local.fig
------------------------------------------------------------------------------
Listing_1: OpenPKG packaging for rsync (rsync.spec: RPM specification)
@@ -648,7 +669,7 @@
Group: Filesystem
License: GPL
Version: 2.5.5
-Release: 1.1.0
+Release: 1.2.0
# list of sources
Source0: http://rsync.samba.org/ftp/rsync/rsync-%{version}.tar.gz
@@ -658,8 +679,8 @@
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
-BuildPreReq: OpenPKG, openpkg >= 1.1.0
-PreReq: OpenPKG, openpkg >= 1.1.0
+BuildPreReq: OpenPKG, openpkg >= 1.2.0
+PreReq: OpenPKG, openpkg >= 1.2.0
AutoReq: no
AutoReqProv: no
@@ -842,16 +863,16 @@
ftp> bin
200 Type set to I.
ftp> cd release/1.1/SRC
-ftp> get openpkg-1.1.0-1.1.0.src.sh
+ftp> get openpkg-1.2.0-1.2.0.src.sh
ftp> bye
221 Goodbye.
-user$ sh openpkg-1.1.0-1.1.0.src.sh \
+user$ sh openpkg-1.2.0-1.2.0.src.sh \
--prefix=/usr/opkg --user=opkg --group=opkg
user$ su -
-root# sh openpkg-1.1.0-1.1.0.*-uo.sh
+root# sh openpkg-1.2.0-1.2.0.*-uo.sh
root# su - opkg
opkg$ /usr/opkg/bin/rpm --rebuild \
- ftp://ftp.openpkg.org/release/1.1/SRC/rsync-2.5.5-1.1.0.src.rpm
+ ftp://ftp.openpkg.org/release/1.2/SRC/rsync-2.5.5-1.2.0.src.rpm
opkg$ exit
root# /usr/opkg/bin/rpm -Uvh /usr/opkg/RPM/PKG/rsync-*.rpm
root# su - opkg
@@ -863,7 +884,7 @@
root# /usr/opkg/etc/rc rsync stop
root# /usr/opkg/bin/rpm -e rsync openpkg
root# exit
-user$ rm -f openpkg-1.1.0-1.1.0.*
+user$ rm -f openpkg-1.2.0-1.2.0.*
------------------------------------------------------------------------------
Listing_5: Installation of non-OpenPKG software
@@ -887,14 +908,14 @@
Unix Platform Support
============================= =======
FreeBSD 4.x full
-FreeBSD 5.0 partial
+FreeBSD 5.0 full
Debian GNU/Linux 2.2 full
Debian GNU/Linux 3.0 full
-RedHat Linux 7.x full
-RedHat Linux 6.x partial
Sun Solaris 9 full
Sun Solaris 8 full
Sun Solaris 2.6/7 partial
+RedHat Linux 8.x partial
+RedHat Linux 7.x partial
NetBSD 1.6 partial
OpenBSD 2.9 partial
HP/UX 10.20 partial
@@ -959,9 +980,9 @@
<prefix> e.g. /usr/opkg
<pkg-name> e.g. rsync
<pkg-spec> e.g. rsync.spec
- <pkg-rpm> e.g. rsync-2.5.5-1.1.0.*.rpm
- <pkg-src> e.g. rsync-2.5.5-1.1.0.src.rpm
- <pkg-bin> e.g. rsync-2.5.5-1.1.0.ix86-freebsd4.6-uo.rpm
+ <pkg-rpm> e.g. rsync-2.5.5-1.2.0.*.rpm
+ <pkg-src> e.g. rsync-2.5.5-1.2.0.src.rpm
+ <pkg-bin> e.g. rsync-2.5.5-1.2.0.ix86-freebsd4.7-uo.rpm
------------------------------------------------------------------------------
Table_4: OpenPKG summary
@@ -992,6 +1013,6 @@
- Powerful package queries
- Flexible run-command facility
- Mature technology in production use since April 2001
-- Variety of over 400 packages available
+- Variety of over 450 packages available
------------------------------------------------------------------------------
@@ .
patch -p0 <<'@@ .'
Index: openpkg-doc/articles/sysadmin/article.txt2html.pl
============================================================================
$ cvs diff -u -r1.12 -r1.13 article.txt2html.pl
--- openpkg-doc/articles/sysadmin/article.txt2html.pl 5 Apr 2002 22:06:08 -0000
1.12
+++ openpkg-doc/articles/sysadmin/article.txt2html.pl 19 Jan 2003 11:15:16 -0000
1.13
@@ -64,7 +64,7 @@
}
# join together again and surround with HTML environment
-my ($html1a, $html1b) = ($html1 =~ m|^(.+?)(Most sections.+)$|s);
+my ($html1a, $html1b) = ($html1 =~ m|^(.+?)(Regarding configuration.+)$|s);
$html = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n" .
"<html>\n" .
"<head>\n" .
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]