Skip to content

srh/rethinkdb-package-builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

131 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RethinkDB Mass Package Builder

   This repo has tools for building RethinkDB on a crapload of
   platforms.  It uses Docker because that's a way to get operating
   system images and run stuff on them.

   Right now, you could run:

       # Mac
       ruby setup.rb

       # Linux
       sudo ruby setup.rb

   Sudo is only necessary if your docker installation needs it.

   This supports kicking off a mass package build for a given
   rethinkdb git commit.  It also supports kicking off an individual
   package build for a particular (rethinkdb git commit, platform)
   pair.

EXAMPLE USAGE:

    ./setup.rb --help

    # build packages, test installation, and copy packages for jammy
    ./setup.rb -c v2.4.3 --v243support --packages --test-pkgs --copy-pkgs --distro jammy

    # view rethinkdb_2.4.3~0jammy_amd64.deb
    ls artifacts/pkgs

BUILD REQUIREMENTS:

   You need Ruby and Docker.

REPRODUCIBILITY:

   These builds are not perfectly reproducible.  They run "apt-get
   update", for example, and fetch unversioned and un-checksummed
   dependencies from their apt sources.  Sometimes package sources
   disappear, or change URLs, causing the Dockerfiles to break.

DIRECTORY STRUCTURE:

   - rdbcheckout - clones rethinkdb and fetches the biggest external
     dependencies.  We have this here so we don't have to re-clone and
     fetch for every platform (a zillion times over).

     Keeps the checkout in /rdb

   - artifacts - output directory (created by setup.rb) for packages,
     dist files, etc.

   - dist, build - common docker recipes that are identical on most
     of their applicable platforms.

   - bionic, buster, stretch, centos8, et al - dockerfiles for building
     on specific platforms

     Copies /rdb from rdbcheckout to /platform, then does its work.

NOTES:

   - The creator of this (Sam Hughes <sam@samuelhughes.com>) is a
     Docker n00b, so feel free to second-guess his decisions.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •