Sophie

Sophie

distrib > Mageia > 8 > armv7hl > by-pkgid > 673d950eda382abe1ba0fa2cb1e94b56 > files > 9

docker-20.10.14-3.mga8.src.rpm

# modifying the dockerinit binary breaks the SHA1 sum check by docker
%global __os_install_post %{_rpmconfigdir}/brp-compress
%global debug_package %{nil}
# Also update the commit ids below
%global moby_version 20.10.14

# binaries and unitfiles are currently called 'docker'
# to match with upstream supplied packages
%global origname docker
%global newname moby
%global service_name %{origname}

# moby
%global git_moby https://github.com/%{newname}/%{newname}
%global commit_moby 79ea9d3080181d755855d5924d0f4f116faa9463
%global shortcommit_moby %(c=%{commit_moby}; echo ${c:0:7})

# cli
%global git_cli https://github.com/%{origname}/cli
%global commit_cli c2ea9bc90bacf19bdbe37fd13eec8772432aca99
%global shortcommit_cli %(c=%{commit_cli}; echo ${c:0:7})
 
# tini
# 0.19.0
%global git_tini https://github.com/krallin/tini
%global commit_tini de40ad007797e0dcd8b7126f27bb87401d224240
%global shortcommit_tini %(c=%{commit_tini}; echo ${c:0:7})

#debuginfo not supported with Go
%global gopath  %{_libdir}/golang
%define gosrc %{gopath}/src/pkg/%{newname}

# docker-proxy / libnetwork  
%global git_libnetwork https://github.com/%{newname}/libnetwork
# master 2021-05-25
%global commit_libnetwork 64b7a4574d1426139437d20e81c0b6d391130ec8
%global shortcommit_libnetwork %(c=%{commit_libnetwork}; echo ${c:0:7})

# go-ipath is computed as required whereas it doesn't seem so, so exlucing it
%global __requires_exclude golang-ipath

Name:           %{origname}
#Version:       1.3.1.git%{shortcommit_moby}
Version:        %{moby_version}
Release:        %mkrel 3
Summary:        Automates deployment of containerized applications
License:        ASL 2.0
Group:			System/Configuration

%global goipath         github.com/%{newname}/%{newname}
%gometa

URL:            http://www.docker.com
# only x86_64 for now: https://github.com/docker/docker/issues/136
#ExclusiveArch:  x86_64
Source0:        %{git_moby}/archive/v%{moby_version}.tar.gz

Source1: %{service_name}.service
Source2: %{origname}.sysconfig
Source3: %{origname}-storage.sysconfig
Source4: %{origname}-logrotate.sh
Source5: README.%{origname}-logrotate
Source6: %{origname}-network.sysconfig
Source7: %{service_name}.socket
Source8: %{origname}-network-cleanup.sh

Source10: %{git_libnetwork}/archive/%{commit_libnetwork}.tar.gz#/libnetwork-%{shortcommit_libnetwork}.tar.gz
Source11: %{git_tini}/archive/%{commit_tini}.tar.gz#/tini-%{shortcommit_tini}.tar.gz
Source12: %{git_cli}/archive/v%{version}.tar.gz#/cli-v%{version}.tar.gz

BuildRequires:  gcc
BuildRequires:  glibc-devel
BuildRequires:  glibc-static-devel
BuildRequires:  make
BuildRequires:  cmake

# ensure build uses golang 1.13 or above
BuildRequires:  golang >= 1.13

BuildRequires:  pkgconfig(sqlite3)

BuildRequires:  golang-net-devel
BuildRequires:  golang-x-crypto-devel
BuildRequires:  golang-x-net-http-devel
BuildRequires:  golang-github-hashicorp-lru-devel
BuildRequires:  golang-github-spf13-cobra-devel
BuildRequires:  golang-github-sirupsen-logrus-devel
BuildRequires:  go-md2man
BuildRequires:  btrfs-devel
BuildRequires:  libltdl-devel
BuildRequires:  pkgconfig(devmapper)
BuildRequires:  pkgconfig(systemd)
BuildRequires:  pkgconfig(audit)
Requires:       systemd-units

# With docker >= 1.11 you now need containerd (and runC as a dep)
Requires:		docker-containerd >= 1.1.0

# need xz to work with ubuntu images
# https://bugzilla.redhat.com/show_bug.cgi?id=1045220
Requires:       xz

# https://bugzilla.redhat.com/show_bug.cgi?id=1035436
# this won't be needed for rhel7+
Requires:       bridge-utils
Requires:       tar
# The auplink command is required for network setup in ctn
Requires:       aufs-tools

Requires:       iptables

# https://bugzilla.redhat.com/show_bug.cgi?id=1034919
# No longer needed in Fedora because of libcontainer
Requires:       libcgroup
Provides:       lxc-docker = %{version}

Obsoletes: docker-io < 1.2.0-8
Provides: docker-io = %{version}-%{release}
Obsoletes: docker-swarm
Provides: docker-swarm = %{version}-%{release}
Obsoletes: docker-vim

