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