Re: Overriding automatic dependancies

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux