Revert rev 38340 (which was itself a reversion of 34807): if we can't find the

SVN version, indicate that the SVN version is unknown.  This puts back the fix
for bug 1413.

Add a new version.conf option for make-version which tell is "this is a build
from a release tarball."  When that option is present do not try to use SVN
to determine the SVN version, just use whatever SVN information shipped in the
tarball.

If version.conf is present in the source tree (as it is only in the release
branches), deliver it in the source tarball but only after setting the "this
is a release tarball" option.


All of this means that that builds from release-branch tarballs will report
the SVN version of the release tarball rather than "unknown."  This addresses
the issue reported in
http://ask.wireshark.org/questions/5376/wireshark-161-title-shows-svn-rev-unknown-from-unknown

Builds from trunk (including the source tarballs) will continue to report that
the SVN version is unknown.  (Maybe that, too, should be changed?)

svn path=/trunk/; revision=38933
This commit is contained in:
Jeff Morriss 2011-09-08 01:53:41 +00:00
parent c600dbe7c1
commit 14ab9387c1
2 changed files with 27 additions and 14 deletions

View File

@ -810,7 +810,7 @@ EXTRA_DIST = \
$(dtds_DATA) \
$(radius_DATA) \
$(tpncp_DATA) \
$(ui_DATA) \
$(ui_DATA) \
$(wimaxasncp_DATA) \
randpkt.c \
smi_modules \
@ -866,16 +866,16 @@ EXTRA_DIST = \
cmake/modules/UseMakeDissectorReg.cmake \
cmake/modules/UseMakeTapReg.cmake \
cmake/modules/readme.txt \
win32/Makefile.nmake \
win32/file_dlg_win32.c \
win32/file_dlg_win32.h \
win32/Makefile.nmake \
win32/file_dlg_win32.c \
win32/file_dlg_win32.h \
win32/print_win32.c \
win32/print_win32.h \
CPackConfig.txt \
all.vcproj \
dumpcap.vcproj \
packaging.vcproj \
tshark.vcproj \
all.vcproj \
dumpcap.vcproj \
packaging.vcproj \
tshark.vcproj \
wireshark.vcproj
install-exec-hook:
@ -1024,3 +1024,12 @@ checkapi: checkapi_local
cd ../dissectors && $(MAKE) checkapi
cd ../../plugins && $(MAKE) checkapi
cd ../wsutil && $(MAKE) checkapi
# When we build a release tarball, tell make-version that it is such. This
# prevents make-version from looking for SVN details in the source tarball,
# failing, and then labelling the build as from "SVN version unknown."
dist-hook:
if test -f $(top_srcdir)/version.conf; then \
cp $(top_srcdir)/version.conf $(top_distdir); \
echo "is_release: 1" >> $(top_distdir)/version.conf; \
fi

View File

@ -35,12 +35,17 @@
# the SVN revision number.
# pkg_enable - Enable or disable package versioning.
# pkg_format - Like "format", but used for the package version.
# is_release - Specifies that we're building from a release tarball;
# svnversion.h is not updated. This should be added only
# to the *released* version.conf, not the one used to build
# the release (IOW it should be added by automake's dist-hook).
#
# If run with the "-p" or "--package-version" argument, the
# AC_INIT macro in configure.in and the VERSION macro in
# config.nmake will have the pkg_format template appended to the
# version number. svnversion.h will _not_ be generated if either
# argument is present.
# argument is present (it will also not be generated if 'is_release' is set
# in version.conf).
#
# Default configuration:
#
@ -70,6 +75,7 @@ my %version_pref = (
"enable" => 1,
"svn_client" => 1,
"format" => "SVN %Y%m%d%H%M%S",
"is_release" => 0,
# Normal development builds
"pkg_enable" => 1,
@ -248,14 +254,15 @@ sub print_svn_version
my $svn_version;
my $needs_update = 1;
if ($pkg_version) { return; }
if ($pkg_version || $version_pref{"is_release"} == 1) { return; }
if ($last_change && $revision) {
$svn_version = "#define SVNVERSION \"SVN Rev " .
$revision . "\"\n" .
"#define SVNPATH \"" . $repo_path . "\"\n";
} else {
$svn_version = "\n";
$svn_version = "#define SVNVERSION \"SVN Rev Unknown\"\n" .
"#define SVNPATH \"unknown\"\n";
}
if (open(OLDVER, "<$version_file")) {
my $old_svn_version = <OLDVER> . <OLDVER>;
@ -287,7 +294,6 @@ sub get_config {
$srcdir = $ARGV[0]
}
if (! open(FILE, "<$vconf_file")) {
print STDERR "Version configuration file $vconf_file not "
. "found. Using defaults.\n";
@ -332,8 +338,6 @@ if ($svn_info_cmd) {
}
} else {
print "This is not a SVN build.\n";
$last_change = 0;
$revision = 0;
}
&print_svn_version;