On Wed, 21 Mar 2007 13:05:28 -0400 Neil Joseph Schelly <[EMAIL PROTECTED]> wrote:
> On Wednesday 21 March 2007 12:06 pm, Steven W. Orr wrote: > > I need to see the list of files in an uninstalled package. The rpm equiv > > would be > > > > rpm -qpl foo.rpm > > > > Anyone know how to do this? Is there anything? > > > > TIA > > Install apt-file, which will build a searchable index of all files in the APT > repositories. apt-file update will update the cache. apt-file search > filename will tell you all packages that have that filename. Interesting, as was Paul's post on the (very) many apt-related tools that are available. Both of them serve to reinforce my appreciation, as a devotee of an RPM-based distro, for the superb adjuncts to rpm that Mandr{ake,iva} has developed, collectively known as "the urpm* apps". They all utilize a local cache of the metadata from all of the available packages in one's configured repositories, similar to the one described above. One major difference, though, is that they are also all installed by default on every MDK/V system, and together they comprise the backend for the distro's GUI package management tool, rpmdrake.[1] To do what is asked for here on a MDK/V system, and without ever having to actually fetch the RPM in question, is as easy as: urpmq -l foo To see which as-yet-uninstalled packages, if any, foo depends upon: urpmq -d -m foo To then fetch and install it, along with any needed dependencies: sudo urpmi foo To see the info on any available package, a la "rpm -qi": urpmq -i foo To list all available RPMs whose basenames contain the string "foo": urpmq -y foo To update the local cache, and then fetch and install all the available updates (if there are any, and only after asking for confirmation prior to commencing said install): sudo urpmi.update -a && sudo urpmi --auto-select Did your compile just soil the sheets on you because it couldn't find "libfoo.h", whatever on earth that might be? Piece o' cake: urpmf libfoo.h This will return the basenames of any and all available RPMs which have the string "libfoo.h" as any part of the name and/or path of an included file or symlink, along with the file/path that matched. Very handy, IME. To add a repository: sudo urpmi.addmedia mynameforit {http://,ftp://,rsync://}path/to/repodir with ../relative/path/to/metadatafile.cz To create a metadata file (named "hdlist.cz", and placed into the $PWD), and in doing so turn a shared directory of RPMs into a urpmi-compatible repository: genhdlist ../relative/path/to/repodir Since all of the urpm* tools are GPL and are written in Perl, I would think that someone with Perl proclivities - *cough* not that there's anything wrong with that, of course *cough* ;-) - would find it a less than insurmountable task to adapt them for use with their own RPM-based distro of choice ... http://wiki.mandriva.com/en/Tools/urpmi is a great place to start, should anyone want to learn more about the urpmi system. [1] One exception is urpmc, which is in contrib. A nifty little number, it does a urpmi.update to freshen the cache, determines what a urpmi --auto-select done at that point would want to install, then outputs the changelogs of those RPM packages. In a cron job, a real admin's friend. -- Bill Mullen [EMAIL PROTECTED] MA, USA RLU #270075 MDV2007.0/MDK9.0 "We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the Internet, we know this is not true." -- Robert Wilensky _______________________________________________ gnhlug-discuss mailing list gnhlug-discuss@mail.gnhlug.org http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss/