Wireshark-dev: Re: [Wireshark-dev] [Wireshark-announce] Wireshark 1.12.0rc3 is now available

From: Peter Wu <peter@xxxxxxxxxxxxx>
Date: Thu, 31 Jul 2014 12:34:18 +0200
On Wednesday 30 July 2014 14:35:06 Gerald Combs wrote:
> After comparing the tarballs generated by "make dist" and
> "git-export-release.sh" I have to agree. Both have issues but the "dist"
> tarball will build according to our documentation on Linux, Windows, and
> OS X.
> 
> "make dist" is missing:
>   - Quite a bit under asn1. asn1/*/CMakeLists.txt, gnm, gprscdr,
>     and other assorted files.
>   - Several CMake modules
>   - Many files under debian
>   - Many docbook files
>   - Several READMEs in doc
>   - Many files in plugins
>   - Most (all?) files in tools
> 
> "git-export-release.sh" is missing:
>   - ./configure, install-sh, other Autotoolery
>   - Files generated using Bison/Flex
>   - help/faq.txt
>   - packaging/macosx/Info.plist
>   - plugins/*/plugin.c
>   - ui/*/*shark-tap-register.c
> 
> It looks like you can't build from a "dist" tarball using CMake which is
> something we should fix.

Instead of relying on autotools to generate the distribution tarball, one 
could also (temporarily) add all generated files to git and use git to build 
the tarball.

Something like this (ensure that you have no other files in your git tree!):

git clean -xfd # Ensure clean working dir (destructive!)
./autogen.sh
./configure
find -name Makefile* -print0 | xargs -0 git add -f
git add ... configure, config.status, bison, flex, etc...
git commit -q -m "Release"
git archive --prefix=... HEAD | xz -9 > ....tar.gz
git reset --hard HEAD~ # Return to previous version

Another thing to consider is the availability of cmake which does not require 
additional files in a distribution tarball like autotools. If all platforms 
support cmake, what about dropping the autotools-generated stuff?

Kind regards,
Peter
https://lekensteyn.nl