Mock: loss of login shell

Colin Walters walters at redhat.com
Wed Dec 19 22:21:32 UTC 2007


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.





More information about the fedora-devel-list mailing list