diff --git a/manifest.json b/manifest.json index b628a248f..ef5d52b00 100644 --- a/manifest.json +++ b/manifest.json @@ -400,6 +400,30 @@ } ] }, + { + "platforms": [ + { + "dockerfile": "src/ubuntu/18.04/cross/freebsd/11", + "os": "linux", + "osVersion": "freebsd.11", + "tags": { + "ubuntu-18.04-cross-freebsd-11-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {} + } + } + ] + }, + { + "platforms": [ + { + "dockerfile": "src/ubuntu/18.04/cross/freebsd/12", + "os": "linux", + "osVersion": "freebsd.12", + "tags": { + "ubuntu-18.04-cross-freebsd-12-$(System:TimeStamp)-$(System:DockerfileGitCommitSha)": {} + } + } + ] + }, { "platforms": [ { diff --git a/src/ubuntu/18.04/cross/freebsd/11/Dockerfile b/src/ubuntu/18.04/cross/freebsd/11/Dockerfile new file mode 100644 index 000000000..72f21a0ba --- /dev/null +++ b/src/ubuntu/18.04/cross/freebsd/11/Dockerfile @@ -0,0 +1,5 @@ +FROM mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-coredeps + +RUN apt -y autoremove + +ADD rootfs.x64.tar crossrootfs diff --git a/src/ubuntu/18.04/cross/freebsd/11/hooks/post-build b/src/ubuntu/18.04/cross/freebsd/11/hooks/post-build new file mode 100755 index 000000000..728ba6bf6 --- /dev/null +++ b/src/ubuntu/18.04/cross/freebsd/11/hooks/post-build @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +rm -rf $PWD/rootfs*.tar diff --git a/src/ubuntu/18.04/cross/freebsd/11/hooks/pre-build b/src/ubuntu/18.04/cross/freebsd/11/hooks/pre-build new file mode 100755 index 000000000..fadce29fb --- /dev/null +++ b/src/ubuntu/18.04/cross/freebsd/11/hooks/pre-build @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +$(dirname ${BASH_SOURCE[0]})/../../../../../build-scripts/build-rootfs.sh ubuntu-18.04 freebsd11 x64 diff --git a/src/ubuntu/18.04/cross/freebsd/12/Dockerfile b/src/ubuntu/18.04/cross/freebsd/12/Dockerfile new file mode 100644 index 000000000..72f21a0ba --- /dev/null +++ b/src/ubuntu/18.04/cross/freebsd/12/Dockerfile @@ -0,0 +1,5 @@ +FROM mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-coredeps + +RUN apt -y autoremove + +ADD rootfs.x64.tar crossrootfs diff --git a/src/ubuntu/18.04/cross/freebsd/12/hooks/post-build b/src/ubuntu/18.04/cross/freebsd/12/hooks/post-build new file mode 100755 index 000000000..728ba6bf6 --- /dev/null +++ b/src/ubuntu/18.04/cross/freebsd/12/hooks/post-build @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +rm -rf $PWD/rootfs*.tar diff --git a/src/ubuntu/18.04/cross/freebsd/12/hooks/pre-build b/src/ubuntu/18.04/cross/freebsd/12/hooks/pre-build new file mode 100755 index 000000000..2bd7d4174 --- /dev/null +++ b/src/ubuntu/18.04/cross/freebsd/12/hooks/pre-build @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +$(dirname ${BASH_SOURCE[0]})/../../../../../build-scripts/build-rootfs.sh ubuntu-18.04 freebsd12 x64 diff --git a/src/ubuntu/18.04/crossdeps/Dockerfile b/src/ubuntu/18.04/crossdeps/Dockerfile index 96f3efb84..17e4f9798 100644 --- a/src/ubuntu/18.04/crossdeps/Dockerfile +++ b/src/ubuntu/18.04/crossdeps/Dockerfile @@ -21,6 +21,11 @@ RUN apt-get update \ make \ qemu \ qemu-user-static \ + libbz2-dev \ + libz-dev \ + liblzma-dev \ + libarchive-dev \ + libbsd-dev \ && rm -rf /var/lib/apt/lists/* RUN apt-get update \ @@ -31,4 +36,4 @@ RUN apt-get update \ llvm-9 \ python-lldb-6.0 \ && rm -rf /var/lib/apt/lists/* - \ No newline at end of file + diff --git a/src/ubuntu/build-scripts/build-rootfs.sh b/src/ubuntu/build-scripts/build-rootfs.sh index 656347572..ecfae03d3 100755 --- a/src/ubuntu/build-scripts/build-rootfs.sh +++ b/src/ubuntu/build-scripts/build-rootfs.sh @@ -32,7 +32,7 @@ do echo "Using $dockerCrossDepsTag to clone arcade to fetch scripts used to build cross-toolset" docker exec $buildRootFSContainer \ - git clone https://github.com/dotnet/arcade /scripts + git clone --depth 1 https://github.com/dotnet/arcade /scripts if [ $? -ne 0 ]; then echo "Rootfs build failed: `git clone https://github.com/dotnet/arcade /scripts` returned error"