Commit Graph

262 Commits

Author SHA1 Message Date
Alvin Moore 45868e9198 Updated the build docker file to be Centos-based 2019-04-22 09:06:55 -07:00
Alvin Moore 2bea99591e Merge branch 'release-6.1' of copy of master
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
2019-04-17 15:51:48 -07:00
Alvin Moore 799a9d2f18
Updated CMake PRB (#1463)
* Added support for testing cpack and defined very long directory name for source because of problem with building debug rpms

* Added support for building rpms by adding file package

* Added preinstall target to prevent cpack from having to do so much compilation as single thread
2019-04-17 15:38:09 -07:00
Andrew Noyes 5586f44303 Fix return code plumbing 2019-04-15 18:08:45 -07:00
Evan Tschannen 985e1de467 Update documentation and protocol version for release 6.1.0 2019-04-02 18:39:24 -07:00
Alvin Moore 48d25c55e3 Added backup_agent to TGZ package 2019-04-02 11:12:08 -07:00
Andrew Noyes 2442594b7f Exit non-zero if any tests fail 2019-03-19 16:28:42 -07:00
Andrew Noyes 9da6518d17 Timeout fdbcli commands 2019-03-19 16:28:42 -07:00
Andrew Noyes 9e1e88eb5a Report Docker-ID 2019-03-19 16:28:42 -07:00
Andrew Noyes 24bffa9f4d Install python on debian 2019-03-19 16:28:42 -07:00
Andrew Noyes 78ca1b5759 Test loading c library from python bindings 2019-03-19 16:28:42 -07:00
Andrew Noyes afa5043d98 Fix some errors found by running bash with -u 2019-03-19 16:28:42 -07:00
Andrew Noyes 657c11b00b Add snowflake-ci to docker-compose
This is intended to be used for easy reproduction of failures found by
snowflake's planned CI.
2019-03-08 15:03:56 -08:00
mpilman 668eaeb8ae Packages tested and all seems working 2019-03-07 16:49:29 -08:00
mpilman 51ccdb1c9b Remove pidof hack as it was not stable 2019-03-07 16:49:29 -08:00
mpilman da72306642 several minor bug fixes 2019-03-07 16:49:29 -08:00
mpilman 66cf5438bd Account for rpmsave in keep_config test 2019-03-07 16:49:29 -08:00
mpilman 55f4d78fcf Support generating el6 and el7 rpms 2019-03-07 16:49:29 -08:00
mpilman e8624efb3b several minor improvements 2019-03-07 16:49:29 -08:00
mpilman 2b11a66ff9 Improved package testing
The requirements changed here - so in order to test these
cmake changes properly, we need a framework that does that
2019-03-07 16:49:29 -08:00
mpilman 42e0a89a66 This makes package generation work
Resulting packages are not tested yet
2019-03-07 16:49:29 -08:00
Vishesh Yadav f699f85e30 boost: Update README and Dockerfile to use 1.67 2019-03-05 22:06:12 -08:00
Alex Miller 83629b4d47 Force Make to push $CC into the environment.
This fixes a long standing weird issue of doing non-docker builds of FDB
can hit problems of $CC not being defined in link-wrapper.sh.  It turns
out that this is because the official docker image defines CC in the
environment, and no one else does that.

Instead, we can just force Make to propagate its setting of CC into the
environment, thus requiring no extra configuration to be able to do a
build.
2019-02-28 14:50:22 -08:00
mpilman d08aad7fc4 Old build system now working on both docker images 2019-02-28 14:24:52 -08:00
mpilman d0c06ec8c0 Make old build system work on build/cmake/Dockerfile 2019-02-28 14:24:52 -08:00
Jingyu Zhou 4f9b2b16b5 Bump docker file version to 0.0.6 2019-02-28 00:25:11 -08:00
Jingyu Zhou 8e13d22315 Add elfutils tool for building RPMs.
Without this tool, RPM compilation complains eu-strip not found:

WARNING: No build ID note found in /opt/foundation/build/_CPack_Packages/Linux/RPM/foundationdb-6.1.0-/clients/usr/bin/fdbcli
/usr/lib/rpm/find-debuginfo.sh: line 104: eu-strip: command not found
2019-02-28 00:25:11 -08:00
Andrew Noyes 0503471ac1 Rename ../src in build/cmake/build.sh
Before this change:
$ sudo --preserve-env docker-compose run build
Starting cmake_common_1 ... done
Num commands 1
Command: build
CMake Error: The source directory "/foundationdb/deep/directory/as/debuginfo/doesnt/work/otherwise/src" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
2019-02-21 14:35:14 -08:00
mpilman a225204965 put code in foundationdb dir in container
Generating the documentation does not work
if the foundationdb code is not in a directory
called `foundationdb`. This is imho a bug.
However, this should be fixed in another PR.

For now I simply renamed the directory in
docker-compose
2019-02-19 11:11:43 -08:00
mpilman 71baffa7d0 Address review 2019-02-19 11:11:43 -08:00
Andrew Noyes 5b3e6f3ba7 Update build/cmake/package_tester/modules/docker.sh
Co-Authored-By: mpilman <markus@pilman.ch>
2019-02-19 11:11:43 -08:00
mpilman 81e482b17e fix invalid assignment 2019-02-19 11:11:43 -08:00
mpilman 4c80b1796a renamed util-fun success to make purpose clearer 2019-02-19 11:11:43 -08:00
mpilman 3350a5ffe5 added documentation for test definitions 2019-02-19 11:11:43 -08:00
Andrew Noyes 2d25e7d08d Update build/cmake/package_tester/modules/arguments.sh
Co-Authored-By: mpilman <markus@pilman.ch>
2019-02-19 11:11:43 -08:00
Andrew Noyes c9f7f50907 Update build/cmake/package_tester/modules/test_args.sh
Co-Authored-By: mpilman <markus@pilman.ch>
2019-02-19 11:11:43 -08:00
mpilman 983ddaaed8 use fail instead of ugly `?`-assignment 2019-02-19 11:11:43 -08:00
mpilman f47b9fe8e5 delete containers, not images 2019-02-19 11:11:43 -08:00
Andrew Noyes 15eb996280 Add test-fast and test to docker compose and build.sh 2019-02-19 11:11:43 -08:00
mpilman b21d9e1a78 Add multi-threading feature to package test 2019-02-19 11:11:43 -08:00
mpilman e8b6b64f3a Made it possible to implement and run a test suite 2019-02-19 11:11:43 -08:00
mpilman a2e4dc042f Implement automatic package verification 2019-02-19 11:11:43 -08:00
mpilman 0bbbfb6ee3 Address Andrew's review comments 2019-02-15 00:01:42 -08:00
mpilman a0b20ef2c1 Add initscripts dependency to foundationdb-server 2019-02-15 00:01:42 -08:00
mpilman b06aa3b8ea Several bug fixes - debian package working
Did some manual minor testing on the debian package
2019-02-15 00:01:42 -08:00
mpilman a20e58bb4c Added linux-pkgs command to docker-compose file 2019-02-15 00:01:42 -08:00
mpilman 990e084fa2 Debian packages are successfully generated 2019-02-15 00:01:42 -08:00
mpilman ddddda7328 docker-compose can now build rpm
weirdly it still generates a foundationd-unspecified
rpm. However, it is empty and can be ignored for now
2019-02-15 00:01:42 -08:00
mpilman 5f25e5cb32 docker container and docker-compose for cmake
This is still in the testing-phase. However, it should
be mostly functional
2019-02-15 00:01:42 -08:00
Alex Miller 21ce26a681 Merge release-6.0 into master 2019-02-14 14:24:35 -08:00
Alvin Moore c365b030c8 Added support for variable build directory 2019-02-12 17:01:04 -08:00
Alvin Moore c325465dac Added support for a type of correctness service run against the fdbserver binary via docker-compose 2019-02-12 16:22:56 -08:00
John Brownlee 50d1b7b09d
Merge pull request #1134 from AlvinMooreSr/make-bins
Added Binaries Package Target
2019-02-11 14:01:40 -08:00
Alvin Moore c77d75294f Added support for building via cmake when present via docker-compose
Added support for running ctests via docker-compose
2019-02-11 13:02:07 -08:00
Alvin Moore cbc9e651d5 Added support for python3 and cmake 2019-02-08 12:43:10 -08:00
Alvin Moore 6b45ca9a46 Added support for building binaries package 2019-02-08 10:53:46 -08:00
A.J. Beamon 192a48105c
Merge pull request #1124 from apple/release-6.0
Merge Release 6.0 into master
2019-02-07 12:22:40 -08:00
Alvin Moore 842872e3de Added build services within docker compose 2019-02-01 11:31:11 -08:00
Alvin Moore fd35a46888 Incremented the version of the build docker due to the addition of the boost 1.67 directory 2019-01-31 11:10:34 -08:00
Alex Miller 09aa1ce55b Add boost-1.67.0 to the Dockerfile alongside 1.52.0 2019-01-07 17:17:09 -08:00
Markus Pilman dce290909d fdbserver now compiling 2018-12-13 14:13:47 -08:00
Evan Tschannen e45952bc53 Merge branch 'release-6.0'
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
#	fdbclient/BackupContainer.actor.cpp
#	fdbclient/BlobStore.actor.cpp
#	fdbclient/HTTP.actor.cpp
#	tests/BlobStore.txt
#	versions.target
2018-11-13 16:06:39 -08:00
Alvin Moore ad53c4823f Removed the clean from the build commands
Removed unneeded environment variables from doc build
2018-11-08 08:31:36 -08:00
Alvin Moore 3dedaebf05 Synced docker compose file with dockerfile 2018-11-02 10:56:18 -07:00
Alvin Moore e7fb4fa13b Added version to dockerfile 2018-11-02 10:36:40 -07:00
Alvin Moore 25a71d2ea0 Added clean to the build commands 2018-11-02 08:43:52 -07:00
Alvin Moore 30d6f80aeb Added support for building snapshot, release, and documentation packages via docker compose 2018-11-01 14:29:01 -07:00
Alvin Moore ecace6f7d2 Fixed requirement for building documentation 2018-11-01 14:28:17 -07:00
Alex Miller 499560097f Fix CXXFLAGS being set for .c files in compile_commands.json 2018-08-14 15:50:26 -07:00
Alex Miller 9bcc7685d2 Add creating compile_commands.json to the build system.
I'm really not proud of how I did this though.

It must be run from the same environment as one's editor (ie. not in the
docker image) so that the paths are correct.
2018-08-14 15:50:26 -07:00
Alex Miller 01659e34cc Move TLS libs into STATIC_LIBS to avoid having a make dependency on them.
And fix STATIC_LIBS to be cross platform.
2018-07-04 00:29:53 -07:00
Alvin Moore c3f88dbfe1 Merge branch 'master' of github.com:apple/foundationdb into tls-static 2018-07-01 23:13:57 -07:00
Alvin Moore 132e2d9267 Defined TLS build flags for projects
Updated TLS documentation
2018-07-01 22:49:39 -07:00
Alvin Moore f4937b261c Removed TLS target from packages 2018-06-27 07:50:26 -07:00
Alvin Moore c6e18f5b2b Removed TLS target
Changed TLS documentation to not specify it as a plugin but compiled in
2018-06-27 07:46:04 -07:00
Alvin Moore 65d8b38ae9 Changed generic plugin code to work as expected plugin code except for TLS use case
Defined TLS plugin name constant
Changed TLS plugin name to get_tls_plugin
Fixed link script
Removed compilation flags from info make target
2018-06-26 16:01:25 -07:00
Alvin Moore dd967bd9e2 Removed developmental debug messages 2018-06-26 14:44:21 -07:00
Alvin Moore ef8de426d3 Changed the TLS_DISABLED macro
Disable TLS within Windows until working
2018-06-26 12:08:32 -07:00
Alex Miller 88b2efb60a
Merge pull request #510 from Wintersmith/master
Fix for issue #491 - added import for print_function
2018-06-20 17:02:03 -07:00
Alex Miller 8095860fee Fix MacOS build by duplicating a build recipe.
macOS `make` doesn't understand define, but also doesn't error on it, so it
just silently doesn't build cpp files.
2018-06-20 14:35:02 -07:00
Wintersmith ded17c6cd6 Fix for issue #491 - added import for print_function, changed all occurences of print to a function 2018-06-20 21:44:24 +01:00
Alex Miller 61031a397f Fix two issues from .actor.g.cpp move from commit aead2586
1. "Compiling     file" messages were lost, and have been returned

