On Thu, Feb 12, 2004 at 08:50:36PM -0500, James Olin Oden wrote: > On Wed, 11 Feb 2004, Tim Mooney wrote: > > > In regard to: Overriding automatic dependancies, Matt Pounsett said (at...: > > > > >I'm trying to build an RPM from some perl code which 'require's some different > > >perl modules depending on the system architecture (Win32 vs. *nix). > > >Unfortunately, rpmbuild's automatic dependancy checking is determining that > > >the RPM depends on the Win32 modules, which are not present on unix systems. > > >Is there a way that I can override that one dependancy, without having to turn > > >off all automatic dependancy checking? > > > > Wow, this is almost verbatim of a question that was asked on the list > > a couple weeks ago. Did you check the archives for the list to see what > > the responses were? > > > > There is no such thing as "NoRequires: perl(Some::Win32:Module)", but > > what some people apparently do is just add > > > Jeff, > > How hard would it be to do something like a NoRequires (I don't > particularly like that name but for the sake of argument it will do). > Really what something like this would do is give hints to the > autodependency stuff to ignore particular found depencencies but not turn > off autodependency stuff alltogether? I have been happy with the > hack for my non-public distro, but I understand the desire to go > beyond a hack provided it would not utterly complicate things. > Not hard. But ... The issue for me and rpm is the quality of the packaging (and of the packagers), rpm itself is just a data-driven state machine, works (mostly) as well as the data inputs. Dependencies (as currently implemented in rpm) are logical assertions that return TRUE or FALSE, not MAYBE or DWIM. The majority of the (accurate) dependencies are automagically, not manually, generated in order to insure that the closure on the assertions is, indeed, met or not. Adding a NoRequires: -- if done generally -- adds a whole new dimension to packages and, incidentally but painfully, adds new and incompatible syntax to spec files. I'm only saying GIGO, garbage in, garbage out. (aside) There's the further issue of attaching dependencies to files. Consider: Files, not packages, have dependencies. rpm-4.2 reattaches Elf dependencies to files. Not yet perl and other interpreteres, basically because I have live with a deficient but well-defined API to slowly decaying helpers that do not supply sufficient information (yet) to attempt attaching dependencies like, say, "perl(Some::Win32:Module)" to the script(s) that actually have the dependency. My specific point is that the suggested NoRequires: syntax is already legacy because there is no way to state that a per-file, not a per-package, dependency, needs to be skipped. (aside-to-the-aside) Sure I can make up syntax like %norequire(Some::Win32:Module) /path/to/your/script.pl faster than any of you. See my concern about incompatible syntax in spec files please. IMHO, further hardening of logical assertions through automagic generation is needed, not yet more loosey-goosey complicated syntax and plumbing to helper scripts, written in whatever scripting language some packager happens to be comfortable with, that supposedly makes life easier for packagers. IOW (imho) rpmbuild is not the interesting or useful part of rpm, rpmlib is. Just my 0.02, perfectly willing to do whatever, but I do need consensus. 73 de Jeff -- Jeff Johnson ARS N3NPQ jbj@xxxxxxxxxx (jbj@xxxxxxx) Chapel Hill, NC _______________________________________________ Rpm-list mailing list Rpm-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/rpm-list