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
>>>>> 
> 

Reply via email to