Mock: loss of login shell

Michael E Brown Michael_E_Brown at dell.com
Wed Dec 19 23:13:17 UTC 2007


On Wed, Dec 19, 2007 at 05:21:32PM -0500, Colin Walters wrote:
> 
> On Wed, 2007-12-19 at 22:00 +0100, Jos Vos wrote:
> > On Wed, Dec 19, 2007 at 02:14:05PM -0600, Steve Conklin wrote:
> > 
> > > Mock no longer uses a login shell for builds.
> > > 
> > > The way I discovered this is that the ipsec-tools package stopped
> > > building. The reason is that it has a BuildRequires for the krb5-devel
> > > package, from which it uses krb5-config.
> > > 
> > > krb5-config is installed in /usr/kerberos/bin/, and the user's path is
> > > provided by /etc/profile.d/krb5-devel.sh
> > > 
> > > No user shell, therefore no path, and configure fails to find krb5-config.
> > 
> > I think mock is wrong.  It's obvious that the devel packages assume
> > developers (like package builders, either human or not ;-)) run the
> > /etc/profile.d scripts.  T
> 
> It's only broken development packages which require setting environment
> variables like this.  The correct way to do parallel installation is:
> 
> http://www106.pair.com/rhp/parallel.html
> 
> I'm sure there's some historical reason krb5-config is not in /usr/bin,
> but it's a design flaw in the software.
> 
> The environment variable approach seems easy (no need to rename
> binaries), but falls over when you need to compile applications against
> multiple library versions.

So, are we going to mandate in the packaging guidelines that packages
*not* use environment variables and that all packages should use
pkg-config?

That is the issue here.

Because if we dont do that, then we end up in the odd situation where a
legal package that passes review cannot be built with the official
fedora build tool.
--
Michael




More information about the fedora-devel-list mailing list