2011/11/17 Gerald Combs <ger...@wireshark.org>

> On 11/3/11 2:52 PM, Jeff Morriss wrote:
> > Guy Harris wrote:
> >> On Nov 2, 2011, at 11:19 AM, Guy Harris wrote:
> >>
> >>> On Nov 2, 2011, at 10:26 AM, Guy Harris wrote:
> >>>
> >>>> On Nov 2, 2011, at 10:16 AM, Jeff Morriss wrote:
> >>>>
> >>>>> Oh, shoot.  Looks like svnversion.h is removed by clean and/or
> >>>>> dist-clean.
> >>>> So it should be generated only if you're building from SVN, and
> >>>> should be included in source tarballs, and should be removed only by
> >>>> maintainer-clean.
> >>> I've checked in a change to do that, and will schedule it for the
> >>> next 1.4.x and 1.6.x release, unless somebody can come up with a good
> >>> reason to remove svnversion.h with clean or dist-clean.  Speak up
> >>> soon....
> >>
> >> Well, the build is failing because "make distclean" isn't getting rid
> >> of it.
> >>
> >> To quote the automake manual:
> >>
> >>     * Distributed files should never depend upon non-distributed built
> >> files.
> >>     * Distributed files should be distributed with all their
> >> dependencies.
> >>     * If a file is intended to be rebuilt by users, then there is no
> >> point in distributing it.
> >>
> >> svnversion.h is made by make-version.pl, and to get the SVN version
> >> you presumably have to be in an SVN tree, so svnversion.h's
> >> "dependency" is on, in a sense, .svn and its contents, so, from what
> >> the automake manual says, if we ship svnversion.h, we have to ship the
> >> .svn tree as well.
> >>
> >> I don't think we want to do that.
> >>
> >> So, either
> >>
> >>     1) we need to arrange to define HAVE_SVNVERSION_H if building from
> >> SVN, *not* define it if building from a release tarball, protect the
> >> includes of svnversion.h with #ifdef HAVE_SVNVERSION_H/#endif;
> >>
> >>     2) we need to have make-version.pl work when run from a source
> >> tarball, for some reasonable definition of "work";
> >>
> >> and, in either case, not distribute svnversion.h with the tarball and
> >> remove svnversion.h with "make distclean".
> >
> > So here are (I think) the scenarios we're trying to cover:
> >
> > a) Builds from SVN (typically on trunk/ but also the release trunks):
> > the exact SVN version is useful to know and the file can easily be made.
> >  Easy.
> >
> > b) Release source tarballs: the exact SVN version is not very important
> > (the version is the version is the version) and the file can't be
> > generated (by the user).  And automake won't let us deliver it because
> > the file is generated.
> >
> > c) Daily build source tarballs: the exact SVN version *is* interesting
> > (it's nice to know that, for example, the thousands of SVN versions
> > between when 1.6.0 was released and when 1.7.0 will be released are not
> > all, in fact, 1.7.0--remember the sunfreeware.com incident[1]?) but we
> > have the same problems as (b).
> >
> > [1] https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1413#c8
> >
> > Unfortunately both options above mean we lose the SVN version in cases
> > (b) and (c).
> >
> >
> > Should svnversion.h instead be checked in to source control and
> > automatically updated at each checkin (by a trigger)?
> >
> > Or should 1.7.[even number] mean "an SVN build between versions" and
> > 1.7.[odd number] mean "a development release", thus partially removing
> > the interest in having an SVN number in (c)?
> >
> > Or...?
>
> I updated make-version.pl to clarify the different things that it does.
> It can now store the SVN revision in config.nmake, which can then be
> used to rebuild svnversion.h. Updating config.nmake was a lot easier
> than a post-commit hook since we were storing other version information
> there.
>

Hi Gerald,

since your commit I'm facing a small issue when compiling trunk for
Windows. The following command (in top Makefile.nmake):
    cd plugins
    $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake install-plugins
tries to install the plugins in a folder named plugins\1.7.1-SVN-#### while
Wireshark expects them to have them in a folder named plugins\1.7.1 (they
fail to load unless i copy them to the plugins\1.7.1 folder).
It appears due to the change done in config.nmake so as to set
VERSION_BUILD to $(SVN_REVISION).

Not sure what is preferable. I guess it would be better to avoid generating
a new plugin folder each time the revision number increases.

Regards,
Pascal.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to