[Freeipa-devel] [PATCH][SSSD] Fix sssd.spec

Simo Sorce ssorce at redhat.com
Mon Jul 20 19:49:03 UTC 2009


On Mon, 2009-07-20 at 15:44 -0400, Stephen Gallagher wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 07/20/2009 03:27 PM, Simo Sorce wrote:
> > On Mon, 2009-07-20 at 14:40 -0400, Stephen Gallagher wrote:
> >> -----BEGIN PGP SIGNED MESSAGE-----
> >> Hash: SHA1
> >>
> >> On 07/20/2009 02:28 PM, Simo Sorce wrote:
> >>> On Mon, 2009-07-20 at 14:14 -0400, Stephen Gallagher wrote:
> >>>> Explicitly use /var/lib in the sssd.spec
> >>>>
> >>>> The source code currently hardcodes the path to /var/lib, but the
> >>>> sssd.spec relies on the value of %{_sharedstatedir}. This is
> >>>> broken on systems like RHEL5 where %{_sharedstatedir} resolves to
> >>>> /usr/com
> >>>>
> >>> Nack,
> >>> please define a new variable and assign it differently depending on the
> >>> platfrom, either by checking directly for disttags or release names, or
> >>> by using a define
> >>>
> >>> Something like:
> >>> %if 0%{fedora} > 11
> >>> %define sssd_var_lib %{_sharedstatedir}
> >>> %else
> >>> %define sssd_var_lib /var/lib
> >>> %endif
> >>>
> >>> Then always use %{sssd_var_lib}
> >>>
> >>> Simo.
> >>>
> >> I disagree. This doesn't make any sense. That statement parses to:
> >> If the sharedstatedir == /var/lib, use sharedstatedir, otherwise, use
> >> /var/lib. It seems incongruous to use another variable there.
> > 
> > No the statement I made is:
> > if Fedora >= 11 use %{_sharedstatedir}
> > otherwise use /var/lib
> > 
> > of course the idea is to pass sssd_var_lib to the
> > appropriate ./configure switch
> > 
> >> If we're going to nack it, I'd rather we just state outright that we
> >> need to fix the code to always create the pipes in sharedstatedir,
> >> rather than hard-coding /var/lib.
> > 
> > Yes, we should not hardcode /var/lib in our source, just do the above
> > int he rpm.
> > 
> >> This fix was just meant to hold us over until we get around to doing that.
> > 
> > The example I made would still be valid once you have the configure
> > option. You still want to use sharedstatedir in Fedora >= 11 but not in
> > RHEL5.
> > 
> > Simo.
> > 
> 
> I'm not sure why we wouldn't want to just use sharedstatedir on all
> platforms, assuming that we also used sharedstatedir when creating the
> pipes in the first place.

I guess I was not clear.

> Basically, I'm saying that either we should change the sssd.spec to
> match what we're doing in the code (hardcoding /var/lib), or we should
> change the code to match what we're doing in sssd.spec (put the pipes
> under sharedstatedir for the platform).

We want to change the code to take whatever directory as a ./configure
option.

In Fedora 11 the spec will pass sharedstatedir, on RHEL5 we won't (we
don't put stuff in /usr/com), there we will pass /var/lib

> Either one is valid. Saying "we'll use sharedstatedir on Fedora 11+"
> doesn't work, because they could STILL pass a different --sharedstatedir
> line to configure and it would break again.

The point is that we will explicitly pass --sssd_sharedstatedir=
%{sssd_sharedstatedir}, so whatever we do it will always be consistent.

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York




More information about the Freeipa-devel mailing list