srh / rethinkdb-package-builder Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
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. In general we will (at some point) want to support kicking off a mass package build for a given rethinkdb git commit. We also want to support 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. 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 - bionic, buster, strech, 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 <[email protected]>) is a Docker n00b, so feel free to second-guess his decisions. SEARCH TERMS: - "DISAPPEND": A TODO item for a build task that should be moved elsewhere. But currently it isn't, to avoid re-fetching and re-building. In general, these Dockerfiles are developed in an append-only manner, because rebuilding images is really slow. But if and when I have to touch the core file, I'll want to clean up that cruft.
Step 3/7 : RUN yum install -y openssl-devel libcurl-devel wget tar m4 git-core gcc-c++ which make python2 boost-devel bzip2 patch clang perl rubygems ruby-devel rpm-build
---> Running in 936adb675d6c
CentOS Linux 8 - AppStream 36 B/s | 38 B 00:01
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
The command '/bin/sh -c yum install -y openssl-devel libcurl-devel wget tar m4 git-core gcc-c++ which make python2 boost-devel bzip2 patch clang perl rubygems ruby-devel rpm-build' returned a non-zero code: 1
Right now, all builds with --builds
use a build/Dockerfile
. It might be handy to have some way to specify ALLOW_WARNINGS=0 when testing out a new platform (which passes -Werror
to the compiler), so that we can use rethinkdb-package-builder to confirm the latest version of RethinkDB builds without warnings on any given new OS version.
Maybe a new option, --werror-builds
, that uses a new werror_builds/Dockerfile
, is the way to go.
Some ubuntu docker images already have an s390x tag, but for those that have no s390x tags, the https://hub.docker.com/r/s390x/ubuntu contains docker images.
So: using the https://hub.docker.com/r/s390x/ubuntu images for s390x builds over the regular ubuntu images would allow having s390x build.
Sorry, too much s390x. Also, it is not a priority thing either. All build steps are the same, even the packages, only the base image should be "replaced" in the Dockerfiles.
Hello Sam,
It's possible to support/add arm64 arch?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.