%define groupid 65440 %define userid 65440 %define runc_tag v1.0.0-rc5 %define containerd_tag v1.0.3 %define libnetwork_tag master %define tini_tag v0.13.0 Name: docker Version: 18.05.0 Release: 1mamba Summary: An open-source application container engine Group: System/Servers Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://www.docker.com/ Source: https://github.com/docker/docker-ce.git/v%{version}-ce/docker-ce-%{version}.tar.bz2 Source1: https://github.com/opencontainers/runc.git/%{runc_tag}/runc-%{version}.tar.bz2 Source2: https://github.com/containerd/containerd.git/%{containerd_tag}/containerd-%{version}.tar.bz2 Source3: https://github.com/docker/libnetwork.git/%{libnetwork_tag}/libnetwork-%{version}.tar.bz2 Source4: https://github.com/krallin/tini.git/%{tini_tag}/tini-%{version}.tar.bz2 Patch0: docker-1.9.1-build-missing-flags.patch License: Apache License 2.0 ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libdevmapper-devel BuildRequires: libltdl-devel BuildRequires: libseccomp-devel BuildRequires: libsystemd-devel ## AUTOBUILDREQ-END BuildRequires: libgo-devel >= 7.3.0-1mamba BuildRequires: go-md2man BuildRequires: go %systemd_requires Requires: containerd Requires: runc BuildRoot: %{_tmppath}/%{name}-%{version}-root %description An open-source application container engine. %debug_package %prep %setup -q -n docker-ce-%{version} -a1 -a2 -a3 -a4 #%patch0 -p1 mv containerd-%{version} containerd mv runc-%{version} runc mv libnetwork-%{version} libnetwork mv tini-%{version} tini %build # create a fake go path directory and pushd into it # $1 real directory # $2 gopath directory _fake_gopath_pushd() { mkdir -p "$GOPATH/src/${2%/*}" rm -f "$GOPATH/src/$2" ln -rsT "$1" "$GOPATH/src/$2" pushd "$GOPATH/src/$2" >/dev/null } _fake_gopath_popd() { popd >/dev/null } srcdir=`pwd` ### globals export GOPATH="$srcdir" export PATH="$GOPATH/bin:$PATH" ### cli _fake_gopath_pushd components/cli github.com/docker/cli DISABLE_WARN_OUTSIDE_CONTAINER=1 make VERSION=%{version}-ce dynbinary _fake_gopath_popd ### daemon _fake_gopath_pushd components/engine github.com/docker/docker DOCKER_GITCOMMIT=v%{version} \ DOCKER_BUILDTAGS='seccomp journald' \ VERSION=%{version}-ce \ hack/make.sh dynbinary _fake_gopath_popd ### docker man pages mkdir -p src/github.com/spf13 ln -rsfT cobra src/github.com/spf13/cobra # use docker-ce cli version because they mess up with man dir _fake_gopath_pushd components/cli github.com/docker/cli make manpages 2>/dev/null _fake_gopath_popd ### runc _fake_gopath_pushd runc github.com/opencontainers/runc make BUILDTAGS='seccomp' _fake_gopath_popd ### containerd _fake_gopath_pushd containerd github.com/containerd/containerd make _fake_gopath_popd ### docker proxy _fake_gopath_pushd libnetwork github.com/docker/libnetwork go build -ldflags='-linkmode=external' github.com/docker/libnetwork/cmd/proxy _fake_gopath_popd ### docker-init _fake_gopath_pushd tini github.com/krallin/tini cmake . # we must use the static binary because it's started in a foreign os make tini-static _fake_gopath_popd %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" srcdir=`pwd` ### runc install -Dm755 runc/runc %{buildroot}%{_bindir}/docker-runc ### containerd install -Dm755 containerd/bin/containerd %{buildroot}%{_bindir}/docker-containerd install -Dm755 containerd/bin/containerd-shim \ %{buildroot}%{_bindir}/docker-containerd-shim install -Dm755 containerd/bin/ctr %{buildroot}%{_bindir}/docker-containerd-ctr ### engine cd $srcdir/components/engine # binary install -Dm755 {bundles/latest/dynbinary-daemon,%{buildroot}%{_bindir}}/dockerd # systemd install -Dm644 'contrib/init/systemd/docker.service' \ %{buildroot}%{_unitdir}/docker.service install -Dm644 'contrib/init/systemd/docker.socket' \ %{buildroot}%{_unitdir}/docker.socket install -Dm644 'contrib/udev/80-docker.rules' \ %{buildroot}%{_udevrulesdir}/80-docker.rules #install -Dm644 "$srcdir/$pkgname.sysusers" \ # "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" # vim syntax install -Dm644 'contrib/syntax/vim/syntax/dockerfile.vim' \ %{buildroot}%{_datadir}/vim/vimfiles/syntax/dockerfile.vim install -Dm644 'contrib/syntax/vim/ftdetect/dockerfile.vim' \ %{buildroot}%{_datadir}/vim/vimfiles/ftdetect/dockerfile.vim ### cli cd $srcdir/components/cli # binary install -Dm755 build/docker %{buildroot}%{_bindir}/docker # completion install -Dm644 'contrib/completion/bash/docker' \ %{buildroot}%{_datadir}/bash-completion/completions/docker install -Dm644 'contrib/completion/zsh/_docker' \ %{buildroot}%{_datadir}/zsh/site-functions/_docker install -Dm644 'contrib/completion/fish/docker.fish' \ %{buildroot}%{_datadir}/fish/vendor_completions.d/docker.fish # man install -dm755 %{buildroot}%{_mandir} cp -r man/man* %{buildroot}%{_mandir}/ ## symlink containerd/run (nice integration...) #ln -s containerd %{buildroot}%{_bindir}/docker-containerd #ln -s containerd-shim %{buildroot}%{_bindir}/docker-containerd-shim #ln -s ctr %{buildroot}%{_bindir}/docker-containerd-ctr #ln -s runc %{buildroot}%{_bindir}/docker-runc %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %pre if [ $1 -ge 1 ]; then /usr/sbin/groupadd docker -g %{groupid} &>/dev/null fi : %post %systemd_post %{name} : %preun %systemd_preun %{name} : %postun %systemd_postun %{name} if [ $1 -eq 0 ]; then groupdel docker || true fi %files %defattr(-,root,root) %{_bindir}/docker %{_bindir}/docker-containerd-ctr %{_bindir}/docker-containerd-shim %{_bindir}/docker-runc %{_bindir}/docker-containerd %{_bindir}/dockerd %{_udevrulesdir}/80-docker.rules %{_unitdir}/docker.service %{_unitdir}/docker.socket %{_datadir}/bash-completion/completions/docker %{_datadir}/fish/vendor_completions.d/docker.fish %{_mandir}/man1/docker*.1* %{_mandir}/man5/Dockerfile.5* %{_mandir}/man5/docker-config-json.5* %{_mandir}/man8/dockerd.8* %{_datadir}/vim/vimfiles/ftdetect/dockerfile.vim %{_datadir}/vim/vimfiles/syntax/dockerfile.vim %{_datadir}/zsh/site-functions/_docker %doc components/engine/AUTHORS components/engine/LICENSE %changelog * Sun Jul 08 2018 Silvan Calarco 18.05.0-1mamba - update to 18.05.0 * Thu Apr 19 2018 Silvan Calarco 1.11.1-3mamba - rebuilt by autoport with build requirements: libgo-devel>=7.3.0-1mamba * Fri Jul 29 2016 Silvan Calarco 1.11.1-2mamba - require containerd and add necessary symlinks * Sun May 15 2016 Silvan Calarco 1.11.1-1mamba - update to 1.11.1 * Fri Jan 01 2016 Silvan Calarco 1.9.1-1mamba - package created using the webbuild interface