2. Dependency information for actor compiled files were lost, as it turned out
to be location dependant in a way that wasn't previously understood.
Dependencies has been verified to work correctly now.
2018-06-19 17:46:42 -07:00
Alex Miller aead2586f4 Move .actor.g.cpp files to .obj.
This means that grep over our source tree doesn't return 2x the results.
2018-06-18 16:47:27 -07:00
Alex Miller d92e14cbc4
Merge pull request #307 from nbraud/scver.mk
Fixup build/scver.mk and allow explicitly specifying the VERSION_ID
2018-05-09 21:05:11 -07:00
Evan Tschannen 7acdc314e4 Merge branch 'release-5.2'
# Conflicts:
#	fdbrpc/TLSConnection.actor.cpp
2018-05-08 13:22:53 -07:00
A.J. Beamon ca720e1540
Merge pull request #297 from apple/release-5.2
Merge 5.2 to Master
2018-05-08 12:04:20 -07:00
Alvin Moore 05c1a887f2 Changed the name of the TLS artifact to fdb-libressl-plugin.so 2018-05-07 16:47:46 -07:00
Nicolas Braud-Santoni 43f68612e3 build/scver.mk: Support externally setting version IDs
This is convenient for Linux distributions, like Debian, which do not build the
package in an environment where the VCS metadata is available.
2018-05-07 03:14:23 +02:00
Nicolas Braud-Santoni 2c006934b5 build/scver.mk: Use else-if rather than nested conditionals
See the GNU Make manual for the syntax reference:
  https://www.gnu.org/software/make/manual/html_node/Conditional-Syntax.html
