Francis, Your reasoning makes sense. .tar.gz is the most widely accepted format. Windows is less important these days, and Windows hackers have by now figured out how to install tar.
+1 to just releasing .tar.gz. Julian > On Apr 26, 2018, at 3:31 PM, Francis Chuang <[email protected]> wrote: > > Personally, creating the zip isn't onerous for avatica-go because we are > automating it via the release script. Having said that, the `zip` command > isn't as nice as the `tar` command in terms of options and customization. I > assume that something similar is also in place for calcite and avatica using > the maven release plugin. > > Personally, I think just releasing a tar.gz is fine. It's a very well known > format and a lot of source releases from other Apache projects as well as > other open source projects are released as tar.gz. > > In terms of zip, there is 1 benefit. Windows users can open them using the > Windows Explorer, so they won't have to install anything else. However, I > think they should be able to open tar.gz files using 7-zip (it's free). > > For me: +1 to just releasing a tar.gz. > > Francis > > On 27/04/2018 3:50 AM, Julian Hyde wrote: >> File sizes (for apache-calcite-1.16.0-src) >> >> 19,747,328 .tar (uncompressed) >> 5,557,353 .zip >> 3,701,880 .tar.gz >> 2,910,953 .tar.bz2 >> 2,645,024 .tar.xz >> >> Not that file size is very important. >> >> Julian >> >> >> >>> On Apr 26, 2018, at 8:31 AM, Josh Elser <[email protected]> wrote: >>> >>> I think tar.gz or tar.xz are both good options and see them fairly equally >>> (not sure if maven-assembly-plugin supports xz, but would be surprised if >>> it didn't). bz2 is just "slow" in my mind, but I suppose we're not really >>> producing very large artifacts so it wouldn't be a pain. >>> >>> I am good with dropping .zip. >>> >>> On 4/26/18 10:43 AM, Julian Hyde wrote: >>>> We should talk about this. For Calcite and Avatica, we have to produce >>>> .tar.gz and .zip because we always have. >>>> But how about producing just one archive, in a more modern format, say >>>> .tar.bz2 or .tar.xz? Most people have those compressors installed. It >>>> makes the release process more straightforward for us (because there are >>>> fewer files to review and upload). >>>> (I’m talking about next release here. This release has sailed.) >>>> Julian >>>>> On Apr 25, 2018, at 00:09, [email protected] wrote: >>>>> >>>>> Repository: calcite-avatica-go >>>>> Updated Branches: >>>>> refs/heads/master 4b50122b0 -> 1ed6f83b4 >>>>> >>>>> >>>>> Update release script to also produce a zip archive >>>>> >>>>> >>>>> Project: http://git-wip-us.apache.org/repos/asf/calcite-avatica-go/repo >>>>> Commit: >>>>> http://git-wip-us.apache.org/repos/asf/calcite-avatica-go/commit/1ed6f83b >>>>> Tree: >>>>> http://git-wip-us.apache.org/repos/asf/calcite-avatica-go/tree/1ed6f83b >>>>> Diff: >>>>> http://git-wip-us.apache.org/repos/asf/calcite-avatica-go/diff/1ed6f83b >>>>> >>>>> Branch: refs/heads/master >>>>> Commit: 1ed6f83b457f5085c645afda35e7b6b57345b591 >>>>> Parents: 4b50122 >>>>> Author: Francis Chuang <[email protected]> >>>>> Authored: Wed Apr 25 17:09:10 2018 +1000 >>>>> Committer: Francis Chuang <[email protected]> >>>>> Committed: Wed Apr 25 17:09:10 2018 +1000 >>>>> >>>>> ---------------------------------------------------------------------- >>>>> make-release-artifacts.sh | 23 +++++++++++++++++++++-- >>>>> 1 file changed, 21 insertions(+), 2 deletions(-) >>>>> ---------------------------------------------------------------------- >>>>> >>>>> >>>>> http://git-wip-us.apache.org/repos/asf/calcite-avatica-go/blob/1ed6f83b/make-release-artifacts.sh >>>>> ---------------------------------------------------------------------- >>>>> diff --git a/make-release-artifacts.sh b/make-release-artifacts.sh >>>>> index 7a2f29e..657a4d8 100755 >>>>> --- a/make-release-artifacts.sh >>>>> +++ b/make-release-artifacts.sh >>>>> @@ -52,6 +52,7 @@ done >>>>> tagWithoutRC=$(echo $tag | sed -e 's/-rc[0-9][0-9]*//') >>>>> product=apache-calcite-avatica-go >>>>> tarFile=$product-src-$tagWithoutRC.tar.gz >>>>> +zipFile=$product-src-$tagWithoutRC.zip >>>>> releaseDir=$product-$tag >>>>> >>>>> #Make release dir >>>>> @@ -66,12 +67,30 @@ fi >>>>> # Make tar >>>>> tar -zcvf dist/$releaseDir/$tarFile --transform >>>>> "s/^\./$product-src-$tagWithoutRC/g" --exclude "dist" --exclude ".git" . >>>>> >>>>> -cd dist/$releaseDir >>>>> +# Make temp dir >>>>> +mkdir -p dist/tmp/$product-src-$tagWithoutRC >>>>> + >>>>> +# Make a temporary copy >>>>> +cp -r `ls -A | grep -v "dist"` dist/tmp/$product-src-$tagWithoutRC/ >>>>> + >>>>> +cd dist/tmp/ >>>>> + >>>>> +# Make zip >>>>> +zip -r ../$releaseDir/$zipFile . -x /$product-src-$tagWithoutRC/.git/* >>>>> + >>>>> +cd .. >>>>> + >>>>> +# Delete temp dir >>>>> +rm -rf tmp >>>>> + >>>>> +cd $releaseDir >>>>> >>>>> # Calculate SHA256 >>>>> gpg --print-md SHA256 $tarFile > $tarFile.sha256 >>>>> +gpg --print-md SHA256 $zipFile > $zipFile.sha256 >>>>> >>>>> # Sign >>>>> gpg --armor --output $tarFile.asc --detach-sig $tarFile >>>>> +gpg --armor --output $zipFile.asc --detach-sig $zipFile >>>>> >>>>> -# End >>>>> +# End >>>>> \ No newline at end of file >>>>> >
