On 31 July 2014 11:42, Bálint Réczey
<balint@xxxxxxxxxxxxxxx> wrote:
2014-07-31 12:34 GMT+02:00 Peter Wu <peter@xxxxxxxxxxxxx>:
> 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
Please don't do that.
>
> 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?
+1 for dropping autotools in favor of CMake. CMake already covers all
my use cases.
I also support dropping nmake, but since I'm not building on Windows I
can't tell if CMake is complete enough.
Not yet. Working on it though.