...
Branch your release:
git checkout -b <your release name> <commit sha1>
push to origin:
git push origin <your release name>
Apply signed tag on release branch
Example:
git tag -u <GPG KEY ID> --sign <your release name>-rc# -m "Apache MADlib (Incubating) <your release name> RC#" <SHA of HEAD of branch>
- Make a tarball and gzip:
git archive -o ../apache-madlib-<your release name>-incubating-src.tar --prefix=apache-madlib-<your release name>-incubating-src/ <your tag/branch name>
gzip ../apache-madlib-<your release name>-incubating-src.tarExample:
$ git archive -o ../apache-madlib-1.11-incubating-src.tar --prefix=apache-madlib-1.11-incubating-src/ 1.11-incubating
$ gzip ../apache-madlib-1.11-incubating-src.tar
Prepare rpm and dmg binaries
Execute the following commands in the build directory:
$ cmake <path to source code directory>
$ make
$ make package
...
Create convenience binaries (rpm and dmg files)
Creating rpm package - CentOS 6 (GPDB 4.3, 4.3Orca, Postgres 9.5, 9.6)
This section is under construction
Build MADlib and rpm package
Example:
cmake -DHAWQ_2_PG_CONFIG=/data/home/gpadmin/hawq-2.0.0.0/bin/pg_config \
-DGREENPLUM_4_3ORCA_PG_CONFIG=/data/gpdbchina/4.3.10.0ORCA-build-1/greenplum-db/./bin/pg_config \
-DGREENPLUM_4_3_PG_CONFIG=/data/gpdbchina/4.3.0.0-build-3/greenplum-db/./bin/pg_config \
-DGREENPLUM_4_2_PG_CONFIG=/data/gpdbchina/4230-build-1/greenplum-db/./bin/pg_config \
-DPOSTGRESQL_9_6_PG_CONFIG=/data/gpdbchina/postgresql-9.6/postgresdb/bin/pg_config \
-DPOSTGRESQL_9_5_PG_CONFIG=/data/gpdbchina/postgresql-9.5.0/postgresdb/bin/pg_config \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local/madlib
Creating rpm package - CentOS 6 (GPDB 5)
Identify build docker image (repository and tag) to use for build by
reviewing the resource named "centos-gpdb-dev-6" in the GPDB 5
Concourse pipeline file.
pipeline file: https://raw.githubusercontent.com/greenplum-db/gpdb/master/concourse/pipelines/pipeline.yml
Example:
repo: pivotaldata/centos-gpdb-dev
tag: 6-gcc6.2-llvm3.7
Retrieve latest greenplum 5 release rpm from Pivotal Network
(https://network.pivotal.io/). A free account can be created to
retrieve the Greenplum 5 rpm artifact.
Product: Pivotal Greenplum
Release: 5.0.0 (latest release)
Example:
Release Download Files: Greenplum Database 5.0.0-beta.6 RPM for RHEL 6
File downloaded: greenplum-db-5.0.0-beta.6-rhel6-x86_64.rpm
Copy Greenplum 5 rpm and Apache MADlib source release tarball into directdory (/opt/downloads) which will be mounted into docker container.
Example:
cp greenplum-db-5.0.0-beta.6-rhel6-x86_64.rpm /opt/downloads
cp apache-madlib-1.11-incubating-src.tar.gz /opt/downloads
Start Docker container in which to buid
Example:
docker run -it --rm -v /opt/downloads:/tmp/downloads pivotaldata/centos-gpdb-dev:6-gcc6.2-llvm3.7 /bin/bash
Build MADlib and rpm package
Example:
yum install -y /tmp/downloads/greenplum-db-5.0.0-beta.6-rhel6-x86_64.rpm
tar xf /tmp/downloads/apache-madlib-1.12-src.tar.gzcd apache-madlib-1.12-src
mkdir build; cd build
cmake -DGREENPLUM_5_PG_CONFIG=/usr/local/greenplum-db/bin/pg_config \
-DCMAKE_INSTALL_PREFIX=/usr/local/madlib \
-DCMAKE_BUILD_TYPE=Release \
make
..
make install
make package
mv madlib-1.12-Linux.rpm apache-madlib-1.12-bin-Linux-GPDB5beta6.rpm
This will generate a file (in the current working directory) with a name similar to madlib-1.12-Linux.rpm. For convenience binary purposes, the file must be renamed to apache-madlib-1.12-bin-Linux-GPDB5beta6.rpm (last step above).
Install and test the MADlib rpm following standard procedures (NOTE: To ensure a clean installation directory, remove /usr/local/madlib prior to installing and testing the rpm).
Creating dmg package - macOS (Postgres 9.4, 9.5 and 9.6)
Required software to create dmg packages
...