%define groupid 65440 %define userid 65440 # https://github.com/moby/moby/tree/v20.10.0/hack/dockerfile/install %define libnetwork_tag master@64b7a4574d1426139437d20e81c0b6d391130ec8 %define tini_tag master@de40ad007797e0dcd8b7126f27bb87401d224240 %define buildx_tag master@11057da37336192bfc57d81e02359ba7ba848e4a %define app_tag master@9d2c67f87b7338eb1a0fa2f18eb81af3d2aac0e1 Name: docker Version: 20.10.17 Release: 1mamba Summary: An open-source application container engine Group: System/Servers Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: https://www.docker.com/ #Source: https://github.com/docker/docker-ce.git/v%{version}/docker-ce-%{version}.tar.bz2 Source: https://github.com/docker/cli.git/v%{version}/cli-%{version}.tar.bz2 Source1: https://github.com/moby/moby.git/v%{version}/moby-%{version}.tar.bz2 Source2: https://github.com/docker/libnetwork.git/%{libnetwork_tag}/libnetwork-%{version}.tar.bz2 Source3: https://github.com/krallin/tini.git/%{tini_tag}/tini-%{version}.tar.bz2 Source4: https://github.com/docker/buildx.git/%{buildx_tag}/buildx-%{version}.tar.bz2 Source5: https://github.com/docker/app.git/%{buildx_tag}/app-%{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: libsystemd-devel ## AUTOBUILDREQ-END BuildRequires: libgo-devel >= 7.3.0-1mamba BuildRequires: go-md2man BuildRequires: gcc-go %systemd_requires Requires: containerd Requires: runc %description An open-source application container engine. %debug_package %prep %setup -q -c -a0 -a1 -a2 -a3 -a4 -a5 #% setup -q -c -D -T #:<< _EOF #%patch0 -p1 mv cli-%{version} cli mv moby-%{version} moby mv libnetwork-%{version} libnetwork mv tini-%{version} tini mv buildx-%{version} buildx mv app-%{version} app #sed -i 's,/var/run,/run,' components/engine/contrib/init/systemd/docker.socket %build #:<< _EOF # 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 } ### globals export GOPATH="$PWD" export PATH="$GOPATH/bin:$PATH" # Required since Go 1.16 export GO111MODULE=off ### cli _fake_gopath_pushd cli github.com/docker/cli DISABLE_WARN_OUTSIDE_CONTAINER=1 make VERSION=%{version} dynbinary make manpages _fake_gopath_popd ### daemon _fake_gopath_pushd moby github.com/docker/docker DOCKER_GITCOMMIT=v%{version} \ DOCKER_BUILDTAGS='seccomp journald apparmor' \ VERSION=%{version}-ce \ hack/make.sh dynbinary _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 ### app cli plugin echo 'Building app cli plugin' _fake_gopath_pushd app github.com/docker/app make dynamic _fake_gopath_popd ### buildx cli plugin echo 'Building buildx cli plugin' _fake_gopath_pushd buildx github.com/docker/buildx go build -o docker-buildx -ldflags "\ -X github.com/docker/buildx/version.Version=$(git describe --match 'v[0-9]*' --always --tags)-tp-docker \ -X github.com/docker/buildx/version.Revision=$(git rev-parse HEAD) \ -X github.com/docker/buildx/version.Package=github.com/docker/buildx \ -X main.experimental=1 -linkmode=external" ./cmd/buildx _fake_gopath_popd %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" ### proxy install -Dm755 libnetwork/proxy %{buildroot}%{_bindir}/docker-proxy ### init install -Dm755 tini/tini-static %{buildroot}%{_bindir}/docker-init ### dockerd install -Dm755 moby/bundles/dynbinary-daemon/dockerd %{buildroot}%{_bindir}/dockerd # systemd install -Dm644 moby/contrib/init/systemd/docker.service \ %{buildroot}%{_unitdir}/docker.service install -Dm644 moby/contrib/init/systemd/docker.socket \ %{buildroot}%{_unitdir}/docker.socket install -Dm644 moby/contrib/udev/80-docker.rules \ %{buildroot}%{_udevrulesdir}/80-docker.rules #install -Dm644 "$srcdir/$pkgname.sysusers" \ # "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" ### cli # binary install -Dm755 cli/build/docker %{buildroot}%{_bindir}/docker # completion install -Dm644 cli/contrib/completion/bash/docker \ %{buildroot}%{_datadir}/bash-completion/completions/docker install -Dm644 cli/contrib/completion/zsh/_docker \ %{buildroot}%{_datadir}/zsh/site-functions/_docker install -Dm644 cli/contrib/completion/fish/docker.fish \ %{buildroot}%{_datadir}/fish/vendor_completions.d/docker.fish # man install -dm755 %{buildroot}%{_mandir} cp -r cli/man/man* %{buildroot}%{_mandir}/ # cli-plugins install -Dm755 app/bin/docker-app %{buildroot}%{_prefix}/lib/docker/cli-plugins/docker-app install -Dm755 buildx/docker-buildx %{buildroot}%{_prefix}/lib/docker/cli-plugins/docker-buildx # symlink containerd/run 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-init %{_bindir}/docker-proxy %{_bindir}/docker-runc %{_bindir}/docker-containerd %{_bindir}/dockerd %dir %{_prefix}/lib/docker %dir %{_prefix}/lib/docker/cli-plugins %{_prefix}/lib/docker/cli-plugins/docker-app %{_prefix}/lib/docker/cli-plugins/docker-buildx %{_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 moby/AUTHORS moby/LICENSE %changelog * Tue Jun 07 2022 Automatic Build System 20.10.17-1mamba - automatic version update by autodist * Fri May 13 2022 Automatic Build System 20.10.16-1mamba - automatic version update by autodist * Sat May 07 2022 Automatic Build System 20.10.15-1mamba - automatic version update by autodist * Thu Mar 24 2022 Automatic Build System 20.10.14-1mamba - automatic version update by autodist * Fri Mar 11 2022 Automatic Build System 20.10.13-1mamba - automatic version update by autodist * Tue Dec 14 2021 Automatic Build System 20.10.12-1mamba - automatic version update by autodist * Thu Nov 18 2021 Automatic Build System 20.10.11-1mamba - automatic version update by autodist * Tue Oct 26 2021 Automatic Build System 20.10.10-1mamba - automatic version update by autodist * Tue Oct 05 2021 Automatic Build System 20.10.9-1mamba - automatic version update by autodist * Wed Aug 04 2021 Silvan Calarco 20.10.8-1mamba - update to 20.10.8 * Wed Aug 04 2021 Silvan Calarco 19.03.15-2mamba - install docker-proxy and docker-init * Tue Feb 02 2021 Automatic Build System 19.03.15-1mamba - automatic version update by autodist * Wed Dec 02 2020 Automatic Build System 19.03.14-1mamba - automatic version update by autodist * Fri Sep 18 2020 Automatic Build System 19.03.13-1mamba - automatic version update by autodist * Tue Sep 01 2020 Automatic Build System 19.03.12-1mamba - automatic version update by autodist * Tue May 12 2020 Silvan Calarco 19.03.8-1mamba - update to 19.03.8 * 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