Add option to disable version.h

If the file '.git/wireshark-disable-versioning' exists then version.h
will be commented out.

Change-Id: If481b673463408a69c2ecf7c2e66d08c5855537f
Reviewed-on: https://code.wireshark.org/review/14932
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
This commit is contained in:
João Valverde 2016-04-21 00:39:22 +01:00 committed by João Valverde
parent 91cae7cf41
commit eeded812f7
2 changed files with 31 additions and 2 deletions

View File

@ -708,6 +708,16 @@ to avoid warnings at all.
The compiler flags in the Makefiles are set to "treat warnings as errors", The compiler flags in the Makefiles are set to "treat warnings as errors",
so your code won't even compile when warnings occur. so your code won't even compile when warnings occur.
7. Miscellaneous notes
Each commit in your branch corresponds to a different VCSVERSION string
automatically defined in the header 'version.h' during the build. If you happen
to find it convenient to disable this feature it can be done using:
touch .git/wireshark-disable-versioning
i.e., the file 'wireshark-disable-versioning' must exist in the git repo dir.
/* /*
* Editor modelines - https://www.wireshark.org/tools/modelines.html * Editor modelines - https://www.wireshark.org/tools/modelines.html
* *

View File

@ -105,6 +105,7 @@ my %version_pref = (
my $srcdir = "."; my $srcdir = ".";
my $info_cmd = ""; my $info_cmd = "";
my $verbose = 0; my $verbose = 0;
my $devnull = File::Spec->devnull();
# Ensure we run with correct locale # Ensure we run with correct locale
$ENV{LANG} = "C"; $ENV{LANG} = "C";
@ -125,7 +126,6 @@ sub read_repo_info {
my $repo_version; my $repo_version;
my $do_hack = 1; my $do_hack = 1;
my $info_source = "Unknown"; my $info_source = "Unknown";
my $devnull = File::Spec->devnull();
# Make sure git is available. # Make sure git is available.
if (!`$git_executable --version`) { if (!`$git_executable --version`) {
@ -636,6 +636,13 @@ sub update_versioned_files
sub new_version_h sub new_version_h
{ {
my $VCS_REVISION; my $VCS_REVISION;
my $set_header = shift @_;
if (!$set_header) {
$VCS_REVISION = "/* #undef VCSVERSION */\n";
$VCS_REVISION .= "/* #undef VCSBRANCH */\n";
return $VCS_REVISION;
}
if ($git_description) { if ($git_description) {
$VCS_REVISION = "#define VCSVERSION \"" . $VCS_REVISION = "#define VCSVERSION \"" .
@ -658,8 +665,18 @@ sub new_version_h
# Don't change the file if it is not needed. # Don't change the file if it is not needed.
sub print_VCS_REVISION sub print_VCS_REVISION
{ {
my $VCS_REVISION = new_version_h(); my $VCS_REVISION;
my $needs_update = 1; my $needs_update = 1;
my $set_header = 1;
my $git_cdir;
chomp($git_cdir = qx{git --git-dir="$srcdir/.git" rev-parse --git-common-dir 2> $devnull});
if ($git_cdir && -f "$git_cdir/wireshark-disable-versioning") {
print_diag "Header versioning disabled using git override.\n";
$set_header = 0;
}
$VCS_REVISION = new_version_h($set_header);
if (open(OLDREV, "<$version_file")) { if (open(OLDREV, "<$version_file")) {
my $old_VCS_REVISION = <OLDREV> . <OLDREV>; my $old_VCS_REVISION = <OLDREV> . <OLDREV>;
if ($old_VCS_REVISION eq $VCS_REVISION) { if ($old_VCS_REVISION eq $VCS_REVISION) {
@ -676,6 +693,8 @@ sub print_VCS_REVISION
print VER "$VCS_REVISION"; print VER "$VCS_REVISION";
close VER; close VER;
print "$version_file has been updated.\n"; print "$version_file has been updated.\n";
} elsif (!$set_header) {
print "$version_file disabled.\n";
} else { } else {
print "$version_file unchanged.\n"; print "$version_file unchanged.\n";
} }