From 541a66de7adbfe57dd4d3e998e8cc0db5585a266 Mon Sep 17 00:00:00 2001 From: Peter Powell Date: Wed, 1 Oct 2014 19:52:28 +0100 Subject: Implement support for distribution specific version labels. This will help us determine whether a version has been packaged by a downstream distribution who quite often make arbitrary changes which are a pain to provide support for. Debian, we're looking at you. --- make/configure.pm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'make/configure.pm') diff --git a/make/configure.pm b/make/configure.pm index 02e3a88c3..a5cb05c60 100644 --- a/make/configure.pm +++ b/make/configure.pm @@ -66,10 +66,10 @@ sub __get_socketengines { # TODO: when buildtool is done this can be mostly removed with # the remainder being merged into parse_templates. -sub __get_template_settings($$) { +sub __get_template_settings($$$) { # These are actually hash references - my ($config, $compiler) = @_; + my ($config, $compiler, $version) = @_; # Start off by populating with the config my %settings = %$config; @@ -80,8 +80,7 @@ sub __get_template_settings($$) { } # Version information - my %version = get_version(); - while (my ($key, $value) = each %version) { + while (my ($key, $value) = each %{$version}) { $settings{'VERSION_' . $key} = $value; } @@ -143,6 +142,8 @@ MISC OPTIONS --clean Remove the configuration cache file and start the interactive configuration wizard. --disable-interactive Disables the interactive configuration wizard. + --distribution-label=[text] Sets a distribution specific version label in + the build configuration. --gid=[id|name] Sets the group to run InspIRCd as. --help Show this message and exit. --socketengine=[name] Sets the socket engine to be used. Possible @@ -169,7 +170,8 @@ sub cmd_update { print "Updating...\n"; my %config = read_configure_cache(); my %compiler = get_compiler_info($config{CXX}); - parse_templates(\%config, \%compiler); + my %version = get_version(); + parse_templates(\%config, \%compiler, \%version); print "Update complete!\n"; exit 0; } @@ -263,13 +265,13 @@ sub get_property($$;$) return defined $default ? $default : ''; } -sub parse_templates($$) { +sub parse_templates($$$) { # These are actually hash references - my ($config, $compiler) = @_; + my ($config, $compiler, $version) = @_; # Collect settings to be used when generating files - my %settings = __get_template_settings($config, $compiler); + my %settings = __get_template_settings($config, $compiler, $version); # Iterate through files in make/template. foreach () { -- cgit v1.2.3