From 4ae3a833489f7cfe8558613a926aff82cd67cb2b Mon Sep 17 00:00:00 2001 From: Andrew Hsu Date: Sat, 11 Aug 2018 00:09:13 +0000 Subject: [PATCH 1/5] DISABLE_WARN_OUTSIDE_CONTAINER when building RPMs This will save time waiting for timeout to expire. Upstream-commit: 11a6221a830d7ffc3291e5b8749e364b18e07626 Component: packaging --- components/packaging/rpm/centos-7/docker-ce.spec | 2 +- components/packaging/rpm/fedora-27/docker-ce.spec | 2 +- components/packaging/rpm/fedora-28/docker-ce.spec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/packaging/rpm/centos-7/docker-ce.spec b/components/packaging/rpm/centos-7/docker-ce.spec index 41318c4af9..cf061b94a0 100644 --- a/components/packaging/rpm/centos-7/docker-ce.spec +++ b/components/packaging/rpm/centos-7/docker-ce.spec @@ -64,7 +64,7 @@ mkdir -p /go/src/github.com/docker rm -f /go/src/github.com/docker/cli ln -s /root/rpmbuild/BUILD/src/cli /go/src/github.com/docker/cli pushd /go/src/github.com/docker/cli -make VERSION=%{_origversion} GITCOMMIT=%{_gitcommit} dynbinary manpages # cli +DISABLE_WARN_OUTSIDE_CONTAINER=1 make VERSION=%{_origversion} GITCOMMIT=%{_gitcommit} dynbinary manpages # cli popd pushd engine for component in tini "proxy dynamic" "runc all" "containerd dynamic";do diff --git a/components/packaging/rpm/fedora-27/docker-ce.spec b/components/packaging/rpm/fedora-27/docker-ce.spec index cc13455dd1..fae14370ba 100644 --- a/components/packaging/rpm/fedora-27/docker-ce.spec +++ b/components/packaging/rpm/fedora-27/docker-ce.spec @@ -64,7 +64,7 @@ mkdir -p /go/src/github.com/docker rm -f /go/src/github.com/docker/cli ln -s /root/rpmbuild/BUILD/src/cli /go/src/github.com/docker/cli pushd /go/src/github.com/docker/cli -make VERSION=%{_origversion} GITCOMMIT=%{_gitcommit} dynbinary manpages # cli +DISABLE_WARN_OUTSIDE_CONTAINER=1 make VERSION=%{_origversion} GITCOMMIT=%{_gitcommit} dynbinary manpages # cli popd pushd engine for component in tini "proxy dynamic" "runc all" "containerd dynamic";do diff --git a/components/packaging/rpm/fedora-28/docker-ce.spec b/components/packaging/rpm/fedora-28/docker-ce.spec index cc13455dd1..fae14370ba 100644 --- a/components/packaging/rpm/fedora-28/docker-ce.spec +++ b/components/packaging/rpm/fedora-28/docker-ce.spec @@ -64,7 +64,7 @@ mkdir -p /go/src/github.com/docker rm -f /go/src/github.com/docker/cli ln -s /root/rpmbuild/BUILD/src/cli /go/src/github.com/docker/cli pushd /go/src/github.com/docker/cli -make VERSION=%{_origversion} GITCOMMIT=%{_gitcommit} dynbinary manpages # cli +DISABLE_WARN_OUTSIDE_CONTAINER=1 make VERSION=%{_origversion} GITCOMMIT=%{_gitcommit} dynbinary manpages # cli popd pushd engine for component in tini "proxy dynamic" "runc all" "containerd dynamic";do From b290116fb425f64ae3357f3f72f2ca875ca0fab8 Mon Sep 17 00:00:00 2001 From: Andrew Hsu Date: Sun, 12 Aug 2018 07:46:30 +0000 Subject: [PATCH 2/5] hardcode epoch so yum-builddep will work Looks like yum-builddep will only work if rpmlint passed on the spec file and the spec file errors out on Epoch not being hardcoded. Signed-off-by: Andrew Hsu Upstream-commit: 42b49f6556022ecba47801f4639ddbc7864c9fe0 Component: packaging --- components/packaging/rpm/Makefile | 2 -- components/packaging/rpm/centos-7/docker-ce.spec | 2 +- components/packaging/rpm/fedora-27/docker-ce.spec | 2 +- components/packaging/rpm/fedora-28/docker-ce.spec | 2 +- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/components/packaging/rpm/Makefile b/components/packaging/rpm/Makefile index c0fe38599d..edcade9976 100644 --- a/components/packaging/rpm/Makefile +++ b/components/packaging/rpm/Makefile @@ -5,10 +5,8 @@ GITCOMMIT=$(shell cd $(ENGINE_DIR) && git rev-parse --short HEAD) VERSION?=0.0.0-dev GO_VERSION:=1.10.3 GEN_RPM_VER=$(shell ./gen-rpm-ver $(ENGINE_DIR) $(VERSION)) -EPOCH?=2 CHOWN=docker run --rm -i -v $(CURDIR):/v -w /v alpine chown RPMBUILD=docker run --privileged --rm -i\ - -e EPOCH="$(EPOCH)" \ -v $(CURDIR)/rpmbuild/SOURCES:/root/rpmbuild/SOURCES \ -v $(CURDIR)/rpmbuild/BUILD:/root/rpmbuild/BUILD \ -v $(CURDIR)/rpmbuild/BUILDROOT:/root/rpmbuild/BUILDROOT \ diff --git a/components/packaging/rpm/centos-7/docker-ce.spec b/components/packaging/rpm/centos-7/docker-ce.spec index cf061b94a0..0aafe77923 100644 --- a/components/packaging/rpm/centos-7/docker-ce.spec +++ b/components/packaging/rpm/centos-7/docker-ce.spec @@ -1,7 +1,7 @@ Name: docker-ce Version: %{_version} Release: %{_release}%{?dist} -Epoch: %{getenv:EPOCH} +Epoch: 2 Summary: The open-source application container engine Group: Tools/Docker License: ASL 2.0 diff --git a/components/packaging/rpm/fedora-27/docker-ce.spec b/components/packaging/rpm/fedora-27/docker-ce.spec index fae14370ba..0d62e038d5 100644 --- a/components/packaging/rpm/fedora-27/docker-ce.spec +++ b/components/packaging/rpm/fedora-27/docker-ce.spec @@ -1,7 +1,7 @@ Name: docker-ce Version: %{_version} Release: %{_release}%{?dist} -Epoch: %{getenv:EPOCH} +Epoch: 2 Summary: The open-source application container engine Group: Tools/Docker License: ASL 2.0 diff --git a/components/packaging/rpm/fedora-28/docker-ce.spec b/components/packaging/rpm/fedora-28/docker-ce.spec index fae14370ba..0d62e038d5 100644 --- a/components/packaging/rpm/fedora-28/docker-ce.spec +++ b/components/packaging/rpm/fedora-28/docker-ce.spec @@ -1,7 +1,7 @@ Name: docker-ce Version: %{_version} Release: %{_release}%{?dist} -Epoch: %{getenv:EPOCH} +Epoch: 2 Summary: The open-source application container engine Group: Tools/Docker License: ASL 2.0 From 26c6ae977006a0b0de4cd43988c9a4adb8cace12 Mon Sep 17 00:00:00 2001 From: Andrew Hsu Date: Sun, 12 Aug 2018 07:48:37 +0000 Subject: [PATCH 3/5] refactor centos-7 Dockerfile for multi-stage Also moved package deps into spec file BuildRequires. Had to hard-code Epoch in spec file in order to realize deps with yum-builddep. Signed-off-by: Andrew Hsu Upstream-commit: 784a53cec5061e6a718acc3a7104c61215c15078 Component: packaging --- .../packaging/rpm/centos-7/Dockerfile.aarch64 | 34 ++++++------------- .../packaging/rpm/centos-7/Dockerfile.x86_64 | 34 ++++++------------- .../packaging/rpm/centos-7/docker-ce.spec | 9 +++++ 3 files changed, 31 insertions(+), 46 deletions(-) diff --git a/components/packaging/rpm/centos-7/Dockerfile.aarch64 b/components/packaging/rpm/centos-7/Dockerfile.aarch64 index 53517be33f..591216bcc3 100644 --- a/components/packaging/rpm/centos-7/Dockerfile.aarch64 +++ b/components/packaging/rpm/centos-7/Dockerfile.aarch64 @@ -1,33 +1,21 @@ -FROM arm64v8/centos:7 -RUN yum groupinstall -y "Development Tools" -RUN yum -y swap -- remove systemd-container systemd-container-libs -- install systemd systemd-libs -RUN yum install -y \ - glibc-static \ - btrfs-progs-devel \ - device-mapper-devel \ - libseccomp-devel \ - libselinux-devel \ - libtool-ltdl-devel \ - selinux-policy-devel \ - systemd-devel \ - pkgconfig \ - tar \ - git \ - cmake \ - rpmdevtools \ - vim-common - +FROM alpine:latest as golang +RUN apk add curl ARG GO_VERSION +RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-arm64.tar.gz" | tar xzC /usr/local + +FROM centos:7 ENV DISTRO centos ENV SUITE 7 -RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-arm64.tar.gz" | tar xzC /usr/local -RUN mkdir -p /go ENV GOPATH=/go -ENV PATH $PATH:/usr/local/go/bin:/go/bin +ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin ENV AUTO_GOPATH 1 ENV DOCKER_BUILDTAGS pkcs11 seccomp selinux ENV RUNC_BUILDTAGS seccomp selinux -RUN mkdir -p /go/src/github.com/docker && mkdir -p /go/src/github.com/opencontainers COPY docker-ce.spec /root/rpmbuild/SPECS/docker-ce.spec +RUN yum install -y rpm-build rpmlint +RUN rpmlint /root/rpmbuild/SPECS/docker-ce.spec # make sure spec file is ok before installing build deps +RUN yum-builddep -y /root/rpmbuild/SPECS/docker-ce.spec # this always exits 0 so need to rpmlint before running +RUN mkdir -p /go/src/github.com/docker /go/src/github.com/opencontainers +COPY --from=golang /usr/local/go /usr/local/go/ WORKDIR /root/rpmbuild ENTRYPOINT ["/bin/rpmbuild"] diff --git a/components/packaging/rpm/centos-7/Dockerfile.x86_64 b/components/packaging/rpm/centos-7/Dockerfile.x86_64 index 7cdc495480..64e7e12301 100644 --- a/components/packaging/rpm/centos-7/Dockerfile.x86_64 +++ b/components/packaging/rpm/centos-7/Dockerfile.x86_64 @@ -1,33 +1,21 @@ -FROM centos:7 -RUN yum groupinstall -y "Development Tools" -RUN yum -y swap -- remove systemd-container systemd-container-libs -- install systemd systemd-libs -RUN yum install -y \ - glibc-static \ - btrfs-progs-devel \ - device-mapper-devel \ - libseccomp-devel \ - libselinux-devel \ - libtool-ltdl-devel \ - selinux-policy-devel \ - systemd-devel \ - pkgconfig \ - tar \ - git \ - cmake \ - rpmdevtools \ - vim-common - +FROM alpine:latest as golang +RUN apk add curl ARG GO_VERSION +RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local + +FROM centos:7 ENV DISTRO centos ENV SUITE 7 -RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local -RUN mkdir -p /go ENV GOPATH=/go -ENV PATH $PATH:/usr/local/go/bin:/go/bin +ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin ENV AUTO_GOPATH 1 ENV DOCKER_BUILDTAGS pkcs11 seccomp selinux ENV RUNC_BUILDTAGS seccomp selinux -RUN mkdir -p /go/src/github.com/docker && mkdir -p /go/src/github.com/opencontainers COPY docker-ce.spec /root/rpmbuild/SPECS/docker-ce.spec +RUN yum install -y rpm-build rpmlint +RUN rpmlint /root/rpmbuild/SPECS/docker-ce.spec # make sure spec file is ok before installing build deps +RUN yum-builddep -y /root/rpmbuild/SPECS/docker-ce.spec # this always exits 0 so need to rpmlint before running +RUN mkdir -p /go/src/github.com/docker /go/src/github.com/opencontainers +COPY --from=golang /usr/local/go /usr/local/go/ WORKDIR /root/rpmbuild ENTRYPOINT ["/bin/rpmbuild"] diff --git a/components/packaging/rpm/centos-7/docker-ce.spec b/components/packaging/rpm/centos-7/docker-ce.spec index 0aafe77923..f20f7cb614 100644 --- a/components/packaging/rpm/centos-7/docker-ce.spec +++ b/components/packaging/rpm/centos-7/docker-ce.spec @@ -17,6 +17,15 @@ Packager: Docker %global is_systemd 1 %global with_selinux 1 +BuildRequires: make +BuildRequires: cmake +BuildRequires: gcc +BuildRequires: git +BuildRequires: glibc-static +BuildRequires: libtool-ltdl-devel +BuildRequires: libseccomp-devel +BuildRequires: device-mapper-devel +BuildRequires: btrfs-progs-devel BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(libsystemd-journal) From 1bf6cebb40b98ce595c4c6e45f54186a9e136cd9 Mon Sep 17 00:00:00 2001 From: Andrew Hsu Date: Sat, 11 Aug 2018 02:09:34 +0000 Subject: [PATCH 4/5] refactor fedora-27 Dockerfile for multi-stage Also moved package deps into spec file BuildRequires. Had to hard-code Epoch in spec file in order to realize deps with yum-builddep. Signed-off-by: Andrew Hsu Upstream-commit: b09bb012dd220e822aa6e90ef20d9cb83ccada8b Component: packaging --- .../packaging/rpm/fedora-27/Dockerfile.aarch64 | 15 +++++++++------ .../packaging/rpm/fedora-27/Dockerfile.x86_64 | 15 +++++++++------ components/packaging/rpm/fedora-27/docker-ce.spec | 9 +++++++++ 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/components/packaging/rpm/fedora-27/Dockerfile.aarch64 b/components/packaging/rpm/fedora-27/Dockerfile.aarch64 index c62395c725..cf99dd66f5 100644 --- a/components/packaging/rpm/fedora-27/Dockerfile.aarch64 +++ b/components/packaging/rpm/fedora-27/Dockerfile.aarch64 @@ -1,17 +1,20 @@ -FROM arm64v8/fedora:27 -RUN dnf -y upgrade -RUN dnf install -y @development-tools fedora-packager -RUN dnf install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel libtool-ltdl-devel pkgconfig selinux-policy selinux-policy-devel systemd-devel tar git cmake vim-common +FROM alpine:latest as golang +RUN apk add curl ARG GO_VERSION +RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-arm64.tar.gz" | tar xzC /usr/local + +FROM fedora:27 ENV DISTRO fedora ENV SUITE 27 -RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-arm64.tar.gz" | tar xzC /usr/local ENV GOPATH /go ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin ENV AUTO_GOPATH 1 ENV DOCKER_BUILDTAGS pkcs11 seccomp selinux ENV RUNC_BUILDTAGS seccomp selinux -RUN mkdir -p /go/src/github.com/docker && mkdir -p /go/src/github.com/opencontainers COPY docker-ce.spec /root/rpmbuild/SPECS/docker-ce.spec +RUN dnf install -y rpm-build dnf-plugins-core +RUN dnf builddep -y /root/rpmbuild/SPECS/docker-ce.spec +RUN mkdir -p /go/src/github.com/docker /go/src/github.com/opencontainers +COPY --from=golang /usr/local/go /usr/local/go/ WORKDIR /root/rpmbuild ENTRYPOINT ["/bin/rpmbuild"] diff --git a/components/packaging/rpm/fedora-27/Dockerfile.x86_64 b/components/packaging/rpm/fedora-27/Dockerfile.x86_64 index f55cadba5d..e9baa01a70 100644 --- a/components/packaging/rpm/fedora-27/Dockerfile.x86_64 +++ b/components/packaging/rpm/fedora-27/Dockerfile.x86_64 @@ -1,17 +1,20 @@ -FROM fedora:27 -RUN dnf -y upgrade -RUN dnf install -y @development-tools fedora-packager -RUN dnf install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel libtool-ltdl-devel pkgconfig selinux-policy selinux-policy-devel systemd-devel tar git cmake vim-common +FROM alpine:latest as golang +RUN apk add curl ARG GO_VERSION +RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local + +FROM fedora:27 ENV DISTRO fedora ENV SUITE 27 -RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local ENV GOPATH /go ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin ENV AUTO_GOPATH 1 ENV DOCKER_BUILDTAGS pkcs11 seccomp selinux ENV RUNC_BUILDTAGS seccomp selinux -RUN mkdir -p /go/src/github.com/docker && mkdir -p /go/src/github.com/opencontainers COPY docker-ce.spec /root/rpmbuild/SPECS/docker-ce.spec +RUN dnf install -y rpm-build dnf-plugins-core +RUN dnf builddep -y /root/rpmbuild/SPECS/docker-ce.spec +RUN mkdir -p /go/src/github.com/docker /go/src/github.com/opencontainers +COPY --from=golang /usr/local/go /usr/local/go/ WORKDIR /root/rpmbuild ENTRYPOINT ["/bin/rpmbuild"] diff --git a/components/packaging/rpm/fedora-27/docker-ce.spec b/components/packaging/rpm/fedora-27/docker-ce.spec index 0d62e038d5..cc3f724fc4 100644 --- a/components/packaging/rpm/fedora-27/docker-ce.spec +++ b/components/packaging/rpm/fedora-27/docker-ce.spec @@ -18,6 +18,15 @@ Packager: Docker %global with_selinux 1 %global _missing_build_ids_terminate_build 0 +BuildRequires: make +BuildRequires: cmake +BuildRequires: gcc +BuildRequires: git +BuildRequires: glibc-static +BuildRequires: libtool-ltdl-devel +BuildRequires: libseccomp-devel +BuildRequires: device-mapper-devel +BuildRequires: btrfs-progs-devel BuildRequires: pkgconfig(systemd) # required packages on install From 5b9122fbe973b4f58539efe99ee448c960aa8807 Mon Sep 17 00:00:00 2001 From: Andrew Hsu Date: Sat, 11 Aug 2018 02:14:20 +0000 Subject: [PATCH 5/5] refactor fedora-28 Dockerfile for multi-stage Also moved package deps into spec file BuildRequires. Had to hard-code Epoch in spec file in order to realize deps with yum-builddep. Signed-off-by: Andrew Hsu Upstream-commit: 07f46e8e96692c511c04f29fbc78c2aa9592e479 Component: packaging --- .../packaging/rpm/fedora-28/Dockerfile.aarch64 | 15 +++++++++------ .../packaging/rpm/fedora-28/Dockerfile.x86_64 | 15 +++++++++------ components/packaging/rpm/fedora-28/docker-ce.spec | 9 +++++++++ 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/components/packaging/rpm/fedora-28/Dockerfile.aarch64 b/components/packaging/rpm/fedora-28/Dockerfile.aarch64 index f8f68512f4..b5395fbbab 100644 --- a/components/packaging/rpm/fedora-28/Dockerfile.aarch64 +++ b/components/packaging/rpm/fedora-28/Dockerfile.aarch64 @@ -1,17 +1,20 @@ -FROM fedora:28 -RUN dnf -y upgrade -RUN dnf install -y @development-tools fedora-packager -RUN dnf install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel libtool-ltdl-devel pkgconfig selinux-policy selinux-policy-devel systemd-devel tar git cmake vim-common +FROM alpine:latest as golang +RUN apk add curl ARG GO_VERSION +RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-arm64.tar.gz" | tar xzC /usr/local + +FROM fedora:28 ENV DISTRO fedora ENV SUITE 28 -RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-arm64.tar.gz" | tar xzC /usr/local ENV GOPATH /go ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin ENV AUTO_GOPATH 1 ENV DOCKER_BUILDTAGS pkcs11 seccomp selinux ENV RUNC_BUILDTAGS seccomp selinux -RUN mkdir -p /go/src/github.com/docker && mkdir -p /go/src/github.com/opencontainers COPY docker-ce.spec /root/rpmbuild/SPECS/docker-ce.spec +RUN dnf install -y rpm-build dnf-plugins-core +RUN dnf builddep -y /root/rpmbuild/SPECS/docker-ce.spec +RUN mkdir -p /go/src/github.com/docker /go/src/github.com/opencontainers +COPY --from=golang /usr/local/go /usr/local/go/ WORKDIR /root/rpmbuild ENTRYPOINT ["/bin/rpmbuild"] diff --git a/components/packaging/rpm/fedora-28/Dockerfile.x86_64 b/components/packaging/rpm/fedora-28/Dockerfile.x86_64 index b5db207950..5786485384 100644 --- a/components/packaging/rpm/fedora-28/Dockerfile.x86_64 +++ b/components/packaging/rpm/fedora-28/Dockerfile.x86_64 @@ -1,17 +1,20 @@ -FROM fedora:28 -RUN dnf -y upgrade -RUN dnf install -y @development-tools fedora-packager -RUN dnf install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel libtool-ltdl-devel pkgconfig selinux-policy selinux-policy-devel systemd-devel tar git cmake vim-common +FROM alpine:latest as golang +RUN apk add curl ARG GO_VERSION +RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local + +FROM fedora:28 ENV DISTRO fedora ENV SUITE 28 -RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local ENV GOPATH /go ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin ENV AUTO_GOPATH 1 ENV DOCKER_BUILDTAGS pkcs11 seccomp selinux ENV RUNC_BUILDTAGS seccomp selinux -RUN mkdir -p /go/src/github.com/docker && mkdir -p /go/src/github.com/opencontainers COPY docker-ce.spec /root/rpmbuild/SPECS/docker-ce.spec +RUN dnf install -y rpm-build dnf-plugins-core +RUN dnf builddep -y /root/rpmbuild/SPECS/docker-ce.spec +RUN mkdir -p /go/src/github.com/docker /go/src/github.com/opencontainers +COPY --from=golang /usr/local/go /usr/local/go/ WORKDIR /root/rpmbuild ENTRYPOINT ["/bin/rpmbuild"] diff --git a/components/packaging/rpm/fedora-28/docker-ce.spec b/components/packaging/rpm/fedora-28/docker-ce.spec index 0d62e038d5..cc3f724fc4 100644 --- a/components/packaging/rpm/fedora-28/docker-ce.spec +++ b/components/packaging/rpm/fedora-28/docker-ce.spec @@ -18,6 +18,15 @@ Packager: Docker %global with_selinux 1 %global _missing_build_ids_terminate_build 0 +BuildRequires: make +BuildRequires: cmake +BuildRequires: gcc +BuildRequires: git +BuildRequires: glibc-static +BuildRequires: libtool-ltdl-devel +BuildRequires: libseccomp-devel +BuildRequires: device-mapper-devel +BuildRequires: btrfs-progs-devel BuildRequires: pkgconfig(systemd) # required packages on install