mock not processing /etc/profile.d/*, not a login shell?

Matt Domsch Matt_Domsch at dell.com
Tue Dec 4 05:02:11 UTC 2007


On Mon, Dec 03, 2007 at 05:55:03PM -0600, Michael E Brown wrote:
> On Mon, Dec 03, 2007 at 04:38:10PM -0700, Orion Poplawski wrote:
> > Michael E Brown wrote:
> > >
> > >When we exec() rpmbuild, we do so with a clean environment. If you wish
> > >to include dependencies, the proper way to do that is from the specfile.
> > 
> > One could argue though that it should exec rpmbuild within a login shell 
> > so that it picks up settings from /etc/profile.d/* within the chroot 
> > environment.
> 
> Indeed. One could argue that.
> 
> At this point, I would defer to Jesse, who has more experience in this
> specific area.
> 
> I was merely trying to point out why the old mock behaviour was a bug
> (leaking env vars from host=>chroot).
> 
> The patch to change the rpmbuild to be a login shell would not be a
> large one, and I am sort of on the fence about it. (Minor input would be
> that env. vars from /etc/profile.d/ seem like a poor way to do this,
> there seem to be lots of better ways.)

What's the benefit to having mock implicitly invoke a login shell, rather
than the spec file explicitly including such if it needs it?  I much
prefer explicit over implicit - so much easier to track down when
things don't work as expected when you don't have to "just know" that
mock uses a login shell to invoke /etc/profile.d/* because you can see
in the spec where /etc/profile.d/qt.sh got sourced.

-- 
Matt Domsch
Linux Technology Strategist, Dell Office of the CTO
linux.dell.com & www.dell.com/linux




More information about the Fedora-buildsys-list mailing list