Bug 1300686

Summary: Environment variable not passed into mock chroot
Product: [Fedora] Fedora Reporter: Jeroen Koekkoek <jeroen>
Component: mockAssignee: Miroslav Suchý <msuchy>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 24CC: jdisnard, mebrown, msimacek, msuchy, praiskup, williams
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-26 11:17:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jeroen Koekkoek 2016-01-21 13:11:43 UTC
Description of problem:
Environment variables exported by user are not imported into mock chroot even though the variable is assigned the same value as the current environment variable. Like so:

config_opts['environment']['VAR'] = os.environ['VAR']

This does work when running mock through sudo.

Version-Release number of selected component (if applicable):
1.2.14

How reproducible:
DOES NOT WORK:
export FOO=bar
mock --shell
echo $FOO (in shell)

DOES WORK:
export FOO=bar
sudo mock --shell
echo $FOO (in shell)
bar

Steps to Reproduce:
See above.

Comment 1 Jan Kurik 2016-02-24 15:44:39 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle.
Changing version to '24'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase

Comment 2 Miroslav Suchý 2016-02-26 11:17:54 UTC
This is because /usr/bin/mock is in fact consolehelper which clean up environment and gain root right and execute /usr/sbin/mock.

As root you probably directly executed /usr/sbin/mock which is first in your path.
Note that there is already plan to change those paths in bug 1246810.

So if you want to preserve some variable, you can alter /etc/security/console.apps/mock and add to KEEP_ENV_VARS variables the list of variables you want to preserve.