Gene Heskett wrote: > Apparently not Rahul, according to its manpage its married to the > requirement that the src package is also an rpm, which in the two > cases at hand, don't exist, one of them as only an svn checkout I > haven't even ./configured yet. I'm trying to build a fully > compatible rpm, using checkinstall, from the already built and > installed tarball. I've built it as an rpm and installed it, but > the dependency list is pretty close to a null entry in the one I've > built. So if you do rpm -qp --requires "your_package.rpm" is the list empty? Or is it just a lack of explicit Requires in the spec file? > That doesn't matter here as the ./configure step took care of those > as it built the Makefile and such, but it will matter greatly on > someone elses machine that doesn't have all the deps installed > already. It should mostly only matter to someone trying to rebuild that SRPM. rpm generally does a pretty decent job of finding Requires for binary rpms. It's the BuildRequires (stuff need just to build the package) that usally needs some manual feeding. Someone rebuilding the SRPM would still be running configure and they could then find the missing stuff and add it. Putting it in the SRPM is simply a more helpful way to prevent someone from chasing down deps. > There has to be, someplace, a utility than can scan the files in a > tarballs unpacked and configured tree, or in an svn checkout tree > after its been ./configured, and build a list of the dependencies > this package has. If there is not, I can't believe its not on > somebodies list of usefull tools. There may well be such a tool and it would indeed be handy. But it would also be fairly difficult to do right. Some dependencies are optional and the package will work fine without them if it's built without them. For rpm packages though, it's important that someone rebuilding the rpm gets the same capabilities in the rebuilt package, so the BuildRequires are listed explicitly. One way I find what should be required is to check out the configure.ac (or configure.in). This is the source file that configure is generated from. It isn't perfectly readable without some practice, but it's infinitely more readable than configure is. :) It's also quite helpful to run configure and then check the output and the config.log and config.status. It is mostly a manual task to figure out what rpms provide certain capabilities. For example, the configure.ac file for libgpod use pkg-config to find the devel files and settings needed to compile. It has stuff like this: PKG_CHECK_MODULES(LIBGPOD, glib-2.0>= 2.4.0 gobject-2.0) This use the pkg-config program to find the headers and compile flags for glib and gobject, ensuring that the version of glib found is greater than 2.4.0. It does this by reading the glib-2.0.pc in /usr/lib/pkgconfig. To find the rpm that provides this file I run "rpm -qf /usr/lib/pkgconfig/glib-2.0.pc" (you could likely do this with yum as well, but rpm is faster). > build-dep from the rpm-utils package, has been suggested as one > possibility, which is why I ask why this package isn't available in > a fedora compatible rpm. Do you have any references to the rpm-utils you're talking about? There was an rpm-utils by Kirk Bauer (sp?) a long time ago, but it doesn't contain any buildreq script. There's also an ALTlinux package named rpm-utils which does have a buildreq script. I'm not sure if this is something ALTlinux specific or not. The specfile doesn't list a URL for the upstream source. -- Todd OpenPGP -> KeyID: 0xBEAF0CE3 | URL: www.pobox.com/~tmz/pgp ====================================================================== Damn you, broccoli! -- Stewie Griffin
Attachment:
pgpazMZrDUlwk.pgp
Description: PGP signature