- Merge -kubic packages back into the main Virtualization:containers packages.
This is done using _multibuild to add a "kubic" flavour, which is then used to conditionally compile patches and other kubic-specific features. bsc#1105000 OBS-URL: https://build.opensuse.org/package/show/Virtualization:containers/docker?expand=0&rev=259
This commit is contained in:
parent
1ab6c95c8e
commit
cc1fefc9bf
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
||||
<multibuild>
|
||||
<package>kubic</package>
|
||||
</multibuild>
|
4
docker-kubic-service.conf
Normal file
4
docker-kubic-service.conf
Normal file
@ -0,0 +1,4 @@
|
||||
[Service]
|
||||
# Put docker under the podruntime slice. This the recommended
|
||||
# deployment to allow fine resource control on Kubernetes.
|
||||
Slice=podruntime.slice
|
@ -1,7 +1,9 @@
|
||||
addFilter ("^docker.x86_64: W: statically-linked-binary /usr/lib64/docker/dockerinit")
|
||||
addFilter ("^docker-bash-completion.noarch: W: sourced-script-with-shebang /etc/bash_completion.d/docker bash")
|
||||
addFilter ("^docker.x86_64: W: statically-linked-binary /usr/lib/docker/dockerinit")
|
||||
addFilter ("^docker.x86_64: W: unstripped-binary-or-object /usr/lib/docker/dockerinit")
|
||||
addFilter ("^docker.x86_64: W: no-manual-page-for-binary docker")
|
||||
addFilter ("^docker.x86_64: W: no-manual-page-for-binary nsinit")
|
||||
addFilter ("^docker-test.*")
|
||||
# This is intentional, since we use _multibuild for the flavours.
|
||||
addFilter ("^docker-kubic.src: W: invalid-spec-name")
|
||||
|
||||
# The #! comes from upstream.
|
||||
addFilter ("^docker(-kubic)?-bash-completion.noarch: W: sourced-script-with-shebang /etc/bash_completion.d/docker bash")
|
||||
addFilter ("^docker(-kubic)?-zsh-completion.noarch: W: sourced-script-with-shebang /etc/zsh_completion.d/docker zsh")
|
||||
|
||||
# -test is something that is used internally and isn't actually shipped -- it's a pseduo-source package.
|
||||
addFilter ("^docker(-kubic)?-test.*")
|
||||
|
@ -1,3 +1,12 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 16 02:00:31 UTC 2018 - asarai@suse.com
|
||||
|
||||
- Merge -kubic packages back into the main Virtualization:containers packages.
|
||||
This is done using _multibuild to add a "kubic" flavour, which is then used
|
||||
to conditionally compile patches and other kubic-specific features.
|
||||
bsc#1105000
|
||||
- Rework docker-rpmlintrc with the new _multibuild setup.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 1 09:40:59 UTC 2018 - asarai@suse.com
|
||||
|
||||
@ -36,11 +45,6 @@ Fri Jun 29 08:35:56 UTC 2018 - asarai@suse.com
|
||||
* bsc1073877-0001-apparmor-allow-receiving-of-signals-from-docker-kill.patch
|
||||
+ bsc1073877-0002-apparmor-clobber-docker-default-profile-on-start.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 13 10:19:23 UTC 2018 - dcassany@suse.com
|
||||
|
||||
- Make use of %license macro
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 5 11:24:35 UTC 2018 - asarai@suse.com
|
||||
|
||||
@ -48,6 +52,11 @@ Tue Jun 5 11:24:35 UTC 2018 - asarai@suse.com
|
||||
between in-container processes. bsc#1073877
|
||||
* bsc1073877-0001-apparmor-allow-receiving-of-signals-from-docker-kill.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 5 08:41:07 UTC 2018 - dcassany@suse.com
|
||||
|
||||
- Make use of %license macro
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 5 06:38:40 UTC 2018 - asarai@suse.com
|
||||
|
||||
@ -63,6 +72,18 @@ Tue May 29 08:10:48 UTC 2018 - asarai@suse.com
|
||||
* secrets-0001-daemon-allow-directory-creation-in-run-secrets.patch
|
||||
* secrets-0002-SUSE-implement-SUSE-container-secrets.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 16 10:12:56 UTC 2018 - jmassaguerpla@suse.com
|
||||
|
||||
- Review Obsoletes to fix bsc#1080978
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 12 12:49:25 UTC 2018 - fcastelli@suse.com
|
||||
|
||||
- Put docker under the podruntime slice. This the recommended
|
||||
deployment to allow fine resource control on Kubernetes.
|
||||
bsc#1086185
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 10 09:25:43 UTC 2018 - mmeister@suse.com
|
||||
|
||||
@ -88,6 +109,13 @@ Tue Mar 27 10:13:41 UTC 2018 - asarai@suse.com
|
||||
- Add requirement for catatonit, which provides a docker-init implementation.
|
||||
fate#324652 bsc#1085380
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 8 13:14:54 UTC 2018 - vrothberg@suse.com
|
||||
|
||||
- Fix private-registry-0001-Add-private-registry-mirror-support.patch to
|
||||
deal corretly with TLS configs of 3rd party registries.
|
||||
fix bsc#1084533
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 13 10:45:58 UTC 2018 - asarai@suse.com
|
||||
|
||||
@ -97,9 +125,40 @@ Tue Feb 13 10:45:58 UTC 2018 - asarai@suse.com
|
||||
patch maintenance is much simpler.
|
||||
* bsc1021227-0001-pkg-devmapper-dynamically-load-dm_task_deferred_remo.patch
|
||||
* bsc1055676-0001-daemon-oci-obey-CL_UNPRIVILEGED-for-user-namespaced-.patch
|
||||
* private-registry-0001-Add-private-registry-mirror-support.patch
|
||||
* secrets-0001-daemon-allow-directory-creation-in-run-secrets.patch
|
||||
* secrets-0002-SUSE-implement-SUSE-container-secrets.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 12 10:52:33 UTC 2018 - rbrown@suse.com
|
||||
|
||||
- Add ${version} to equivalent non-kubic package provides
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 8 12:34:51 UTC 2018 - rbrown@suse.com
|
||||
|
||||
- Add Provides for equivalent non-kubic packages
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 30 12:27:44 UTC 2018 - vrothberg@suse.com
|
||||
|
||||
- Disable all tests for docker/client and docker/pkg/discovery. The unit tests
|
||||
of those packages broke reproducibly the builds in IBS.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 29 14:39:02 UTC 2018 - vrothberg@suse.com
|
||||
|
||||
- Disable flaky tests github.com/docker/docker/pkg/discovery/kv.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 26 07:15:53 UTC 2018 - vrothberg@suse.com
|
||||
|
||||
- Add patch to support mirroring of private/non-upstream registries. As soon as
|
||||
the upstream PR (https://github.com/moby/moby/pull/34319) is merged, this
|
||||
patch will be replaced by the backported one from upstream.
|
||||
+ private-registry-0001-Add-private-registry-mirror-support.patch
|
||||
fix bsc#1074971
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 19 14:12:32 UTC 2018 - asarai@suse.com
|
||||
|
||||
|
117
docker.spec
117
docker.spec
@ -26,6 +26,17 @@
|
||||
%define _fillupdir /var/adm/fillup-templates
|
||||
%endif
|
||||
|
||||
# Handle _multibuild magic.
|
||||
%define flavour @BUILD_FLAVOR@%{nil}
|
||||
|
||||
# We split the Name: into "realname" and "name_suffix".
|
||||
%define realname docker
|
||||
%if "%flavour" == ""
|
||||
%define name_suffix %{nil}
|
||||
%else
|
||||
%define name_suffix -%{flavour}
|
||||
%endif
|
||||
|
||||
# Used when generating the "build" information for Docker version. The value of
|
||||
# git_commit_epoch is unused here (we use SOURCE_DATE_EPOCH, which rpm
|
||||
# helpfully injects into our build environment from the changelog). If you want
|
||||
@ -40,7 +51,7 @@
|
||||
%define required_dockerrunc 69663f0bd4b60df09991c08812a60108003fa340
|
||||
%define required_libnetwork 3ac297bc7fd0afec9051bbb47024c9bc1d75bf5b
|
||||
|
||||
Name: docker
|
||||
Name: %{realname}%{name_suffix}
|
||||
Version: 18.06.0_ce
|
||||
Release: 0
|
||||
Summary: The Linux container runtime
|
||||
@ -48,8 +59,10 @@ License: Apache-2.0
|
||||
Group: System/Management
|
||||
Url: http://www.docker.io
|
||||
# TODO(VR): check those SOURCE files below
|
||||
Source: %{name}-%{version}.tar.xz
|
||||
Source: %{realname}-%{version}.tar.xz
|
||||
Source1: docker.service
|
||||
# bsc#1086185 -- but we only apply this on Kubic.
|
||||
Source2: docker-kubic-service.conf
|
||||
Source3: 80-docker.rules
|
||||
Source4: sysconfig.docker
|
||||
Source6: docker-rpmlintrc
|
||||
@ -68,6 +81,9 @@ Patch400: bsc1073877-0001-apparmor-allow-receiving-of-signals-from-docker-
|
||||
Patch401: bsc1073877-0002-apparmor-clobber-docker-default-profile-on-start.patch
|
||||
# SUSE-BACKPORT: Backport of https://github.com/docker/cli/pull/1242. bsc#1100727
|
||||
Patch402: bsc1100727-0001-build-add-buildmode-pie.patch
|
||||
# SUSE-FEATURE: Add support to mirror inofficial/private registries
|
||||
# (https://github.com/moby/moby/pull/34319)
|
||||
Patch500: private-registry-0001-Add-private-registry-mirror-support.patch
|
||||
BuildRequires: audit
|
||||
BuildRequires: bash-completion
|
||||
BuildRequires: ca-certificates
|
||||
@ -86,14 +102,14 @@ Requires: ca-certificates-mozilla
|
||||
# Required in order for networking to work. fix_bsc_1057743 is a work-around
|
||||
# for some old packaging issues (where rpm would delete a binary that was
|
||||
# installed by docker-libnetwork). See bsc#1057743 for more details.
|
||||
Requires: docker-libnetwork-git = %{required_libnetwork}
|
||||
Requires: docker-libnetwork%{name_suffix}-git = %{required_libnetwork}
|
||||
Requires: fix_bsc_1057743
|
||||
# Containerd and runC are required as they are the only currently supported
|
||||
# execdrivers of Docker. NOTE: The version pinning here matches upstream's
|
||||
# vendor.conf to ensure that we don't use a slightly incompatible version of
|
||||
# runC or containerd (which would be bad).
|
||||
Requires: containerd-git = %{required_containerd}
|
||||
Requires: docker-runc-git = %{required_dockerrunc}
|
||||
Requires: containerd%{name_suffix}-git = %{required_containerd}
|
||||
Requires: docker-runc%{name_suffix}-git = %{required_dockerrunc}
|
||||
# Needed for --init support. We don't use "tini", we use our own implementation
|
||||
# which handles edge-cases better.
|
||||
Requires: catatonit
|
||||
@ -116,11 +132,22 @@ Obsoletes: docker-image-migrator
|
||||
# different storage-driver than devicemapper
|
||||
Recommends: lvm2 >= 2.2.89
|
||||
Conflicts: lxc < 1.0
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
ExcludeArch: s390 ppc
|
||||
# Make sure we build with go 1.10
|
||||
BuildRequires: go-go-md2man
|
||||
BuildRequires: golang(API) = 1.10
|
||||
# KUBIC-SPECIFIC: This was required when upgrading from the original kubic
|
||||
# packaging, when everything was renamed to -kubic. It also is
|
||||
# used to ensure that nothing complains too much when using
|
||||
# -kubic packages. Hopfully it can be removed one day.
|
||||
%if "%flavour" == "kubic"
|
||||
# Obsolete old packege without the -kubic suffix
|
||||
Obsoletes: %{realname} = 1.12.6
|
||||
Obsoletes: %{realname}_1_12_6
|
||||
# Conflict with non-kubic package, and provide equivalent
|
||||
Conflicts: %{realname}
|
||||
Provides: %{realname} = %{version}
|
||||
%endif
|
||||
|
||||
%description
|
||||
Docker complements LXC with a high-level API which operates at the process
|
||||
@ -135,8 +162,19 @@ service-oriented architectures, etc.
|
||||
Summary: Bash Completion for %{name}
|
||||
Group: System/Management
|
||||
Requires: %{name} = %{version}
|
||||
Supplements: packageand(docker:bash-completion)
|
||||
Supplements: packageand(%{name}:bash-completion)
|
||||
BuildArch: noarch
|
||||
# KUBIC-SPECIFIC: This was required when upgrading from the original kubic
|
||||
# packaging, when everything was renamed to -kubic. It also is
|
||||
# used to ensure that nothing complains too much when using
|
||||
# -kubic packages. Hopfully it can be removed one day.
|
||||
%if "%flavour" == "kubic"
|
||||
# Obsolete old packege without the -kubic suffix
|
||||
Obsoletes: %{realname}-bash-completion = 1.12.6
|
||||
# Conflict with non-kubic package, and provide equivalent
|
||||
Conflicts: %{realname}-bash-completion > 1.12.6
|
||||
Provides: %{realname}-bash-completion = %{version}
|
||||
%endif
|
||||
|
||||
%description bash-completion
|
||||
Bash command line completion support for %{name}.
|
||||
@ -145,8 +183,19 @@ Bash command line completion support for %{name}.
|
||||
Summary: Zsh Completion for %{name}
|
||||
Group: System/Management
|
||||
Requires: %{name} = %{version}
|
||||
Supplements: packageand(docker:zsh)
|
||||
Supplements: packageand(%{name}:zsh)
|
||||
BuildArch: noarch
|
||||
# KUBIC-SPECIFIC: This was required when upgrading from the original kubic
|
||||
# packaging, when everything was renamed to -kubic. It also is
|
||||
# used to ensure that nothing complains too much when using
|
||||
# -kubic packages. Hopfully it can be removed one day.
|
||||
%if "%flavour" == "kubic"
|
||||
# Obsolete old packege without the -kubic suffix
|
||||
Obsoletes: %{realname}-zsh-completion = 1.12.6
|
||||
# Conflict with non-kubic package, and provide equivalent
|
||||
Conflicts: %{realname}-zsh-completion > 1.12.6
|
||||
Provides: %{realname}-zsh-completion = %{version}
|
||||
%endif
|
||||
|
||||
%description zsh-completion
|
||||
Zsh command line completion support for %{name}.
|
||||
@ -165,12 +214,23 @@ Requires: libbtrfs-devel >= 3.8
|
||||
Requires: procps
|
||||
Requires: sqlite3-devel
|
||||
Requires: golang(API) = 1.8
|
||||
# KUBIC-SPECIFIC: This was required when upgrading from the original kubic
|
||||
# packaging, when everything was renamed to -kubic. It also is
|
||||
# used to ensure that nothing complains too much when using
|
||||
# -kubic packages. Hopfully it can be removed one day.
|
||||
%if "%flavour" == "kubic"
|
||||
# Obsolete old packege without the -kubic suffix
|
||||
Obsoletes: %{realname}-test = 1.12.6
|
||||
# Conflict with non-kubic package, and provide equivalent
|
||||
Conflicts: %{realname}-test > 1.12.6
|
||||
Provides: %{realname}-test = %{version}
|
||||
%endif
|
||||
|
||||
%description test
|
||||
Test package for docker. It contains the source code and the tests.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%setup -q -n %{realname}-%{version}
|
||||
%if 0%{?is_opensuse}
|
||||
# nothing
|
||||
%else
|
||||
@ -184,6 +244,10 @@ Test package for docker. It contains the source code and the tests.
|
||||
%patch401 -p1
|
||||
# bsc#1100727
|
||||
%patch402 -p1
|
||||
%if "%flavour" == "kubic"
|
||||
# PATCH-SUSE: Mirror patch.
|
||||
%patch500 -p1
|
||||
%endif
|
||||
|
||||
cp %{SOURCE7} .
|
||||
cp %{SOURCE9} .
|
||||
@ -268,8 +332,8 @@ install -Dd -m 0755 \
|
||||
%{buildroot}%{_sysconfdir}/init.d \
|
||||
%{buildroot}%{_sbindir}
|
||||
|
||||
install -D -m0644 components/cli/contrib/completion/bash/docker "%{buildroot}%{_sysconfdir}/bash_completion.d/%{name}"
|
||||
install -D -m0644 components/cli/contrib/completion/zsh/_docker "%{buildroot}%{_sysconfdir}/zsh_completion.d/%{name}"
|
||||
install -D -m0644 components/cli/contrib/completion/bash/docker "%{buildroot}%{_sysconfdir}/bash_completion.d/%{realname}"
|
||||
install -D -m0644 components/cli/contrib/completion/zsh/_docker "%{buildroot}%{_sysconfdir}/zsh_completion.d/%{realname}"
|
||||
# copy all for the test package
|
||||
install -d %{buildroot}%{_prefix}/src/docker/
|
||||
cp -a components/engine/. %{buildroot}%{_prefix}/src/docker/engine
|
||||
@ -278,17 +342,20 @@ cp -a components/cli/. %{buildroot}%{_prefix}/src/docker/cli
|
||||
#
|
||||
# systemd service
|
||||
#
|
||||
install -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
|
||||
install -D -m0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{realname}.service
|
||||
%if "%flavour" == "kubic"
|
||||
install -D -m0644 %{SOURCE2} %{buildroot}%{_unitdir}/%{realname}.service.d/90-kubic.conf
|
||||
%endif
|
||||
ln -sf service %{buildroot}%{_sbindir}/rcdocker
|
||||
|
||||
#
|
||||
# udev rules that prevents dolphin to show all docker devices and slows down
|
||||
# upstream report https://bugs.kde.org/show_bug.cgi?id=329930
|
||||
#
|
||||
install -D -m 0644 %{SOURCE3} %{buildroot}%{_udevrulesdir}/80-%{name}.rules
|
||||
install -D -m 0644 %{SOURCE3} %{buildroot}%{_udevrulesdir}/80-%{realname}.rules
|
||||
|
||||
# audit rules
|
||||
install -D -m 0640 %{SOURCE8} %{buildroot}%{_sysconfdir}/audit/rules.d/%{name}.rules
|
||||
install -D -m 0640 %{SOURCE8} %{buildroot}%{_sysconfdir}/audit/rules.d/%{realname}.rules
|
||||
|
||||
# sysconfig file
|
||||
install -D -m 644 %{SOURCE4} %{buildroot}%{_fillupdir}/sysconfig.docker
|
||||
@ -305,10 +372,10 @@ install -p -m 644 components/cli/man/man8/*.8 %{buildroot}%{_mandir}/man8
|
||||
|
||||
%pre
|
||||
getent group docker >/dev/null || groupadd -r docker
|
||||
%service_add_pre %{name}.service
|
||||
%service_add_pre %{realname}.service
|
||||
|
||||
%post
|
||||
%service_add_post %{name}.service
|
||||
%service_add_post %{realname}.service
|
||||
%{fillup_only -n docker}
|
||||
|
||||
# NOTE: This is a pretty hacky way of getting around the fact we've removed
|
||||
@ -323,10 +390,10 @@ getent group docker >/dev/null || groupadd -r docker
|
||||
)
|
||||
|
||||
%preun
|
||||
%service_del_preun %{name}.service
|
||||
%service_del_preun %{realname}.service
|
||||
|
||||
%postun
|
||||
%service_del_postun %{name}.service
|
||||
%service_del_postun %{realname}.service
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
@ -335,9 +402,13 @@ getent group docker >/dev/null || groupadd -r docker
|
||||
%{_bindir}/docker
|
||||
%{_bindir}/dockerd
|
||||
%{_sbindir}/rcdocker
|
||||
%{_unitdir}/%{name}.service
|
||||
%config %{_sysconfdir}/audit/rules.d/%{name}.rules
|
||||
%{_udevrulesdir}/80-%{name}.rules
|
||||
%{_unitdir}/%{realname}.service
|
||||
%if "%flavour" == "kubic"
|
||||
%dir %{_unitdir}/%{realname}.service.d/
|
||||
%{_unitdir}/%{realname}.service.d/90-kubic.conf
|
||||
%endif
|
||||
%config %{_sysconfdir}/audit/rules.d/%{realname}.rules
|
||||
%{_udevrulesdir}/80-%{realname}.rules
|
||||
%{_fillupdir}/sysconfig.docker
|
||||
%dir %{_localstatedir}/lib/docker/
|
||||
%{_mandir}/man1/docker-*.1%{ext_man}
|
||||
@ -347,11 +418,11 @@ getent group docker >/dev/null || groupadd -r docker
|
||||
|
||||
%files bash-completion
|
||||
%defattr(-,root,root)
|
||||
%config %{_sysconfdir}/bash_completion.d/%{name}
|
||||
%config %{_sysconfdir}/bash_completion.d/%{realname}
|
||||
|
||||
%files zsh-completion
|
||||
%defattr(-,root,root)
|
||||
%config %{_sysconfdir}/zsh_completion.d/%{name}
|
||||
%config %{_sysconfdir}/zsh_completion.d/%{realname}
|
||||
|
||||
%files test
|
||||
%defattr(-,root,root)
|
||||
|
1163
private-registry-0001-Add-private-registry-mirror-support.patch
Normal file
1163
private-registry-0001-Add-private-registry-mirror-support.patch
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user