On (12/11/14 15:42), Jakub Hrozek wrote:
On Wed, Nov 12, 2014 at 03:35:43PM +0100, Jan Pazdziora wrote:
> On Wed, Nov 12, 2014 at 03:02:43PM +0100, Jakub Hrozek wrote:
> > On Wed, Nov 12, 2014 at 02:48:28PM +0100, Jan Pazdziora wrote:
> > >
> > > I think Requires(pre) is the recommended syntax these days. It helps
> > > people remember that they can also use it for other scriptlet times if
> > > they need to.
> >
> > Hmm, doesn't Requires(pre) specify what is required for the %pre
> > scriptlet?
>
> Right. I thought that's what you wanted. The point is, pure Requires
> merely states what requirements should be fulfilled once the
> transaction finishes. By using Requires(...), you state requirement
> for the particular phase of the transaction.
Sorry, I was ambiguous. What we have now is a dependency like this:
sssd-krb5 -- sssd-krb5-common -- sssd-common
-- sssd-common
In some cases, I saw that yum/RPM installed sssd-krb5-common first and
only then sssd-common. This breaks because sssd-krb5-common needs a user
that was going to be created in sssd-common's %pre.
Sumit was correct that on the source level we have a strange cycle, but
I don't see that cycle being propagated into the RPM level -- I was able
to install sssd-common w/o sssd-krb5-common just fine ...
sh$ rpm -q --requires sssd-krb5-common | grep com
libcom_err.so.2()(64bit)
sssd-common = 1.12.3-0.20141111.1042.git30c964a.master.fc21
sh $rpm -q --requires sssd-common | grep com
config(sssd-common) = 1.12.3-0.20141111.1042.git30c964a.master.fc21
libcom_err.so.2()(64bit)
libsss_krb5_common.so()(64bit)
sssd-krb5-common contains libsss_krb5_common.so()(64bit)
sssd-krb5-common -> sssd-common -> libsss_krb5_common.so()(64bit) ->
sssd-krb5-common
LS