citus/CONTRIBUTING.md

2.3 KiB

Contributing to Citus

We're happy you want to contribute! You can help us in different ways:

  • Open an issue with suggestions for improvements
  • Fork this repository and submit a pull request

Before accepting any code contributions we ask that Citus contributors sign a Contributor License Agreement (CLA). For an explanation of why we ask this as well as instructions for how to proceed, see the Citus CLA.

Getting and building

Mac

  1. Install Xcode

  2. Install packages with Homebrew

    brew update
    brew install git postgresql
    
  3. Get, build, and test the code

    git clone https://github.com/citusdata/citus.git
    
    cd citus
    ./configure
    make
    make install
    cd src/test/regress
    make check
    

Debian-based Linux (Ubuntu, Debian)

  1. Install build dependencies

    echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | \
         sudo tee /etc/apt/sources.list.d/pgdg.list
    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
         sudo apt-key add -
    sudo apt-get update
    
    sudo apt-get install -y postgresql-server-dev-9.5 postgresql-9.5 \
                            libedit-dev libselinux1-dev libxslt-dev  \
                            libpam0g-dev git flex make
    
  2. Get, build, and test the code

    git clone https://github.com/citusdata/citus.git
    cd citus
    ./configure
    make
    sudo make install
    cd src/test/regress
    make check
    

Red Hat-based Linux (RHEL, CentOS, Fedora)

  1. Find the PostgreSQL 9.5 RPM URL for your repo at yum.postgresql.org

  2. Register its contents with Yum:

    sudo yum install -y <url>
    
  3. Install build dependencies

    sudo yum update -y
    sudo yum groupinstall -y 'Development Tools'
    sudo yum install -y postgresql95-devel postgresql95-server    \
                        libxml2-devel libxslt-devel openssl-devel \
                        pam-devel readline-devel git
    
    git clone https://github.com/citusdata/citus.git
    cd citus
    PG_CONFIG=/usr/pgsql-9.5/bin/pg_config ./configure
    make
    sudo make install
    cd src/test/regress
    make check