note about packaging init scripts

Jeff Johnson jbj at redhat.com
Fri Mar 11 18:50:35 UTC 2005


On Fri, Mar 11, 2005 at 07:40:15PM +0100, Enrico Scholz wrote:
> jbj at redhat.com (Jeff Johnson) writes:
> 
> >> > > Don't do this:
> >> > >
> >> > > Requires(pre,post): /sbin/chkconfig
> >> > >
> >> > > but do that instead:
> >> > >
> >> > > Requires(pre): /sbin/chkconfig
> >> > > Requires(post): /sbin/chkconfig
> > ...
> > I couldn't care less what you do as packagers, the syntax is there, and
> > you can use as you see fit. It Simply Does Not Matter in the majority of
> > cases.
> 
> Sorry, when I disagree, but when with:
> 
> | Requires(pre,postun):  test-A
> 
> 'test-A' will be installed *after* %pre, then it matters. Or do you know a
> way to determine if a package belongs to the "majority of cases", or if it
> belongs to the "minority" where 'Requires(pre,postun)' fails miserably?
> 

Nope, %pre does not matter, because both %pre/%post are marked as "install"
context independent of their "pre" or "post" qualities.

The only known useful case for the markings is the libtermcap <-> bash loop,
where "install" versus "erase" context is used to snip a loop.

In practice, there are increasingly ever more dependency loops in the distro,
and rpmlib happily ignores all relations in the loop equally. That leads
to a degree of indeterminancy in installing, and ignoring all relations
rather than a single relation is perhaps to blame, but the problem is loops,
not otherwise, and needs to be handled by identifying loops and carefully
examining where the loop needs to be snipped, not through *.spec usage.

> 
> > https://bugzilla.redhat.com/118773
> 

Which has nothing important to do with any problem, as
	Requires(pre):
	Requires(post):
works just fine.

I will prevent the syntax
	Requires(pre,post):
if you do not have the discipline to not use known broken syntax.


73 de Jeff

-- 
Jeff Johnson	ARS N3NPQ
jbj at redhat.com (jbj at jbj.org)
Chapel Hill, NC




More information about the Fedora-maintainers mailing list