286 lines
9.1 KiB
RPMSpec
286 lines
9.1 KiB
RPMSpec
%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.18
|
|
Release: 1mamba
|
|
Summary: An open-source application container engine
|
|
Group: System/Servers
|
|
Vendor: openmamba
|
|
Distribution: openmamba
|
|
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
|
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
|
|
* Sat Sep 10 2022 Automatic Build System <autodist@mambasoft.it> 20.10.18-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Tue Jun 07 2022 Automatic Build System <autodist@mambasoft.it> 20.10.17-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Fri May 13 2022 Automatic Build System <autodist@mambasoft.it> 20.10.16-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Sat May 07 2022 Automatic Build System <autodist@mambasoft.it> 20.10.15-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Thu Mar 24 2022 Automatic Build System <autodist@mambasoft.it> 20.10.14-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Fri Mar 11 2022 Automatic Build System <autodist@mambasoft.it> 20.10.13-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Tue Dec 14 2021 Automatic Build System <autodist@mambasoft.it> 20.10.12-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Thu Nov 18 2021 Automatic Build System <autodist@mambasoft.it> 20.10.11-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Tue Oct 26 2021 Automatic Build System <autodist@mambasoft.it> 20.10.10-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Tue Oct 05 2021 Automatic Build System <autodist@mambasoft.it> 20.10.9-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Wed Aug 04 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 20.10.8-1mamba
|
|
- update to 20.10.8
|
|
|
|
* Wed Aug 04 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 19.03.15-2mamba
|
|
- install docker-proxy and docker-init
|
|
|
|
* Tue Feb 02 2021 Automatic Build System <autodist@mambasoft.it> 19.03.15-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Wed Dec 02 2020 Automatic Build System <autodist@mambasoft.it> 19.03.14-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Fri Sep 18 2020 Automatic Build System <autodist@mambasoft.it> 19.03.13-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Tue Sep 01 2020 Automatic Build System <autodist@mambasoft.it> 19.03.12-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Tue May 12 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 19.03.8-1mamba
|
|
- update to 19.03.8
|
|
|
|
* Sun Jul 08 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 18.05.0-1mamba
|
|
- update to 18.05.0
|
|
|
|
* Thu Apr 19 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 1.11.1-3mamba
|
|
- rebuilt by autoport with build requirements: libgo-devel>=7.3.0-1mamba
|
|
|
|
* Fri Jul 29 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 1.11.1-2mamba
|
|
- require containerd and add necessary symlinks
|
|
|
|
* Sun May 15 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 1.11.1-1mamba
|
|
- update to 1.11.1
|
|
|
|
* Fri Jan 01 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 1.9.1-1mamba
|
|
- package created using the webbuild interface
|