%description
Docker is an open-source engine that automates the deployment of any
application as a lightweight, portable, self-sufficient container that will
run virtually anywhere.

Docker containers can encapsulate any payload, and will run consistently on
and between virtually any server. The same container that a developer builds
and tests on a laptop will run at scale, in production*, on VMs, bare-metal
servers, OpenStack clusters, public instances, or combinations of the above.

%package devel
BuildRequires:  golang >= 1.4
Requires:       golang >= 1.4
Requires:       docker-pkg-devel
Summary:        A golang registry for global request variables (source libraries)
Provides: %{origname}-pkg-devel = %{version}-%{release}
Provides: golang(%{newname}) = %{version}-%{release}
#
# Bundled dependencies (docker/cli is still bundled with vendored dependencies)
Provides:       bundled(tini-static)
Provides:       bundled(golang(github.com/docker/cli))
# grep -v -e '^$' -e '^#' cli/vendor.conf | sort | awk '{print "Provides:       bundled(golang("$1")) = "$2}'
Provides:       bundled(golang(cloud.google.com/go)) = ceeb313ad77b789a7fa5287b36a1d127b69b7093
Provides:       bundled(golang(github.com/agl/ed25519)) = 5312a61534124124185d41f09206b9fef1d88403
Provides:       bundled(golang(github.com/Azure/go-ansiterm)) = d6e3b3328b783f23731bc4d058875b0371ff8109
Provides:       bundled(golang(github.com/beorn7/perks)) = 37c8de3658fcb183f997c4e13e8337516ab753e6
Provides:       bundled(golang(github.com/cespare/xxhash/v2)) = d7df74196a9e781ede915320c11c378c1b2f3a1f
Provides:       bundled(golang(github.com/containerd/cgroups)) = 0b889c03f102012f1d93a97ddd3ef71cd6f4f510
Provides:       bundled(golang(github.com/containerd/console)) = 5d7e1412f07b502a01029ea20e20e0d2be31fa7c
Provides:       bundled(golang(github.com/containerd/containerd)) = 0edc412565dcc6e3d6125ff9e4b009ad4b89c638
Provides:       bundled(golang(github.com/containerd/continuity)) = efbc4488d8fe1bdc16bde3b2d2990d9b3a899165
Provides:       bundled(golang(github.com/containerd/typeurl)) = cd3ce7159eae562a4f60ceff37dada11a939d247
Provides:       bundled(golang(github.com/coreos/etcd)) = d57e8b8d97adfc4a6c224fe116714bf1a1f3beb9
Provides:       bundled(golang(github.com/cpuguy83/go-md2man/v2)) = f79a8a8ca69da163eee19ab442bedad7a35bba5a
Provides:       bundled(golang(github.com/creack/pty)) = 2a38352e8b4d7ab6c336eef107e42a55e72e7fbc
Provides:       bundled(golang(github.com/davecgh/go-spew)) = 8991bc29aa16c548c550c7ff78260e27b9ab7c73
Provides:       bundled(golang(github.com/docker/compose-on-kubernetes)) = 78e6a00beda64ac8ccb9fec787e601fe2ce0d5bb
Provides:       bundled(golang(github.com/docker/distribution)) = 0d3efadf0154c2b8a4e7b6621fff9809655cc580
Provides:       bundled(golang(github.com/docker/docker)) = 46229ca1d815cfd4b50eb377ac75ad8300e13a85
Provides:       bundled(golang(github.com/docker/docker-credential-helpers)) = 38bea2ce277ad0c9d2a6230692b0606ca5286526
Provides:       bundled(golang(github.com/docker/go-connections)) = 7395e3f8aa162843a74ed6d48e79627d9792ac55
Provides:       bundled(golang(github.com/docker/go)) = d30aec9fd63c35133f8f79c3412ad91a3b08be06
Provides:       bundled(golang(github.com/docker/go-events)) = e31b211e4f1cd09aa76fe4ac244571fab96ae47f
Provides:       bundled(golang(github.com/docker/go-metrics)) = b619b3592b65de4f087d9f16863a7e6ff905973c
Provides:       bundled(golang(github.com/docker/go-units)) = 519db1ee28dcc9fd2474ae59fca29a810482bfb1
Provides:       bundled(golang(github.com/docker/swarmkit)) = d6592ddefd8a5319aadff74c558b816b1a0b2590
Provides:       bundled(golang(github.com/evanphx/json-patch)) = 72bf35d0ff611848c1dc9df0f976c81192392fa5
Provides:       bundled(golang(github.com/fvbommel/sortorder)) = 26fad50c6b32a3064c09ed089865c16f2f3615f6
Provides:       bundled(golang(github.com/gofrs/flock)) = 6caa7350c26b838538005fae7dbee4e69d9398db
Provides:       bundled(golang(github.com/gogo/googleapis)) = 01e0f9cca9b92166042241267ee2a5cdf5cff46c
Provides:       bundled(golang(github.com/gogo/protobuf)) = 5628607bb4c51c3157aacc3a50f0ab707582b805
Provides:       bundled(golang(github.com/golang/glog)) = 23def4e6c14b4da8ac2ed8007337bc5eb5007998
Provides:       bundled(golang(github.com/golang/groupcache)) = 869f871628b6baa9cfbc11732cdf6546b17c1298
Provides:       bundled(golang(github.com/golang/protobuf)) = 84668698ea25b64748563aa20726db66a6b8d299
Provides:       bundled(golang(github.com/googleapis/gnostic)) = 7c663266750e7d82587642f65e60bc4083f1f84e
Provides:       bundled(golang(github.com/google/go-cmp)) = 3af367b6b30c263d47e8895973edcca9a49cf029
Provides:       bundled(golang(github.com/google/gofuzz)) = 24818f796faf91cd76ec7bddd72458fbced7a6c1
Provides:       bundled(golang(github.com/google/shlex)) = e7afc7fbc51079733e9468cdfd1efcd7d196cd1d
Provides:       bundled(golang(github.com/gorilla/mux)) = 98cb6bf42e086f6af920b965c38cacc07402d51b
Provides:       bundled(golang(github.com/grpc-ecosystem/go-grpc-middleware)) = 3c51f7f332123e8be5a157c0802a228ac85bf9db
Provides:       bundled(golang(github.com/grpc-ecosystem/grpc-gateway)) = 1a03ca3bad1e1ebadaedd3abb76bc58d4ac8143b
Provides:       bundled(golang(github.com/grpc-ecosystem/grpc-opentracing)) = 8e809c8a86450a29b90dcc9efbf062d0fe6d9746
Provides:       bundled(golang(github.com/hashicorp/golang-lru)) = 7f827b33c0f158ec5dfbba01bb0b14a4541fd81d
Provides:       bundled(golang(github.com/imdario/mergo)) = 1afb36080aec31e0d1528973ebe6721b191b0369
Provides:       bundled(golang(github.com/inconshreveable/mousetrap)) = 76626ae9c91c4f2a10f34cad8ce83ea42c93bb75
Provides:       bundled(golang(github.com/jaguilar/vt100)) = ad4c4a5743050fb7f88ce968dca9422f72a0e3f2
Provides:       bundled(golang(github.com/json-iterator/go)) = 0ff49de124c6f76f8494e194af75bde0f1a49a29
Provides:       bundled(golang(github.com/matttproud/golang_protobuf_extensions)) = c12348ce28de40eed0136aa2b644d0ee0650e56c
Provides:       bundled(golang(github.com/Microsoft/go-winio)) = 5b44b70ab3ab4d291a7c1d28afe7b4afeced0ed4
Provides:       bundled(golang(github.com/Microsoft/hcsshim)) = 5bc557dd210ff2caf615e6e22d398123de77fc11
Provides:       bundled(golang(github.com/miekg/pkcs11)) = 210dc1e16747c5ba98a03bcbcf728c38086ea357
Provides:       bundled(golang(github.com/mitchellh/mapstructure)) = d16e9488127408e67948eb43b6d3fbb9f222da10
Provides:       bundled(golang(github.com/moby/buildkit)) = 8142d66b5ebde79846b869fba30d9d30633e74aa
Provides:       bundled(golang(github.com/moby/sys)) = 1bc8673b57550ddf85262eb0fed0aac651a37dab
Provides:       bundled(golang(github.com/moby/term)) = bea5bbe245bf407372d477f1361d2ff042d2f556
Provides:       bundled(golang(github.com/modern-go/concurrent)) = bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94
Provides:       bundled(golang(github.com/modern-go/reflect2)) = 4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd
Provides:       bundled(golang(github.com/morikuni/aec)) = 39771216ff4c63d11f5e604076f9c45e8be1067b
Provides:       bundled(golang(github.com/opencontainers/go-digest)) = ea51bea511f75cfa3ef6098cc253c5c3609b037a
Provides:       bundled(golang(github.com/opencontainers/image-spec)) = d60099175f88c47cd379c4738d158884749ed235
Provides:       bundled(golang(github.com/opencontainers/runc)) = ff819c7e9184c13b7c2607fe6c30ae19403a7aff
Provides:       bundled(golang(github.com/opentracing/opentracing-go)) = d34af3eaa63c4d08ab54863a4bdd0daa45212e12
Provides:       bundled(golang(github.com/pkg/errors)) = 614d223910a179a466c1767a985424175c39b465
Provides:       bundled(golang(github.com/prometheus/client_golang)) = 6edbbd9e560190e318cdc5b4d3e630b442858380
Provides:       bundled(golang(github.com/prometheus/client_model)) = 7bc5445566f0fe75b15de23e6b93886e982d7bf9
Provides:       bundled(golang(github.com/prometheus/common)) = d978bcb1309602d68bb4ba69cf3f8ed900e07308
Provides:       bundled(golang(github.com/prometheus/procfs)) = 46159f73e74d1cb8dc223deef9b2d049286f46b1
Provides:       bundled(golang(github.com/russross/blackfriday/v2)) = d3b5b032dc8e8927d31a5071b56e14c89f045135
Provides:       bundled(golang(github.com/shurcooL/sanitized_anchor_name)) = 7bfe4c7ecddb3666a94b053b422cdd8f5aaa3615
Provides:       bundled(golang(github.com/sirupsen/logrus)) = 6699a89a232f3db797f2e280639854bbc4b89725
Provides:       bundled(golang(github.com/spf13/cobra)) = 86f8bfd7fef868a174e1b606783bd7f5c82ddf8f
Provides:       bundled(golang(github.com/spf13/pflag)) = 2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab
Provides:       bundled(golang(github.com/theupdateframework/notary)) = d6e1431feb32348e0650bf7551ac5cffd01d857b
Provides:       bundled(golang(github.com/tonistiigi/fsutil)) = 0834f99b7b85462efb69b4f571a4fa3ca7da5ac9
Provides:       bundled(golang(github.com/tonistiigi/go-rosetta)) = f79598599c5d34ea253b56a1d7c89bc6a96de7db
Provides:       bundled(golang(github.com/tonistiigi/units)) = 6950e57a87eaf136bbe44ef2ec8e75b9e3569de2
Provides:       bundled(golang(github.com/xeipuuv/gojsonpointer)) = 02993c407bfbf5f6dae44c4f4b1cf6a39b5fc5bb
Provides:       bundled(golang(github.com/xeipuuv/gojsonreference)) = bd5ef7bd5415a7ac448318e64f11a24cd21e594b
Provides:       bundled(golang(github.com/xeipuuv/gojsonschema)) = 82fcdeb203eb6ab2a67d0a623d9c19e5e5a64927
Provides:       bundled(golang(golang.org/x/crypto)) = c1f2f97bffc9c53fc40a1a28a5b460094c0050d9
Provides:       bundled(golang(golang.org/x/net)) = ab34263943818b32f575efc978a3d24e80b04bd7
Provides:       bundled(golang(golang.org/x/oauth2)) = bf48bf16ab8d622ce64ec6ce98d2c98f916b6303
Provides:       bundled(golang(golang.org/x/sync)) = cd5d95a43a6e21273425c7ae415d3df9ea832eeb
Provides:       bundled(golang(golang.org/x/sys)) = b64e53b001e413bd5067f36d4e439eded3827374
Provides:       bundled(golang(golang.org/x/term)) = f5c789dd3221ff39d752ac54467d762de7cfbec6
Provides:       bundled(golang(golang.org/x/text)) = 23ae387dee1f90d29a23c0e87ee0b46038fbed0e
Provides:       bundled(golang(golang.org/x/time)) = 555d28b269f0569763d25dbe1a237ae74c6bcc82
Provides:       bundled(golang(google.golang.org/genproto)) = 3f1135a288c9a07e340ae8ba4cc6c7065a3160e8
Provides:       bundled(golang(google.golang.org/grpc)) = f495f5b15ae7ccda3b38c53a1bfcde4c1a58a2bc
Provides:       bundled(golang(go.opencensus.io)) = d835ff86be02193d324330acdb7d65546b05f814
Provides:       bundled(golang(gopkg.in/inf.v0)) = d2d2541c53f18d2a059457998ce2876cc8e67cbf
Provides:       bundled(golang(gopkg.in/yaml.v2)) = 53403b58ad1b561927d19068c655246f2db79d48
Provides:       bundled(golang(gotest.tools/v3)) = bb0d8a963040ea5048dcef1a14d8f8b58a33d4b3
Provides:       bundled(golang(k8s.io/api)) = d49a3f108dab8e8d25f22c497fb48678b124efd2
Provides:       bundled(golang(k8s.io/apimachinery)) = f336d9be0221d10a93a7d6d2ec25f6fc799f4fc6
Provides:       bundled(golang(k8s.io/client-go)) = 002560d5bf54049bf5b5ae99231cb2b591f15954
Provides:       bundled(golang(k8s.io/klog)) = 4ad0115ba9e45c096d06a31d8dfb0e5bd945ec5f
Provides:       bundled(golang(k8s.io/kube-openapi)) = 0270cf2f1c1d995d34b36019a6f65d58e6e33ad4
Provides:       bundled(golang(k8s.io/utils)) = 69764acb6e8e900b7c05296c5d3c9c19545475f9
Provides:       bundled(golang(sigs.k8s.io/yaml)) = fd68e9863619f6ec2fdd8625fe1f02e7c877e480
 
