Annotation of rpm2html/rpmfind.html, revision 1.6
1.5 veillard 1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
2: "http://www.w3.org/TR/REC-html40/loose.dtd">
1.1 veillard 3: <html>
4: <head>
1.5 veillard 5: <title>rpmfind : the rpm2html client tool</title>
6: <meta http-equiv="Content-Type" content="text/html">
1.1 veillard 7: </head>
1.5 veillard 8:
1.1 veillard 9: <body bgcolor="#FFFFFF">
1.5 veillard 10: <h1 align="center">rpmfind : the rpm2html client tool</h1>
1.6 ! veillard 11: <ol>
! 12: <li><a href="#What">What is it ?</a></li>
! 13: <li><a href="#it:">How to use it</a>
! 14: <ol>
! 15: <li><a href="#Finding">Finding packages</a></li>
! 16: <li><a href="#Installing">Installing packages</a></li>
! 17: <li><a href="#Upgrading">Upgrading packages</a></li>
! 18: <li><a href="#Search">Search for latest</a></li>
! 19: <li><a href="#Sticking">Sticking to a given distribution</a></li>
! 20: </ol>
! 21: </li>
! 22: <li><a href="#Rpmfind">Rpmfind configuration file</a></li>
! 23: <li><a href="#Autoupgrad">Autoupgrading using rpmfind</a></li>
! 24: <li><a href="#does">How does it work</a></li>
! 25: <li><a href="#Download">Download it</a></li>
! 26: <li><a href="#Todo">Todo</a></li>
! 27: </ol>
1.5 veillard 28:
1.6 ! veillard 29: <h2><a name="What">What is it ?</a></h2>
1.5 veillard 30:
31: <p>Basically, rpmfind is a program that will find RPM files on rufus for
32: you.</p>
33:
34: <p>For example, <tt>rpmfind gimp</tt> will tell you what packages are needed
35: to install Gimp on your machine, where to find them, and how much space it
36: will take on your hard drive (so you can also estimate the download time), and
37: can fetch the required files for you.</p>
38:
39: <p>Rpmfind can also be used to query the RPM database for existing packages
40: using a keyword or a regular expression.</p>
41:
1.6 ! veillard 42: <h2><a name="it:">How to use it:</a></h2>
1.5 veillard 43:
44: <p>Rpmfind can be used in various modes, here is a description of the standard
45: ways of using it</p>
46:
1.6 ! veillard 47: <h3><a name="Finding">Finding packages:</a></h3>
1.1 veillard 48:
1.5 veillard 49: <p>This mode is used to find packages related to a given topic defined by a
50: keyword of a regex. The syntax is <code>rpmfind --apropos regex</code> and
51: will query the full set of RPM indexed on rpmfind.net for package name and
52: summary descriptions.</p>
1.1 veillard 53:
1.5 veillard 54: <p>For example I have heard about a Borland like programming environment, let'
55: learn about it:</p>
56: <pre>$ rpmfind --apropos borland
57: 1: ftp://rpmfind.net/linux/contrib/i386/rhide-1.3-1.i386.rpm
58: rhide : Rhide is a very nice IDE exactly like Borland's
59: $</pre>
1.1 veillard 60:
1.5 veillard 61: <p>In that case the query found only one package, all the package containing
62: the substring in their name or summary will be shown.</p>
63:
1.6 ! veillard 64: <h3><a name="Installing">Installing packages:</a></h3>
1.5 veillard 65:
66: <p>This is the "default" mode of rpmfind where you know the name of the
67: package you want to install and rpmfind will locate the "best" package
68: accordingly to your installed distribution, and show also all the other
69: packages needed to solve the dependancies needed.</p>
70:
71: <p>For example let's install xbill game on the machine:</p>
72: <pre>$ rpmfind xbill
1.1 veillard 73: Arch : i586, Os : Linux
74: Default distribution : Red Hat Software(Hurricane)
1.5 veillard 75: owning 249 of 338 installed packages
76: Get http://rpmfind.net//linux/RDF/resources/xbill.rdf
77: Get http://rpmfind.net//linux/RDF/redhat/5.0/i386/xbill-2.0-2.i386.rdf
1.1 veillard 78: Installing xbill will requires 183 KBytes
79:
80: ### To Transfer:
1.5 veillard 81: ftp://rpmfind.net/linux/redhat/redhat-5.0/i386/RedHat/RPMS/xbill-2.0-2.i386.rpm
82: Do you want to download these files to /tmp [Y/n/a] ? : y
83: saving to /tmp/xbill-2.0-2.i386.rpm
84: $</pre>
85:
86: <p>There is only one package needed to install the game and it has been saved
87: in /tmp. <strong>Note</strong> that rpmfind can be run by any users, it doesn'
88: requires root access. Installing the package, however require root privileges
89: (do "<code>rpm -i /tmp/xbill-2.0-2.i386.rpm</code>").</p>
90:
1.6 ! veillard 91: <h3><a name="Upgrading">Upgrading packages:</a></h3>
1.5 veillard 92:
93: <p>In the "default" mode, rpmfind doesn't try to replace existing packages,
94: so a specific "upgrade" mode exists to check for replacement of older
95: packages. It also walks down the dependency lists and also suggest upgrades
96: for them:</p>
97: <pre>$ rpmfind -q --upgrade balsa
1.1 veillard 98: [search for approx 30 seconds ... 28.8 Kbps PPP connection]
99: Installing balsa will requires 9574 KBytes
100:
101: ### To Transfer:
1.5 veillard 102: ftp://rpmfind.net/linux/freshmeat/libpng/libpng-1.0.1-1.i386.rpm
103: ftp://rpmfind.net/linux/redhat/redhat-5.0/i386/RedHat/RPMS/ImageMagick-3.9.1-1.i386.rpm
104: ftp://rpmfind.net/linux/redhat-labs/gnome/support/RPMS/giflib-3.0-2.i386.rpm
105: ftp://rpmfind.net/linux/contrib/hurricane/i386/giflib-3.0-4.i386.rpm
106: ftp://rpmfind.net/linux/redhat/redhat-5.0/i386/RedHat/RPMS/libgr-progs-2.0.13-4.i386.rpm
107: ftp://rpmfind.net/linux/redhat-labs/gnome/devel/1998052417/RPMS/imlib-1.4-1998052414.i386.rpm
108: ftp://rpmfind.net/linux/redhat-labs/gnome/devel/1998052417/RPMS/glib-1.1.0-1998052414.i386.rpm
109: ftp://rpmfind.net/linux/redhat-labs/gnome/devel/1998052417/RPMS/gtk+-1.1.0-1998052414.i386.rpm
110: ftp://rpmfind.net/linux/redhat-labs/gnome/devel/1998052417/RPMS/gnome-libs-0.13-1998052414.i386.rpm
111: ftp://rpmfind.net/linux/redhat-labs/gnome/devel/1998052417/RPMS/balsa-0.2.0-1998052416.i386.rpm
112: Do you want to download these files to /tmp [Y/n/a] ? : n
113: $</pre>
114:
115: <p>The <code>-q</code> flag is used to reduce the verbosity of rpmfind.</p>
116:
1.6 ! veillard 117: <h3><a name="Search">Search for latest:</a></h3>
1.5 veillard 118:
119: <p>The last rpmfind mode is "latest" performing the search to the most
120: up-to-date package, in that case rpmfind will not give higher priority to
121: package from the installed distribution or vendor, but will bring back the
122: most recent packages:</p>
123: <pre>$ rpmfind -$ rpmfind -q --latest knews
124: Installing knews will require 668 KBytes
125:
126: ### To Transfer:
127: ftp://rpmfind.net/linux/redhat/redhat-5.0/i386/RedHat/RPMS/libpng-0.96-1.i386.rpm
128: ftp://rpmfind.net/linux/contrib/hurricane/i386/knews-1.0b.0-1.i386.rpm
129: Do you want to download these files to /tmp [Y/n/a] ? : y
130: Download libpng-0.96-1.i386.rpm [Y/n/a] ? :y
131: transfering ftp://rpmfind.net/linux/redhat/redhat-5.0/i386/RedHat/RPMS/libpng-0.96-1.i386.rpm
132: saving to /tmp/libpng-0.96-1.i386.rpm
133: Download knews-1.0b.0-1.i386.rpm [Y/n/a] ? :y
134: transfering ftp://rpmfind.net/linux/contrib/hurricane/i386/knews-1.0b.0-1.i386.rpm
135: saving to /tmp/knews-1.0b.0-1.i386.rpm
136: $</pre>
137:
138: <p>This option is somewhat more dangerous since it may introduce significant
139: changes from the "standard distribution" you have installed and this may cause
140: problems when upgrading your base system when the new release is issued.</p>
141:
1.6 ! veillard 142: <h3><a name="Sticking">Sticking to a given distribution</a></h3>
1.5 veillard 143:
144: <p>The simplest way to instruct rpmfind to fetch packages from a given
145: distribution is to add the --dist option to the command line like in the
146: following:</p>
147:
148: <p><code>$ rpmfind --dist redhat gpg</code></p>
149:
150: <p>it is also possible to use the <strong>no_distrib</strong> flag in the
151: [packages] section:</p>
152:
153: <p><code>[packages]</code></p>
154:
155: <p><code>no_distrib=rawhide</code></p>
156:
1.6 ! veillard 157: <h2><a name="Rpmfind">Rpmfind configuration file</a></h2>
1.5 veillard 158:
159: <p>Rpmfind creates and maintains a per-user configuration file, saved in
160: $HOME/.rpmfind .</p>
161:
162: <p></p>
163:
164: <p>Here is some of the options, their meaning and default values:</p>
165: <dl>
166: <dt><strong>version</strong></dt>
167: <dd><p>this is maintained by rpmfind and is used for detection of
168: upgrades</p>
169: </dd>
170: </dl>
171: <dl>
172: <dt><strong>server</strong></dt>
173: <dd><p>which RDF server to contact, currently rufus is the main one bu new
174: mirrors are being maintained</p>
175: </dd>
176: </dl>
177: <dl>
178: <dt><strong>prefix</strong></dt>
179: <dd><p>prefix where the RPM local database is to be found, this can be
180: /usr/local if RPM is not the native packaging format of your system</p>
181: </dd>
182: </dl>
183: <dl>
184: <dt><strong>downloadDir</strong></dt>
185: <dd><p>where to save the packages loaded from the net, /tmp is the default
186: value.</p>
187: </dd>
188: </dl>
189: <dl>
190: <dt><strong>httpProxy</strong></dt>
191: <dd><p>URI to the HTTP proxy if your are using one</p>
192: </dd>
193: </dl>
194: <dl>
195: <dt><strong>ftpProxy</strong></dt>
196: <dd><p>URI to the FTP proxy if you are using one</p>
197: </dd>
198: </dl>
199: <dl>
200: <dt><strong>verbose</strong></dt>
201: <dd><p>setup the verbosity level, 1 is the default, 0 is quiet, >1 is
202: annoying :-)</p>
203: </dd>
204: </dl>
205: <dl>
206: <dt><strong>mode</strong></dt>
207: <dd><p>default mode for queries, default to "lookup", one can also select
208: "upgrade" or "latest" if you like living on the bleeding edge. This is
209: overridable via the command line</p>
210: </dd>
211: </dl>
212:
213: <p>The full list of options is listed in the config file itself, and a
214: specific comment related to it's use is provided there.</p>
215:
1.6 ! veillard 216: <h2><a name="Autoupgrad">Autoupgrading using rpmfind</a></h2>
! 217:
! 218: <p>I suggest using the latest versions (at least anything >= 1.5)</p>
! 219: <ol>
! 220: <li>select sources for your autoupgrades, these must be ftp or file URL</li>
! 221: <li>edit your .rpmfind to add one <strong>autoupgradeURL</strong> entry per
! 222: source, like:
! 223: <p><code>autoupgradeURL=ftp://rpmfind.net/linux/redhat/updates/6.2/i386</code></p>
! 224: <p><code>autoupgradeURL=ftp://myserver.org/pub/rpm-updates/i386/</code></p>
! 225: </li>
! 226: <li>run <code>rpmfind --autoupgrade</code></li>
! 227: <li>If this look satisfactory add it to your root crontab</li>
! 228: </ol>
! 229:
! 230: <p>In the later case, it's a good idea to switch the <strong>paranoid</strong>
! 231: option on in the configuration file, <strong>configure gpg</strong> on your
! 232: system, and add your distribution trusted key to the root gpg keyring (gpg
! 233: --import with the distro key one one can find at the top of a CD-Rom is a good
! 234: way to do it). </p>
! 235:
! 236: <h2><a name="does">How does it work ?</a></h2>
1.5 veillard 237:
238: <p>Rpm2html exports the information about the packages available in RDF schema
239: on rpmfind.net. Thus, a simple descriptions of all the RPM packages and
240: associated resources available are exported in small files.</p>
241:
242: <p>When rpmfind is asked for a resource it first asks the local RPM base if
243: it's available. If it's not, it will request the associated RDF file on
244: rufus. The content is parsed to find descriptions of the various packages
245: providing the resources (distribution, vendor, version, date, etc...). Based
246: on that, rpmfind sorts the various packages for suitability. Then it picks the
247: first one and fetches more complete information like the dependencies required
248: by these packages. Based on that, it then verifies that all dependencies
249: needed by this package are available, and recursively verifies that all these
250: resources are available (if needed) by fetching more packages from the
251: net.</p>
252:
253: <p>At the end, rpmfind shows the list of packages to fetch and their total
254: size on disk.</p>
255:
256: <p>If rpmfind noticed that one of the package needs a resource which is not
257: available, or an upgrade of the libc, it will discard the package and take the
258: second in the list, etc. (this is a highly recursive process).</p>
259:
1.6 ! veillard 260: <h2><a name="Download">Download it</a></h2>
! 261:
! 262: <p>The place to look for latest version is <a
! 263: href="ftp://rpmfind.net/pub/rpmfind">ftp://rpmfind.net/pub/rpmfind</a> it is
! 264: also part of <a href="http://rpmfind.net/linux/RPM/rpmfind.html">RedHat like
! 265: distributions</a>.</p>
! 266:
! 267: <h2><a name="Todo">Todo</a></h2>
1.5 veillard 268:
269: <p>A lot of things:</p>
1.1 veillard 270: <ul>
1.5 veillard 271: <li>Eventually an user interface to accept/refuse some of the packages
272: automatically selected.</li>
273: <li>Use RPM version, release and serial number for selection and
274: dependencies, but this requires extensions to the rpm2html program and the
1.6 ! veillard 275: RDF base (partly done).</li>
! 276: <li>An optional graphic interface (check <a
! 277: href="http://rpmfind.net/linux/RPM/gnorpm.html">gnorpm</a>).
1.5 veillard 278: <p></p>
279: </li>
1.1 veillard 280: </ul>
281:
1.5 veillard 282: <p>Want to try rpmfind now ? <a href="download.html">Fetch it !</a></p>
1.1 veillard 283:
1.5 veillard 284: <p></p>
1.1 veillard 285:
286: <center>
1.5 veillard 287: <p><font color="#3366FF">[ <a href="index.html">Home</a> | <a
288: href="news.html">News</a> | <a href="http://rpmfind.net/linux/RPM/">Try it
289: !</a> | <a href="docs.html">Docs</a> | <a href="help.html">Help</a> | <a
290: href="mirrors.html">Mirrors</a> | <a href="download.html">Download</a>
1.1 veillard 291: ]</font></p>
1.5 veillard 292:
293: <p><font color="#3366FF">[ </font><font color="#000000"> Rpmfind |
294: </font><font color="#3366FF"> | <a href="faq.html">FAQ</a> | <a
295: href="history.html">History</a> | <a href="license.html">License</a> | <a
296: href="messages/">Archive</a> | <a href="feedback.html">Feedback</a> | <a
297: href="links.html">Links</a> ]</font></p>
1.1 veillard 298: <address>
1.6 ! veillard 299: <a href="mailto:veillard@w3.org">Daniel Veillard</a>
1.5 veillard 300: </address>
1.1 veillard 301:
1.6 ! veillard 302: <p>$Id: rpmfind.html,v 1.5 2000/07/03 10:19:21 veillard Exp $</p>
1.1 veillard 303: </center>
304: </body>
305: </html>
Webmaster