Wireshark-dev: Re: [Wireshark-dev] [Wireshark-commits] master 9079e3a: Cheat and try to fix the
From: Evan Huus <eapache@xxxxxxxxx>
Date: Mon, 23 Jun 2014 16:45:48 -0400
On Mon, Jun 23, 2014 at 4:32 PM, Pascal Quantin <pascal.quantin@xxxxxxxxx> wrote:
Hi all,

Le 23/06/2014 22:22, Jakub Zawadzki a écrit :
> Hello Evan,
>
> On Mon, Jun 23, 2014 at 02:10:13PM -0400, Evan Huus wrote:
>> Storing generated files in source control makes maintenance and patch
>> review much harder and puts extra requirements on us to keep things in
>> sync. I'd rather the computer do the extra work :)
> But in the same time, we can have 3rd party library, like nghttp2[1] (12KLOC) put into git.
>
> This is already more than 30 commits behind nghttp2/lib git HEAD,
> nor README.nghttp2 is updated about recent fixes in this forked code.
FYI the only fixes done on top of those listed in README.nghttp2 should
be casts to ensure proper compilation on Windows. AFAIK Alexis intends
to submit those changes upstream. And we are only interested by the
decompression part of the library.
We decided to add nghttp2 to Wireshark source code (for now) as it is
not available to all platforms yet. We might remove it in the future and
use 3rd party packages if required. I still consider this as a WIP and
nothing is frozen. But at least it provides decompression functionality
for the still moving HTTP2 drafts.

>
>> We store C files and require a compiler, where we could just store the
>> compiled .o files in source control. To me this is much the same thing.
> Great to know.
IMHO, storing source files (even if those are the output of generation
tools) can hardly be compared as storing object files.

I went looking on google for opinions and arguments on this topic. A surprising number of sites actually suggested just this: storing the complete compiled executable and all objects in source control. I no longer claim to understand software development best practices :/
 
>
>> Balint and Jörg and I discussed that we would eventually like to remove the
>> ASN.1 generated source from git as well, and make that a standard part of
>> the build process.
> I am happy to hear this, please do.
> For sure you want also do this for X11 dissector, which for rebuilt only requires
> downloading mesa sources.
While I understand the objective, we must keep in mind that removing the
ASN.1 generated files will increase by a non negligible time the first
build time (which means all buildbot builds). It represents severals
minutes on my machine....

Something to be aware of, but I don't think the buildbots are under sufficient load for this to be a serious problem. Once the build system is fixed to permit parallel ASN.1 compilation that time should go down quite a bit as well.