%description devel
This is the source libraries for docker.

%package fish-completion
Summary: fish completion files for Docker
Requires: %{origname} = %{version}-%{release}
Requires: fish
Provides: %{origname}-io-fish-completion = %{version}-%{release}

%description fish-completion
This package installs %{summary}.

%package logrotate
Summary: cron job to run logrotate on Docker containers
Requires: %{origname} = %{version}-%{release}
Provides: %{origname}-io-logrotate = %{version}-%{release}

%description logrotate
This package installs %{summary}. logrotate is assumed to be installed on
containers for this to work, failures are silently ignored.

%package zsh-completion
Summary: zsh completion files for Docker
Requires: %{origname} = %{version}-%{release}
Requires: zsh
Provides: %{origname}-io-zsh-completion = %{version}-%{release}

%description zsh-completion
This package installs %{summary}.

%package nano
Summary: nano syntax highlighting files for Moby
Requires: %{name} = %{version}-%{release}
Requires: nano

%description nano
This package installs %{summary}.

%prep
%setup -q -n %{newname}-%{moby_version}
cp %{SOURCE5} .
#sed -i 's/$/%{?dist}/' VERSION

# proxy
tar xzf %{SOURCE10} libnetwork-%{commit_libnetwork}/cmd/proxy/
perl -pi -e 's|Sirupsen|sirupsen|' libnetwork-%{commit_libnetwork}/cmd/proxy/*_proxy.go

# tini
tar zxf %{SOURCE11}

# cli
tar zxf %{SOURCE12}
# correct rpmlint errors for bash completion
#sed -i '/env bash/d' cli-%{version}/contrib/completion/bash/docker

%build
export GOPATH=$(pwd):$(pwd)/vendor:%{_datadir}/gocode
BUILDPATH=$(pwd)
ln -sf . src

# build docker-proxy / libnetwork
mv libnetwork-%{commit_libnetwork}/cmd/proxy/ cmd/
%goprep -k -e
%gobuild -o %{origname}-proxy cmd/proxy

export DISABLE_WARN_OUTSIDE_CONTAINER=1
# build tini
pushd tini-%{commit_tini}
export LDFLAGS="" 
%cmake .
(cd build ; make all)
mv build/tini-static ..
popd

export DOCKER_GITCOMMIT="%{shortcommit_moby}"
# build engine
export LDFLAGS="-w"
export LDFLAGS+=" -X github.com/docker/docker/dockerversion.Version=%{version}"
export LDFLAGS+=" -X github.com/docker/docker/dockerversion.GitCommit=%{shortcommit_moby}"
export LDFLAGS+=" -X github.com/docker/docker/dockerversion.IAmStatic=false"
export LDFLAGS+=" -X 'github.com/docker/docker/dockerversion.BuildTime=$(date -u --rfc-3339 ns)'"
#export BUILDTAGS="seccomp selinux journald"
export BUILDTAGS="journald"
# Remove vendored packages not allowed
rm -rf $(pwd)/vendor/{golang.org/x/net/http/httpguts,golang.org/x/net/http2/hpack,golang.org/x/net/idna,golang.org/x/crypto/}
mkdir -p $(pwd)/vendor/github.com/%{origname}/%{origname}
for i in api builder bundles cli client cmd container contrib daemon distribution dockerversion errdefs hack image integration-cli internal layer libcontainerd oci opts plugin profiles pkg quota reference registry restartmanager rootless runconfig volume; do
	ln -sf $(pwd)/$i $(pwd)/vendor/github.com/%{origname}/%{origname}
done
%gobuild -o %{origname}d cmd/dockerd
#DOCKER_DEBUG=1 bash -x hack/make.sh dynbinary
cd $BUILDPATH

# DOCKER CLIENT
mv cli-%{version}/cmd/%{origname} cmd/
mkdir -p vendor/github.com/%{origname}/cli/
mv cli-%{version}/* vendor/github.com/%{origname}/cli/
for i in github.com/moby github.com/docker/compose-on-kubernetes github.com/docker/docker-credential-helpers github.com/fvbommel github.com/jaguilar github.com/mitchellh github.com/theupdateframework github.com/tonistiigi github.com/xeipuuv k8s.io/api k8s.io/apimachinery k8s.io/client-go github.com/davecgh github.com/docker/distribution github.com/docker/go github.com/google/gofuzz github.com/googleapis/gnostic github.com/json-iterator github.com/modern-go gopkg.in/inf.v0 k8s.io/klog k8s.io/utils sigs.k8s.io/yaml golang.org/x/term; do
	dest=`dirname $i`
	mkdir -p vendor/$dest
	cp -a vendor/github.com/%{origname}/cli/vendor/$i vendor/$dest
done
# Remove vendored packages not allowed
rm -rf vendor/github.com/%{origname}/cli/vendor/ vendor/github.com/hashicorp/golang-lru vendor/github.com/spf13/cobra/doc
(cd vendor ; ln -sf . src)
%goprep -k -e
%gobuild -o %{origname} cmd/%{origname}
pushd vendor/github.com/%{origname}/cli/man
./md2man-all.sh
popd

%install
# install binaries
install -d %{buildroot}%{_bindir} 
install -p -m 755 %{origname} %{buildroot}%{_bindir}/%{origname}
install -p -m 755 %{origname}-proxy %{buildroot}%{_bindir}/%{origname}-proxy
install -d %{buildroot}%{_sbindir} 
install -p -m 755 %{origname}d %{buildroot}%{_sbindir}/%{origname}d

# Place to store images
install -d %{buildroot}%{_var}/cache/%{origname}

# install manpages
install -d %{buildroot}%{_mandir}/man1
install -p -m 644 vendor/github.com/docker/cli/man/man1/*.1 %{buildroot}%{_mandir}/man1
install -d %{buildroot}%{_mandir}/man5
install -p -m 644 vendor/github.com/docker/cli/man/man5/*.5 %{buildroot}%{_mandir}/man5
install -d %{buildroot}%{_mandir}/man8
install -p -m 644 vendor/github.com/docker/cli/man/man8/*.8 %{buildroot}%{_mandir}/man8

# install bash completion
install -d %{buildroot}%{_sysconfdir}/bash_completion.d
install -p -m 644 vendor/github.com/%{origname}/cli/contrib/completion/bash/%{origname} %{buildroot}%{_sysconfdir}/bash_completion.d/%{origname}.bash

# install fish completion
# create, install and own /usr/share/fish/vendor_completions.d until
# upstream fish provides it
install -dp %{buildroot}%{_datadir}/fish/vendor_completions.d
install -p -m 644 vendor/github.com/%{origname}/cli/contrib/completion/fish/%{origname}.fish %{buildroot}%{_datadir}/fish/vendor_completions.d

# install container logrotate cron script
install -dp %{buildroot}%{_sysconfdir}/cron.daily/
install -p -m 755 %{SOURCE4} %{buildroot}%{_sysconfdir}/cron.daily/%{origname}-logrotate

# install zsh completion
install -d %{buildroot}%{_datadir}/zsh/site-functions
install -p -m 644 vendor/github.com/%{origname}/cli/contrib/completion/zsh/_docker %{buildroot}%{_datadir}/zsh/site-functions

# for additional args
install -d %{buildroot}%{_sysconfdir}/sysconfig/
install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/%{origname}
install -p -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/sysconfig/%{origname}-network
install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/%{origname}-storage

# add nano files
install -dp %{buildroot}%{_datadir}/nano
install -p -m 644 contrib/syntax/nano/Dockerfile.nanorc %{buildroot}%{_datadir}/nano/Dockerfile.nanorc

for cli_file in LICENSE MAINTAINERS NOTICE README.md; do
    cp "vendor/github.com/%{origname}/cli/$cli_file" "cli-$cli_file"
done

# install tini
install -p -m 755 tini-static %{buildroot}%{_bindir}/%{origname}-init

# install udev rules
install -d %{buildroot}%{_udevrulesdir}
install -p -m 644 contrib/udev/80-docker.rules %{buildroot}%{_udevrulesdir}
# install storage dir
install -d -m 700 %{buildroot}%{_libdir}/docker
# install systemd/init scripts
install -d %{buildroot}%{_unitdir}
install -p -m 644 %{SOURCE1} %{SOURCE7} %{buildroot}%{_unitdir}

# sources
install -d -p %{buildroot}%{gopath}/src/%{newname}
rm -rf pkg/symlink/testdata

# remove dirs that won't be installed in devel
rm -rf vendor docs bundles contrib/init hack project

# install sources to devel
for dir in */ ; do
    cp -rpav $dir %{buildroot}/%{gopath}/src/%{newname}/
