# 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.