Environment variables are configuration-defined.
It was previously inherited, but that behavior was error-prone. This commit fixes that.master
parent
3d78fa2074
commit
e048ca9685
|
@ -74,6 +74,7 @@ class Package::Context
|
||||||
property architecture = "x86_64"
|
property architecture = "x86_64"
|
||||||
|
|
||||||
property prefixes = ["/usr", "/", "/usr/weirdos"]
|
property prefixes = ["/usr", "/", "/usr/weirdos"]
|
||||||
|
property environment = {} of String => String
|
||||||
|
|
||||||
def initialize
|
def initialize
|
||||||
@packaging_backends << Backend::Packaging.new "pkgutils" do |context, package|
|
@packaging_backends << Backend::Packaging.new "pkgutils" do |context, package|
|
||||||
|
@ -213,7 +214,7 @@ class Package::Context
|
||||||
end
|
end
|
||||||
|
|
||||||
def run(chdir, command, args)
|
def run(chdir, command, args)
|
||||||
Process.run command, args, chdir: chdir, output: Process::Redirect::Inherit, error: Process::Redirect::Inherit
|
Process.run command, args, chdir: chdir, output: Process::Redirect::Inherit, error: Process::Redirect::Inherit, env: @environment
|
||||||
end
|
end
|
||||||
|
|
||||||
def run(command, args)
|
def run(command, args)
|
||||||
|
@ -263,6 +264,19 @@ class Package::Context
|
||||||
@sources_directory = value.as_s
|
@sources_directory = value.as_s
|
||||||
when "prefixes"
|
when "prefixes"
|
||||||
@prefixes = value.as_a_or_s
|
@prefixes = value.as_a_or_s
|
||||||
|
when "environment"
|
||||||
|
value.as_a_or_s.each do |entry|
|
||||||
|
match = entry.split(':').map(
|
||||||
|
&.gsub(/^[ \t]*/, "").gsub(/[ \t]*$/, ""))
|
||||||
|
|
||||||
|
if match.size != 2
|
||||||
|
STDERR.puts "WARNING: misformed environment definition: #{entry}"
|
||||||
|
next
|
||||||
|
end
|
||||||
|
|
||||||
|
key, value = match
|
||||||
|
@environment[key] = value
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Reference in New Issue