2018-05-07 02:54:31 +02:00
Nicolas Braud-Santoni 6f6499690c Fixup build/scver.mk 2018-05-07 02:31:04 +02:00
Alvin Moore f023db182c Added target for building TLS plugin
Added TLS target to packages target
2018-04-27 13:44:51 -07:00
Alexander Lagerström bec5335b34 Makes apt-get update run before apt-get install in Dockerfile
To comply with best practises when writing Dockerfiles I have
moved that apt-get update to run at the same layer as the
apt-get install command.
2018-04-23 13:30:54 +02:00
Alex Miller be3780d6b0 Add an -fPIC build of libressl to the build image.
Even if ubuntu provided a libressl package, we'd still need to build this
ourself, because we wish to statically link all the dependencies into the
plugin.  This requires a relocatable (position-independant) static library, and
it would be very unlikely for Ubuntu to offer a libressl-pic package.
2018-04-12 14:13:02 -07:00
Alex Miller f0dd14f109
Merge pull request #122 from AlvinMooreSr/release-5.1-docker
Added Dockerfile build file for building packages
2018-04-10 14:46:25 -07:00
Alec Grieser ff956c3fde
removed references to nodejs bindings
issue: Node.js Bindings #129
2018-04-06 17:17:45 -07:00
Alvin Moore 292a570796 Specified path to gcc for ccache to work 2018-03-29 10:26:51 -07:00
Alvin Moore b84a0e789f Added Dockerfile build file for building packages
Removed package dependency not preventing Dockerfile from building packages target
2018-03-27 13:16:09 -07:00
Alvin Moore 4c8395fba7 Removed outdated information messages 2018-03-19 20:12:49 -07:00
Alvin Moore 7006f878c1 Integrated documentation building into root Makefile 2018-03-13 13:09:52 -07:00
A.J. Beamon 3b721615e5
Merge pull request #16 from AlvinMooreSr/release-5.0
Fixed suffix for build dependency
2018-03-05 08:50:07 -08:00
Alvin Moore 3c3460f201 Fixed suffix for build dependency 2018-03-01 11:17:59 -08:00
Alvin Moore a1888c0943 Fixed makefile 2018-02-23 08:23:16 -08:00
Alvin Moore 5b7af56b62 Fixed package makefile 2018-02-23 08:21:59 -08:00
Alec Grieser 0bae9880f1 remove trailing whitespace from our copyright headers ; fixed formatting of python setup.py 2018-02-21 10:25:11 -08:00
Alec Grieser 57986cfe00 format python files to be roughtly pep8 compliant 2018-01-24 19:06:58 -08:00
A.J. Beamon a5d63ce1e1 Patch up the makefiles and remove references to the completable bindings 2017-12-13 11:07:19 -08:00
Alex Miller 34b626d120 Revert adding hardening options to compile.
This appears to have caused performance regressions, which will need to be investigated.

This reverts commit 0b0284ba21989a0b8377f0a4d1057e3e7cd5fae1.
This reverts commit 4bde728b0eb8d277c8f59bfaf24869da67c68c47.
2017-12-11 17:12:46 -08:00
Alex Miller 1be6fdf687 Fix hardening compile under MacOS.
...via moving it all to linux-only.  Clang is picky about flags, and the osx
linker doesn't accept -z flags.  Technically, this will likely break
clang-on-linux, but that's not a config that we run and I'll probably end up
fixing it later.
2017-12-05 14:19:29 -08:00
Alex Miller f422e5939b Merge pull request #216 from cie/alexmiller/hardening
Add hardening flags to our compile.
2017-12-05 11:45:21 -08:00
Alec Grieser 9d5aa5fc96 pass -Xlint to javac ; fix kvetching 2017-12-04 09:56:35 -08:00
Alex Miller f57880607a Add hardening flags to our compile.
This makes us fully position independant and have a noexec stack.  There's a
small chance that the former part of that can interfere with
gdb/corefiles/stackdumps, but we'll handle that if it becomes a problem.
2017-12-01 19:47:55 -08:00
FDB Dev Team a674cb4ef4 Initial repository commit 2017-05-25 13:48:44 -07:00