Wireshark-dev: Re: [Wireshark-dev] 0.99.4 packaging fails on Windows

From: Ulf Lamping <ulf.lamping@xxxxxx>
Date: Sat, 04 Nov 2006 01:39:17 +0100
Maynard, Chris wrote:
On this topic of files missing from released versions:

First, I don't mean to criticize or to come across too harshly here.  We're all human; we all make mistakes.  However, the 0.99.3 tarball was missing at least one file, airpcap.h, and a 0.99.3a source tarball was later posted to remedy that issue.  Now it seems that the 0.99.4 tarball is missing a file or two.  I don't know if the best way to resolve it is to simply post a 0.99.4a source or to simply let developers search the mailing list and figure out what to do.  Whatever you decide is fine.

However, going forward, it seems to me that there should be a better way to test that the intended released sources (0.99.5, 0.99.6, ...) contain everything needed before the release is posted.  Perhaps many of you core developers have environments that don't exactly match what one would have if you simply untar-zip the source as provided, and therefore you may have files that the rest of us don't.  Maybe a slight change in release procedure would help?  Is it possible to build everything solely from the source tarball intended to be posted to ensure that it's self contained?

- Chris
Hi Chris!

First of all, FULL ACK on your point of view - I get the feeling that the released source tar balls *often* missing files for the Win32 platform - unfortunately I don't see a good way to fix this behaviour, maybe someone out there with a good idea?

Two main reasons of the current situation:
1.) most Win32 developers are using subversion, so they won't suffer from the problem (and testing certain conditions by hand is just not done) 2.) the automated builds doesn't test against this specific problem (and it's not easy to let them do so)

The automated buildbot does the following to ensure all files are in the source tarball for a *unix* build (see the Ubuntu buildbot at http://buildbot.wireshark.org/trunk/): - "dist" creates a tarball (the same way as the one that you'll get at the release) - using all the autofoo magic
- "distcheck" then tries to build a Wireshark instance from this tarball

This way the buildbot makes sure that the tarball get's all the files needed to do a Unix build - but not a Windows build :-(

The problem here is, that we currently don't have any build procedure to build the windows source tarball (as there's simply no such thing as a Windows source tarball existing - and also not desirable).


I see two possible ways to make sure that the Win32 build won't suffer from this pain:

- automatically transfer the generated source tarball somehow from the Ubuntu to the Windows buildbot and frequently try to create a Windows build from it - ugly, as the buildbots should be separate entities - do the same on the Win32 buildbot what the Ubuntu buildbot is doing (this requires to create a nmake target to build a source tarball - a lot of work)

Both options doesn't seem to be very good, any good ideas welcome,

Regards, ULFL

P.S: Putting all required files Makefile.common files (as it's already done at some places in the sources) might be the way to go for a distcheck on Win32