mirror of
https://github.com/facebook/proxygen.git
synced 2025-08-07 07:02:53 +03:00
mononoke/integration tests: prepare dependencies for running tests by getdeps
Summary: This diff adds all third party dependencies that are required by getdeps to be able to build and runn Mononoke's integration tests. Also add a stub Makefile with no-op steps that will be filled in next diff. Reviewed By: ahornby Differential Revision: D24251894 fbshipit-source-id: 67384ecfd0ced6762dddc3c6e61feb1240b1162d
This commit is contained in:
committed by
Facebook GitHub Bot
parent
1bdb40b30f
commit
9c3f99b0c0
@@ -156,15 +156,20 @@ class MakeBuilder(BuilderBase):
|
|||||||
env = self._compute_env(install_dirs)
|
env = self._compute_env(install_dirs)
|
||||||
|
|
||||||
# Need to ensure that PREFIX is set prior to install because
|
# Need to ensure that PREFIX is set prior to install because
|
||||||
# libbpf uses it when generating its pkg-config file
|
# libbpf uses it when generating its pkg-config file.
|
||||||
|
# The lowercase prefix is used by some projects.
|
||||||
cmd = (
|
cmd = (
|
||||||
["make", "-j%s" % self.build_opts.num_jobs]
|
["make", "-j%s" % self.build_opts.num_jobs]
|
||||||
+ self.build_args
|
+ self.build_args
|
||||||
+ ["PREFIX=" + self.inst_dir]
|
+ ["PREFIX=" + self.inst_dir, "prefix=" + self.inst_dir]
|
||||||
)
|
)
|
||||||
self._run_cmd(cmd, env=env)
|
self._run_cmd(cmd, env=env)
|
||||||
|
|
||||||
install_cmd = ["make"] + self.install_args + ["PREFIX=" + self.inst_dir]
|
install_cmd = (
|
||||||
|
["make"]
|
||||||
|
+ self.install_args
|
||||||
|
+ ["PREFIX=" + self.inst_dir, "prefix=" + self.inst_dir]
|
||||||
|
)
|
||||||
self._run_cmd(install_cmd, env=env)
|
self._run_cmd(install_cmd, env=env)
|
||||||
|
|
||||||
|
|
||||||
|
@@ -425,7 +425,13 @@ class ManifestParser(object):
|
|||||||
raise Exception("project %s has no builder for %r" % (self.name, ctx))
|
raise Exception("project %s has no builder for %r" % (self.name, ctx))
|
||||||
build_in_src_dir = self.get("build", "build_in_src_dir", "false", ctx=ctx)
|
build_in_src_dir = self.get("build", "build_in_src_dir", "false", ctx=ctx)
|
||||||
if build_in_src_dir == "true":
|
if build_in_src_dir == "true":
|
||||||
|
# Some scripts don't work when they are configured and build in
|
||||||
|
# a different directory than source (or when the build directory
|
||||||
|
# is not a subdir of source).
|
||||||
build_dir = src_dir
|
build_dir = src_dir
|
||||||
|
subdir = self.get("build", "subdir", None, ctx=ctx)
|
||||||
|
if subdir is not None:
|
||||||
|
build_dir = os.path.join(build_dir, subdir)
|
||||||
print("build_dir is %s" % build_dir) # just to quiet lint
|
print("build_dir is %s" % build_dir) # just to quiet lint
|
||||||
|
|
||||||
if builder == "make":
|
if builder == "make":
|
||||||
|
20
build/fbcode_builder/manifests/gnu-bash
Normal file
20
build/fbcode_builder/manifests/gnu-bash
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
[manifest]
|
||||||
|
name = gnu-bash
|
||||||
|
|
||||||
|
[download.os=darwin]
|
||||||
|
url = https://ftp.gnu.org/gnu/bash/bash-5.1-rc1.tar.gz
|
||||||
|
sha256 = 0b2684eb1990329d499c96decfe2459f3e150deb915b0a9d03cf1be692b1d6d3
|
||||||
|
|
||||||
|
[build.os=darwin]
|
||||||
|
# The buildin FreeBSD bash on OSX is both outdated and incompatible with the
|
||||||
|
# modern GNU bash, so for the sake of being cross-platform friendly this
|
||||||
|
# manifest provides GNU bash.
|
||||||
|
# NOTE: This is the 5.1-rc1 version, which is almost the same as what Homebrew
|
||||||
|
# uses (Homebrew installs 5.0 with the 18 patches that in fact make the 5.1-rc1
|
||||||
|
# version).
|
||||||
|
builder = autoconf
|
||||||
|
subdir = bash-5.1-rc1
|
||||||
|
build_in_src_dir = true
|
||||||
|
|
||||||
|
[build.not(os=darwin)]
|
||||||
|
builder = nop
|
15
build/fbcode_builder/manifests/gnu-coreutils
Normal file
15
build/fbcode_builder/manifests/gnu-coreutils
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
[manifest]
|
||||||
|
name = gnu-coreutils
|
||||||
|
|
||||||
|
[download.os=darwin]
|
||||||
|
url = https://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.gz
|
||||||
|
sha256 = d5ab07435a74058ab69a2007e838be4f6a90b5635d812c2e26671e3972fca1b8
|
||||||
|
|
||||||
|
[build.os=darwin]
|
||||||
|
# The buildin FreeBSD version incompatible with the GNU one, so for the sake of
|
||||||
|
# being cross-platform friendly this manifest provides the GNU version.
|
||||||
|
builder = autoconf
|
||||||
|
subdir = coreutils-8.32
|
||||||
|
|
||||||
|
[build.not(os=darwin)]
|
||||||
|
builder = nop
|
15
build/fbcode_builder/manifests/gnu-grep
Normal file
15
build/fbcode_builder/manifests/gnu-grep
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
[manifest]
|
||||||
|
name = gnu-grep
|
||||||
|
|
||||||
|
[download.os=darwin]
|
||||||
|
url = https://ftp.gnu.org/gnu/grep/grep-3.5.tar.gz
|
||||||
|
sha256 = 9897220992a8fd38a80b70731462defa95f7ff2709b235fb54864ddd011141dd
|
||||||
|
|
||||||
|
[build.os=darwin]
|
||||||
|
# The buildin FreeBSD version incompatible with the GNU one, so for the sake of
|
||||||
|
# being cross-platform friendly this manifest provides the GNU version.
|
||||||
|
builder = autoconf
|
||||||
|
subdir = grep-3.5
|
||||||
|
|
||||||
|
[build.not(os=darwin)]
|
||||||
|
builder = nop
|
15
build/fbcode_builder/manifests/gnu-sed
Normal file
15
build/fbcode_builder/manifests/gnu-sed
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
[manifest]
|
||||||
|
name = gnu-sed
|
||||||
|
|
||||||
|
[download.os=darwin]
|
||||||
|
url = https://ftp.gnu.org/gnu/sed/sed-4.8.tar.gz
|
||||||
|
sha256 = 53cf3e14c71f3a149f29d13a0da64120b3c1d3334fba39c4af3e520be053982a
|
||||||
|
|
||||||
|
[build.os=darwin]
|
||||||
|
# The buildin FreeBSD version incompatible with the GNU one, so for the sake of
|
||||||
|
# being cross-platform friendly this manifest provides the GNU version.
|
||||||
|
builder = autoconf
|
||||||
|
subdir = sed-4.8
|
||||||
|
|
||||||
|
[build.not(os=darwin)]
|
||||||
|
builder = nop
|
24
build/fbcode_builder/manifests/jq
Normal file
24
build/fbcode_builder/manifests/jq
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
[manifest]
|
||||||
|
name = jq
|
||||||
|
|
||||||
|
[rpms]
|
||||||
|
jq
|
||||||
|
|
||||||
|
[debs]
|
||||||
|
jq
|
||||||
|
|
||||||
|
[download.not(os=windows)]
|
||||||
|
url = https://github.com/stedolan/jq/releases/download/jq-1.5/jq-1.5.tar.gz
|
||||||
|
sha256 = c4d2bfec6436341113419debf479d833692cc5cdab7eb0326b5a4d4fbe9f493c
|
||||||
|
|
||||||
|
[build.not(os=windows)]
|
||||||
|
builder = autoconf
|
||||||
|
subdir = jq-1.5
|
||||||
|
|
||||||
|
[build.os=windows]
|
||||||
|
builder = nop
|
||||||
|
|
||||||
|
[autoconf.args]
|
||||||
|
# This argument turns off some developers tool and it is recommended in jq's
|
||||||
|
# README
|
||||||
|
--disable-maintainer-mode
|
41
build/fbcode_builder/manifests/mononoke_integration
Normal file
41
build/fbcode_builder/manifests/mononoke_integration
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
[manifest]
|
||||||
|
name = mononoke_integration
|
||||||
|
fbsource_path = fbcode/eden
|
||||||
|
shipit_project = eden
|
||||||
|
shipit_fbcode_builder = true
|
||||||
|
|
||||||
|
[build.not(os=windows)]
|
||||||
|
builder = make
|
||||||
|
subdir = eden/mononoke/tests/integration
|
||||||
|
|
||||||
|
[build.os=windows]
|
||||||
|
# building Mononoke on windows is not supported
|
||||||
|
builder = nop
|
||||||
|
|
||||||
|
[make.build_args]
|
||||||
|
build-getdeps
|
||||||
|
|
||||||
|
[make.install_args]
|
||||||
|
install-getdeps
|
||||||
|
|
||||||
|
[shipit.pathmap]
|
||||||
|
fbcode/eden/mononoke/tests/integration = eden/mononoke/tests/integration
|
||||||
|
|
||||||
|
[shipit.strip]
|
||||||
|
^.*/facebook/.*$
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
jq
|
||||||
|
nmap
|
||||||
|
python-click
|
||||||
|
python-dulwich
|
||||||
|
tree
|
||||||
|
|
||||||
|
[dependencies.os=linux]
|
||||||
|
sqlite3-bin
|
||||||
|
|
||||||
|
[dependencies.os=darwin]
|
||||||
|
gnu-bash
|
||||||
|
gnu-coreutils
|
||||||
|
gnu-grep
|
||||||
|
gnu-sed
|
25
build/fbcode_builder/manifests/nmap
Normal file
25
build/fbcode_builder/manifests/nmap
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
[manifest]
|
||||||
|
name = nmap
|
||||||
|
|
||||||
|
[rpms]
|
||||||
|
nmap
|
||||||
|
|
||||||
|
[debs]
|
||||||
|
nmap
|
||||||
|
|
||||||
|
[download.not(os=windows)]
|
||||||
|
url = https://api.github.com/repos/nmap/nmap/tarball/ef8213a36c2e89233c806753a57b5cd473605408
|
||||||
|
sha256 = eda39e5a8ef4964fac7db16abf91cc11ff568eac0fa2d680b0bfa33b0ed71f4a
|
||||||
|
|
||||||
|
[build.not(os=windows)]
|
||||||
|
builder = autoconf
|
||||||
|
subdir = nmap-nmap-ef8213a
|
||||||
|
build_in_src_dir = true
|
||||||
|
|
||||||
|
[build.os=windows]
|
||||||
|
builder = nop
|
||||||
|
|
||||||
|
[autoconf.args]
|
||||||
|
# Without this option the build was filing to find some third party libraries
|
||||||
|
# that we don't need
|
||||||
|
enable_rdma=no
|
9
build/fbcode_builder/manifests/python-click
Normal file
9
build/fbcode_builder/manifests/python-click
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
[manifest]
|
||||||
|
name = python-click
|
||||||
|
|
||||||
|
[download]
|
||||||
|
url = https://files.pythonhosted.org/packages/d2/3d/fa76db83bf75c4f8d338c2fd15c8d33fdd7ad23a9b5e57eb6c5de26b430e/click-7.1.2-py2.py3-none-any.whl
|
||||||
|
sha256 = dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc
|
||||||
|
|
||||||
|
[build]
|
||||||
|
builder = python-wheel
|
19
build/fbcode_builder/manifests/python-dulwich
Normal file
19
build/fbcode_builder/manifests/python-dulwich
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
[manifest]
|
||||||
|
name = python-dulwich
|
||||||
|
|
||||||
|
# The below links point to custom github forks of project dulwich, because the
|
||||||
|
# 0.18.6 version didn't have an official rollout of wheel packages.
|
||||||
|
|
||||||
|
[download.os=linux]
|
||||||
|
url = https://github.com/lukaspiatkowski/dulwich/releases/download/dulwich-0.18.6-wheel/dulwich-0.18.6-cp36-cp36m-linux_x86_64.whl
|
||||||
|
sha256 = e96f545f3d003e67236785473caaba2c368e531ea85fd508a3bd016ebac3a6d8
|
||||||
|
|
||||||
|
[download.os=darwin]
|
||||||
|
url = https://github.com/lukaspiatkowski/dulwich/releases/download/dulwich-0.18.6-wheel/dulwich-0.18.6-cp37-cp37m-macosx_10_14_x86_64.whl
|
||||||
|
sha256 = 8373652056284ad40ea5220b659b3489b0a91f25536322345a3e4b5d29069308
|
||||||
|
|
||||||
|
[build.not(os=windows)]
|
||||||
|
builder = python-wheel
|
||||||
|
|
||||||
|
[build.os=windows]
|
||||||
|
builder = nop
|
28
build/fbcode_builder/manifests/sqlite3-bin
Normal file
28
build/fbcode_builder/manifests/sqlite3-bin
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
[manifest]
|
||||||
|
name = sqlite3-bin
|
||||||
|
|
||||||
|
[rpms]
|
||||||
|
sqlite
|
||||||
|
|
||||||
|
[debs]
|
||||||
|
sqlite3
|
||||||
|
|
||||||
|
[download.os=linux]
|
||||||
|
url = https://github.com/sqlite/sqlite/archive/version-3.33.0.tar.gz
|
||||||
|
sha256 = 48e5f989eefe9af0ac758096f82ead0f3c7b58118ac17cc5810495bd5084a331
|
||||||
|
|
||||||
|
[build.os=linux]
|
||||||
|
builder = autoconf
|
||||||
|
subdir = sqlite-version-3.33.0
|
||||||
|
|
||||||
|
[build.not(os=linux)]
|
||||||
|
# MacOS comes with sqlite3 preinstalled and don't need Windows here
|
||||||
|
builder = nop
|
||||||
|
|
||||||
|
[dependencies.os=linux]
|
||||||
|
tcl
|
||||||
|
|
||||||
|
[autoconf.args]
|
||||||
|
# This flag disabled tcl as a runtime library used for some functionality,
|
||||||
|
# but tcl is still a required dependency as it is used by the build files
|
||||||
|
--disable-tcl
|
20
build/fbcode_builder/manifests/tcl
Normal file
20
build/fbcode_builder/manifests/tcl
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
[manifest]
|
||||||
|
name = tcl
|
||||||
|
|
||||||
|
[rpms]
|
||||||
|
tcl
|
||||||
|
|
||||||
|
[debs]
|
||||||
|
tcl
|
||||||
|
|
||||||
|
[download]
|
||||||
|
url = https://github.com/tcltk/tcl/archive/core-8-7a3.tar.gz
|
||||||
|
sha256 = 22d748f0c9652f3ecc195fed3f24a1b6eea8d449003085e6651197951528982e
|
||||||
|
|
||||||
|
[build.os=linux]
|
||||||
|
builder = autoconf
|
||||||
|
subdir = tcl-core-8-7a3/unix
|
||||||
|
|
||||||
|
[build.not(os=linux)]
|
||||||
|
# This is for sqlite3 on Linux for now
|
||||||
|
builder = nop
|
34
build/fbcode_builder/manifests/tree
Normal file
34
build/fbcode_builder/manifests/tree
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[manifest]
|
||||||
|
name = tree
|
||||||
|
|
||||||
|
[rpms]
|
||||||
|
tree
|
||||||
|
|
||||||
|
[debs]
|
||||||
|
tree
|
||||||
|
|
||||||
|
[download.os=linux]
|
||||||
|
url = https://salsa.debian.org/debian/tree-packaging/-/archive/debian/1.8.0-1/tree-packaging-debian-1.8.0-1.tar.gz
|
||||||
|
sha256 = a841eee1d52bfd64a48f54caab9937b9bd92935055c48885c4ab1ae4dab7fae5
|
||||||
|
|
||||||
|
[download.os=darwin]
|
||||||
|
# The official package of tree source requires users of non-Linux platform to
|
||||||
|
# comment/uncomment certain lines in the Makefile to build for their platform.
|
||||||
|
# Besauce getdeps.py doesn't have that functionality we just use this custom
|
||||||
|
# fork of tree which has proper lines uncommented for a OSX build
|
||||||
|
url = https://github.com/lukaspiatkowski/tree-command/archive/debian/1.8.0-1-macos.tar.gz
|
||||||
|
sha256 = 9cbe889553d95cf5a2791dd0743795d46a3c092c5bba691769c0e5c52e11229e
|
||||||
|
|
||||||
|
[build.os=linux]
|
||||||
|
builder = make
|
||||||
|
subdir = tree-packaging-debian-1.8.0-1
|
||||||
|
|
||||||
|
[build.os=darwin]
|
||||||
|
builder = make
|
||||||
|
subdir = tree-command-debian-1.8.0-1-macos
|
||||||
|
|
||||||
|
[build.os=windows]
|
||||||
|
builder = nop
|
||||||
|
|
||||||
|
[make.install_args]
|
||||||
|
install
|
Reference in New Issue
Block a user