done

#network cleanup
install -d %{buildroot}%{_sbindir}
install -p -m 755 %{SOURCE8} %{buildroot}%{_sbindir}/docker-network-cleanup

%pre
getent group docker > /dev/null || %{_sbindir}/groupadd -r docker
exit 0

%post
%systemd_post docker

%preun
%systemd_preun docker

%postun
%systemd_postun_with_restart docker

%files
%license cli-LICENSE LICENSE
%doc AUTHORS CHANGELOG.md CONTRIBUTING.md MAINTAINERS NOTICE README.md
%doc cli-MAINTAINERS cli-NOTICE cli-README.md
%config(noreplace) %{_sysconfdir}/sysconfig/%{origname}
%config(noreplace) %{_sysconfdir}/sysconfig/%{origname}-network
%config(noreplace) %{_sysconfdir}/sysconfig/%{origname}-storage
%{_mandir}/man1/*.1*
%{_mandir}/man5/*.5*
%{_mandir}/man8/*.8*
%{_bindir}/%{origname}
%{_bindir}/%{origname}-proxy
%{_bindir}/%{origname}-init
%dir %{_var}/cache/%{origname}
%{_unitdir}/%{origname}.service
%{_unitdir}/%{origname}.socket
%dir %{_sysconfdir}/bash_completion.d
%{_sysconfdir}/bash_completion.d/%{origname}.bash
%dir %{_libdir}/%{origname}
%dir %{_udevrulesdir}
%{_udevrulesdir}/80-docker.rules
%{_sbindir}/%{origname}-network-cleanup
%{_sbindir}/%{origname}d

%files devel
%dir %{gopath}/src/%{newname}
%{gopath}/src/%{newname}/*

%files fish-completion
%dir %{_datadir}/fish/vendor_completions.d/
%{_datadir}/fish/vendor_completions.d/%{origname}.fish

%files logrotate
%doc README.%{origname}-logrotate
%{_sysconfdir}/cron.daily/%{origname}-logrotate

%files zsh-completion
%{_datadir}/zsh/site-functions/_%{origname}

%files nano
%dir %{_datadir}/nano
%{_datadir}/nano/Dockerfile.nanorc


%changelog
* Thu Mar 24 2022 bcornec <bcornec> 20.10.14-3.mga8
+ Revision: 1825307
- Fix mga#30205 and CVE-2022-24769
- Fix mga#30205 and CVE-2022-24769
- Update libnetwork and requires_exclude golang-ipath
- Update to upstream docker 20.10.9
- Update to upstream docker 20.10 for cgroupv2 support

* Tue Feb 02 2021 neoclust <neoclust> 19.03.15-1.mga8
+ Revision: 1674574
- New version 19.03.15

* Thu Dec 03 2020 bcornec <bcornec> 19.03.14-1.mga8
+ Revision: 1652064
- Update to 19.03.14 upstream

* Sun Nov 01 2020 bcornec <bcornec> 19.03.13-1.mga8
+ Revision: 1641120
- Update to upstream docker 19.03.13

* Wed Jul 22 2020 ovitters <ovitters> 19.03.11-2.mga8
+ Revision: 1607995
- udev rules file should not be executable (per journalctl warning)

* Tue Jun 02 2020 bcornec <bcornec> 19.03.11-1.mga8
+ Revision: 1589710
- Update to docker 19.03.11 to fix mga#25761

* Wed Feb 19 2020 umeabot <umeabot> 19.03.5-2.mga8
+ Revision: 1543453
- Mageia 8 Mass Rebuild

* Mon Jan 20 2020 bcornec <bcornec> 19.03.5-1.mga8
+ Revision: 1481636
- update to upstream docker 19.03.5

* Wed Sep 04 2019 bcornec <bcornec> 19.03.2-1.mga8
+ Revision: 1437132
- Update to docker upstream 19.03.2

* Tue Mar 19 2019 bcornec <bcornec> 18.09.3-2.mga8
+ Revision: 1378886
- Fix commit ids which were too old

* Sun Mar 17 2019 bcornec <bcornec> 18.09.3-1.mga7
+ Revision: 1378411
- Fix mga#24374 CVE-2019-5736 by updating to upstream docker 18.09.3

* Tue Jan 01 2019 bcornec <bcornec> 18.09.0-1.mga7
+ Revision: 1348237
- Update to upstream docker 18.09.0 with libnetwork and tiny

* Wed Nov 28 2018 bcornec <bcornec> 18.06.1-3.mga7
+ Revision: 1336453
- Fix version returned by docker version --format '{{.Server.Version}}' (patch from Levi Ramsey levi_at_cygnetnet.net)

* Tue Oct 23 2018 bcornec <bcornec> 18.06.1-2.mga7
+ Revision: 1324513
- Fix mga#23749 by adding a requires on iptables

* Tue Oct 16 2018 bcornec <bcornec> 18.06.1-1.mga7
+ Revision: 1320894
- SLIENT: another missing dep added
- Fix missing build deps
- Update to upstream docker 18.06.1 made by Joseph Wang joequant

* Sun Sep 23 2018 umeabot <umeabot> 17.05.0-2.mga7
+ Revision: 1297479
- Mageia 7 Mass Rebuild

* Sat Oct 14 2017 joequant <joequant> 17.05.0-1.mga7
+ Revision: 1171775
- upgrade to 17.05.0

* Sat Oct 14 2017 joequant <joequant> 17.03.1-5.mga7
+ Revision: 1171769
- rebuild with new stack

* Wed May 31 2017 bcornec <bcornec> 17.03.1-4.mga6
+ Revision: 1105638
- Adds missing docker-proxy command to our docker package to solve network port redirection support missing since 1.12.

* Sat May 27 2017 neoclust <neoclust> 17.03.1-3.mga6
+ Revision: 1105096
- Rebuilf for ARM

* Thu May 11 2017 bcornec <bcornec> 17.03.1-2.mga6
+ Revision: 1100143
- Update to upstream docker 17.03

* Thu Jan 12 2017 bcornec <bcornec> 1.12.6-1.mga6
+ Revision: 1081154
- Update to upstream coker 1.12.6 fixes mga#20100

* Mon Jan 02 2017 bcornec <bcornec> 1.12.5-1.mga6
+ Revision: 1079627
- Updated to upstream docker 1.12.5

* Thu Nov 24 2016 bcornec <bcornec> 1.12.3-1.mga6
+ Revision: 1069584
- update to upstream docker 1.12.3

* Mon Oct 24 2016 bcornec <bcornec> 1.12.1-3.mga6
+ Revision: 1063373
- Add a dependency on aufs-tools for auplink needed in case of network setup

* Tue Sep 27 2016 blino <blino> 1.12.1-2.mga6
+ Revision: 1057105
- package docker-proxy (required by docker run)

* Sat Sep 24 2016 bcornec <bcornec> 1.12.1-1.mga6
+ Revision: 1055672
- Update to upstrea 0.12.1 docker
  - requires docker-container 0.2.3 and runc 1.1.0rc1
  - Now uses dockerd for the daemon part

* Fri Jul 22 2016 bcornec <bcornec> 1.11.2-1.mga6
+ Revision: 1043086
- Up date to upstream 1.11.2

* Mon Jun 13 2016 joequant <joequant> 1.11.1-6.mga6
+ Revision: 1021322
- move out cleanup script

* Fri Jun 10 2016 joequant <joequant> 1.11.1-5.mga6
+ Revision: 1021025
- absolute path for rm

* Wed Jun 01 2016 joequant <joequant> 1.11.1-4.mga6
+ Revision: 1019717
- Clean up veth files in sysconfig

* Mon May 23 2016 bcornec <bcornec> 1.11.1-3.mga6
+ Revision: 1017990
- Attempt to build docker for all arches

* Sun May 22 2016 bcornec <bcornec> 1.11.1-2.mga6
+ Revision: 1017708
-Up date docker to upstream 1.11.1. Now requires runC and containerd
+ umeabot <umeabot>
- Mageia 6 Mass Rebuild

* Mon Nov 23 2015 joequant <joequant> 1.9.1-1.mga6
+ Revision: 904986
- upgrade to 1.9.1

* Sat Nov 14 2015 joequant <joequant> 1.9.0-1.mga6
+ Revision: 903100
- update to 1.9.0

* Thu Oct 22 2015 joequant <joequant> 1.9.0-0.1.mga6
+ Revision: 894102
- upgrade to 1.9.0rc1

* Fri Aug 14 2015 joequant <joequant> 1.8.1-1.mga6
+ Revision: 864699
- upgrade to 1.8.1

* Sat Jul 25 2015 joequant <joequant> 1.7.1-1.mga6
+ Revision: 857171
- upgrade to 1.7.1

* Fri Jul 03 2015 joequant <joequant> 1.7.0-1.mga6
+ Revision: 849765
- upgrade to 1.7

* Wed May 27 2015 joequant <joequant> 1.6.2-1.mga6
+ Revision: 822759
- bump to 1.6.2 to fix mount /sys regression

* Sat May 09 2015 bcornec <bcornec> 1.6.1-1.mga5
+ Revision: 821564
- Update to upstream 1.6.1 to fix CVE-2015-3627, CVE-2015-3629, CVE-2015-3630, and CVE-2015-3631

* Mon Feb 23 2015 bcornec <bcornec> 1.5.0-1.mga5
+ Revision: 816686
- Update to upstream docker 1.5.0

* Fri Jan 23 2015 bcornec <bcornec> 1.4.1-2.mga5
+ Revision: 812005
- Build requires go-md2man now
- Adds Obsolete headers as per ML recommendations
- Update to upstream 1.4.1 and review build process fully. Now we use the go packages provided by docker to avoid compilation issues and mising features needed to have it work.
- Rename docker-io spec file into docker
- Rename docker-io pkg into docker

* Wed Oct 15 2014 umeabot <umeabot> 1.2.0-7.mga5
+ Revision: 745282
- Second Mageia 5 Mass Rebuild

* Mon Sep 29 2014 bcornec <bcornec> 1.2.0-6.mga5
+ Revision: 731806
- Add an upstream fix to support creation of tagged images with import

* Sun Sep 21 2014 bcornec <bcornec> 1.2.0-5.mga5
+ Revision: 712677
- Improve systemd integration for docker-io
- Improve systemd integration for docker-io

* Tue Sep 16 2014 umeabot <umeabot> 1.2.0-4.mga5
+ Revision: 678794
- Mageia 5 Mass Rebuild

* Wed Sep 10 2014 bcornec <bcornec> 1.2.0-3.mga5
+ Revision: 674527
- use gosrc macro to install ource in the std way (in parity with other golang modules)

* Wed Sep 10 2014 bcornec <bcornec> 1.2.0-2.mga5
+ Revision: 674517
- Fix docker to also deliver the new docker.socket systemd file

* Mon Sep 01 2014 bcornec <bcornec> 1.2.0-1.mga5
+ Revision: 670251
- Update to upstream docker 1.2.0

* Mon Aug 11 2014 bcornec <bcornec> 1.1.2-1.mga5
+ Revision: 661831
- Update to upstream 1.1.2

* Sat Jul 12 2014 bcornec <bcornec> 1.1.0-2.mga5
+ Revision: 651431
- Fix the patricia dep with the full name !
- Update docker-io deps (adding patricia)
- Update to upstream 1.1.0

* Wed Jul 02 2014 bcornec <bcornec> 0.12.0-1.mga5
+ Revision: 642365
- Again !
- and update the file location as well
- Fix udev rules in docker-io now installed using %%{_udevrulesdir}
- And libsqlite3-devel is also needed to build docker-io !
- Add a missing dep on golang(github.com/gorilla/context) for docker-io
- Upload first version of docker based on Fedora - no man pages yet as pandoc isn't ready
- Created package structure for docker-io.