ARROW-3070: [Packaging] Use Bintray

dev/release/03-binary.sh uploads binaries (.deb, .rpm, .whl and conda
.tar.bz2) to https://bintray.com/apache/arrow/ . It uses debian-rc,
ubuntu-rc, centos-rc and python-rc packages on Bintray.

dev/release/03-binary.sh signs and generates checksums binaries. This
ignores signs and checksums generated by crossbow. Because we need
some special signing. For example, .dsc and .changes should use inline
sign instead of separated sign file. debsign command does this. .rpm
should be signed by "rpm --addsign".

dev/release/03-binary.sh also generates metadata to install .deb and
.rpm files by apt and yum. See the changes for site/install.md how to
use https://bintray.com/apache/arrow/ as APT and Yum repository.

This means that this change includes work for
https://issues.apache.org/jira/browse/ARROW-1349 .

We can install not only RC binaries but also released binaries by apt
and yum. It will help us to verify binaries.

dev/release/post-02-binary.sh downloads verified binaries at
debian-rc, ubuntu-rc, centos-rc and python-rc packages on Bintray and
uploads them to debian, ubuntu, centos and python packages on Bintray.

APT and Yum repositories for RC and release are separated. So RC
doesn't affect users.

Release manager needs write access to https://bintray.com/apache/arrow .

Author: Kouhei Sutou <kou@clear-code.com>

Closes #2879 from kou/packaging-use-bintray and squashes the following commits:

575a2d20 <Kouhei Sutou> Fix license position
456ec8c7 <Kouhei Sutou> Add missing license header
8214abdc <Kouhei Sutou> Clean
395c873b <Kouhei Sutou> Ensure right permission
d8fc63be <Kouhei Sutou> Export only the target GPG key
4bfc6e08 <Kouhei Sutou> Use gpg-agent via SSH
3dc2d44e <Kouhei Sutou> Add support for changing Bintray repository
0cb8ccc9 <Kouhei Sutou> Fix typos
66ca3d11 <Kouhei Sutou> Fix upload path for Python binaries
5e094ed5 <Kouhei Sutou> Ensure updating APT repository
41b355c1 <Kouhei Sutou> Fix path
9965a063 <Kouhei Sutou> Uncomment
e49ca7cc <Kouhei Sutou> Stop to upload binaries to dist.apache.org
e71a7742 <Kouhei Sutou> Reduce API request
12e2239e <Kouhei Sutou> Fix function name
a9cb7b83 <Kouhei Sutou> Unify how to install
1fb9083b <Kouhei Sutou> Force to resign
d0b2b059 <Kouhei Sutou> Remove needless quotations
a7fd26ba <Kouhei Sutou> Fix a typo
d2d6c3b2 <Kouhei Sutou> Fix a typo
42d3836e <Kouhei Sutou> Sign
b3c11872 <Kouhei Sutou> Replace existing files
238ee605 <Kouhei Sutou> Update install document
65554a32 <Kouhei Sutou> Sign .dec and .changes
3c0bafc9 <Kouhei Sutou> Fix a typo
9e39341c <Kouhei Sutou> Support Python
c22ebbac <Kouhei Sutou> Support APT
18d7e112 <Kouhei Sutou>  Use Bintray for binary artifacts
1 file changed
tree: 0f852a7aa1c9afa11fede9edc72a082ef54f3631
  1. _data/
  2. _docs/
  3. _includes/
  4. _layouts/
  5. _posts/
  6. _release/
  7. _sass/
  8. assets/
  9. css/
  10. img/
  11. scripts/
  12. .gitignore
  13. _config.yml
  14. blog.html
  15. committers.html
  16. Gemfile
  17. index.html
  18. install.md
  19. powered_by.md
  20. README.md
README.md

Apache Arrow Website

Development instructions

If you are planning to publish the website, you must first clone the arrow-site git repository:

git clone --branch=asf-site https://git-wip-us.apache.org/repos/asf/arrow-site.git asf-site

Now, with Ruby >= 2.1 installed, run:

gem install jekyll bundler
bundle install

# This imports the format Markdown documents so they will be rendered
scripts/sync_format_docs.sh

bundle exec jekyll serve

Publishing

After following the above instructions the base site/ directory, run:

JEKYLL_ENV=production bundle exec jekyll build
rsync -r build/ asf-site/
cd asf-site
git status

Now git add any new files, then commit everything, and push:

git push

Updating Code Documentation

To update the documentation, run the script ./dev/gen_apidocs.sh. This script will run the code documentation tools in a fixed environment.

C (GLib)

First, build Apache Arrow C++ and Apache Arrow GLib.

mkdir -p ../cpp/build
cd ../cpp/build
cmake .. -DCMAKE_BUILD_TYPE=debug
make
cd ../../c_glib
./autogen.sh
./configure \
  --with-arrow-cpp-build-dir=$PWD/../cpp/build \
  --with-arrow-cpp-build-type=debug \
  --enable-gtk-doc
LD_LIBRARY_PATH=$PWD/../cpp/build/debug make GTK_DOC_V_XREF=": "
rsync -r doc/reference/html/ ../site/asf-site/docs/c_glib/

Javascript

cd ../js
npm run doc
rsync -r doc/ ../site/asf-site/docs/js

Then add/commit/push from the site/asf-site git checkout.