Hello community, here is the log from the commit of package containerd for openSUSE:Factory checked in at 2018-09-05 13:46:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/containerd (Old) and /work/SRC/openSUSE:Factory/.containerd.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "containerd" Wed Sep 5 13:46:23 2018 rev:26 rq:632122 version:1.1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/containerd/containerd.changes 2018-06-22 13:16:33.792412480 +0200 +++ /work/SRC/openSUSE:Factory/.containerd.new/containerd.changes 2018-09-05 13:46:36.910062374 +0200 @@ -1,0 +2,38 @@ +Wed Aug 22 10:10:09 UTC 2018 - asarai@suse.com + +- Upgrade to containerd v1.1.2, which is required for Docker v18.06.1-ce. + bsc#1102522 + +------------------------------------------------------------------- +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 + +------------------------------------------------------------------- +Wed Aug 1 09:40:59 UTC 2018 - asarai@suse.com + +- Enable seccomp support on SLE12, since libseccomp is now a new enough vintage + to work with Docker and containerd. fate#325877 + +------------------------------------------------------------------- +Wed Jul 25 08:54:33 UTC 2018 - asarai@suse.com + +- Update to containerd v1.1.1, which is the required version for the Docker + v18.06.0-ce upgrade. bsc#1102522 +- Add backport of https://github.com/containerd/containerd/pull/2534 to make + the man page no longer pollute the global namespace. + + 0001-docs-man-rename-config.toml-5-to-be-more-descriptive.patch +- Remove the following patch since it has already been merged upstream. + - bsc1065109-0001-makefile-add-support-for-build_flags.patch +- Remove systemd-related files and add docker-containerd-* symlinks; this + aligns with the upstream defaults where dockerd will execute + docker-containerd. Version upgrades of docker are expected to work more + smoothly as much of the upgrade logic is implemented in dockerd. +- Add containerd-rpmlintrc (or containerd-kubic-rpmlintrc) to deal with + /usr/src/containerd/* rpmlint errors (which don't affect normal users of this + package). + +------------------------------------------------------------------- @@ -11,0 +50,22 @@ + +------------------------------------------------------------------- +Wed May 16 10:10:10 UTC 2018 - jmassaguerpla@suse.com + +- Review obsoletes tag to fix bsc#1080978 + +------------------------------------------------------------------- +Thu Apr 12 12:48:16 UTC 2018 - fcastelli@suse.com + +- Put containerd under the podruntime slice. This the recommended + deployment to allow fine resource control on Kubernetes. + bsc#1086185 + +------------------------------------------------------------------- +Mon Feb 12 10:52:49 UTC 2018 - rbrown@suse.com + +- Add ${version} to equivalent non-kubic package provides + +------------------------------------------------------------------- +Thu Feb 8 12:34:13 UTC 2018 - rbrown@suse.com + +- Add Provides for equivalent non-kubic packages Old: ---- bsc1065109-0001-makefile-add-support-for-build_flags.patch containerd-git.06b9cb351610.tar.xz containerd.service containerd.socket sysconfig.containerd New: ---- 0001-docs-man-rename-config.toml-5-to-be-more-descriptive.patch _multibuild containerd-git.468a545b9edc.tar.xz containerd-rpmlintrc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ containerd.spec ++++++ --- /var/tmp/diff_new_pack.E52iZR/_old 2018-09-05 13:46:38.370064822 +0200 +++ /var/tmp/diff_new_pack.E52iZR/_new 2018-09-05 13:46:38.370064822 +0200 @@ -22,47 +22,65 @@ %define _fillupdir /var/adm/fillup-templates %endif -%define go_tool go -%define GO_BUILD_FLAGS -buildmode=pie +# Handle _multibuild magic. +%define flavour @BUILD_FLAVOR@%{nil} -# MANUAL: Update the git_version and git_revision -%define git_version 06b9cb35161009dcb7123345749fef02f7cea8e0 -%define git_short 06b9cb351610 -# How to get the git_revision -# git clone https://github.com/containerd/containerd.git containerd-upstream -# cd containerd -# git checkout $git_version -# git_revision=r$(git rev-list HEAD | wc -l) -%define git_revision r706 +# We split the Name: into "realname" and "name_suffix". +%define realname containerd +%if "%flavour" == "" +%define name_suffix %{nil} +%else +%define name_suffix -%{flavour} +%endif + +# MANUAL: Update the git_version. +%define containerd_version 1.1.2 +%define git_version 468a545b9edcd5932818eb9de8e72413e616e86e +%define git_short 468a545b9edc # These are the git commits required. We verify them against the source to make # sure we didn't miss anything important when doing upgrades. This MUST match # required_dockerrunc in docker.spec! -%define required_dockerrunc 3f2f8b84a77f73d38244dd690525642a72156c64 +%define required_dockerrunc 69663f0bd4b60df09991c08812a60108003fa340 -Name: containerd -Version: 0.2.9+git%{git_revision}_%{git_short} +Name: %{realname}%{name_suffix} +Version: 1.1.2 Release: 0 Summary: Standalone OCI Container Daemon License: Apache-2.0 Group: System/Management Url: https://containerd.tools -Source: %{name}-git.%{git_short}.tar.xz -Source1: %{name}.service -Source2: %{name}.socket -Source3: sysconfig.%{name} -# OPENSUSE-FIX-UPSTREAM: Backport of https://github.com/containerd/containerd/pull/1686. bsc#1065109 boo#1053532 -Patch100: bsc1065109-0001-makefile-add-support-for-build_flags.patch +Source: %{realname}-git.%{git_short}.tar.xz +Source1: %{realname}-rpmlintrc +# OPENSUSE-BACKPORT: Backport of https://github.com/containerd/containerd/pull/2534. +Patch1: 0001-docs-man-rename-config.toml-5-to-be-more-descriptive.patch BuildRequires: fdupes -BuildRequires: golang(API) = 1.8 -BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: glibc-devel-static +BuildRequires: go-go-md2man +BuildRequires: libbtrfs-devel >= 3.8 +BuildRequires: libseccomp-devel >= 2.2 +BuildRequires: pkg-config +BuildRequires: golang(API) = 1.10 # We provide a git revision so that Docker can require it properly. Provides: %{name}-git = %{git_version} -# Currently runC is the only supported runtime for containerd. We match the -# same version as the one pinned by Docker. -Requires: docker-runc-git = %{required_dockerrunc} +# Currently runc is the only supported runtime for containerd. We match the +# same version as the one pinned by Docker. Obviously we pin the same flavour +# as us, to avoid mixing. +Requires: docker-runc%{name_suffix}-git = %{required_dockerrunc} Requires(post): %fillup_prereq ExcludeArch: s390 +# 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 older package without -kubic suffix: v2 -> v3 +Obsoletes: %{realname} = 0.2.5+gitr569_2a5e70c +Obsoletes: %{realname}_2a5e70c +# Conflict with non-kubic package, and provide equivalent +Conflicts: %{realname} > 0.2.5+gitr569_2a5e70c +Provides: %{realname} = %{version} +%endif %description Containerd is a daemon with an API and a command line client, to manage @@ -75,7 +93,18 @@ Summary: Client for %{name} Group: System/Management Requires: %{name} = %{version} -BuildRequires: golang(API) = 1.8 +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 older package without -kubic suffix: v2 -> v3 +Obsoletes: %{realname}-ctr = 0.2.5+gitr569_2a5e70c +# Conflict with non-kubic package, and provide equivalent +Conflicts: %{realname}-ctr > 0.2.5+gitr569_2a5e70c +Provides: %{realname}-ctr = %{version} +%endif %description ctr Standalone client for containerd, which allows management of containerd containers @@ -84,16 +113,26 @@ %package test Summary: Test package for containerd Group: System/Management -BuildRequires: golang(API) = 1.8 +BuildRequires: golang(API) = 1.10 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 older package without -kubic suffix: v2 -> v3 +Obsoletes: %{realname}-test = 0.2.5+gitr569_2a5e70c +# Conflict with non-kubic package, and provide equivalent +Conflicts: %{realname}-test > 0.2.5+gitr569_2a5e70c +Provides: %{realname}-test = %{version} +%endif %description test Test package for containerd. It contains the source code and the tests. %prep -%setup -q -n %{name}-git.%{git_short} -# bsc#1065109 boo#1053532 -%patch100 -p1 +%setup -q -n %{realname}-git.%{git_short} +%patch1 -p1 %build # Do not use symlinks. If you want to run the unit tests for this package at @@ -105,7 +144,13 @@ rm -rf $PROJECT/* cp -ar * $PROJECT -make -C $PROJECT GIT_COMMIT=%{git_version} +BUILDTAGS="apparmor selinux seccomp" +make -C $PROJECT \ + BUILDTAGS="$BUILDTAGS" \ + VERSION="v%{version}" \ + REVISION="%{git_version}" +make man + cp $PROJECT/bin/ctr ctr-%{version} cp $PROJECT/bin/containerd containerd-%{version} cp $PROJECT/bin/containerd-shim containerd-shim-%{version} @@ -118,49 +163,53 @@ # boo#1095817 %install -install -D -m755 containerd-%{version} %{buildroot}/%{_sbindir}/containerd -install -D -m755 containerd-shim-%{version} %{buildroot}/%{_sbindir}/containerd-shim -install -D -m755 ctr-%{version} %{buildroot}/%{_sbindir}/%{name}-ctr - -# Add service and sysconfig. -install -D -m644 %SOURCE1 %{buildroot}/%{_unitdir}/%{name}.service -install -D -m644 %SOURCE2 %{buildroot}/%{_unitdir}/%{name}.socket -ln -sf %{_sbindir}/service %{buildroot}/%{_sbindir}/rccontainerd -install -D -m644 %SOURCE3 %{buildroot}%{_fillupdir}/sysconfig.%{name} +# Install binaries. +install -D -m755 containerd-%{version} %{buildroot}/%{_sbindir}/%{realname} +install -D -m755 containerd-shim-%{version} %{buildroot}/%{_sbindir}/%{realname}-shim +install -D -m755 ctr-%{version} %{buildroot}/%{_sbindir}/%{realname}-ctr + +# Install docker-* symlinks to said binaries, since in order to use the +# upstream setup, Docker needs to spawn containerd and needs to have the +# binaries have specific names. +ln -s %{_sbindir}/%{realname} %{buildroot}/%{_sbindir}/docker-%{realname} +ln -s %{_sbindir}/%{realname}-shim %{buildroot}/%{_sbindir}/docker-%{realname}-shim + +# Set up dummy configuration. +install -d -m755 %{buildroot}/%{_sysconfdir}/%{realname} +echo "# See containerd-config.toml(5) for documentation." >%{buildroot}/%{_sysconfdir}/%{realname}/config.toml + +# Man pages. +for file in man/* +do + section="${file##*.}" + install -D -m644 "$file" "%{buildroot}/%{_mandir}/man$section/$(basename "$file")" +done +ln -s ctr.1 %{buildroot}/%{_mandir}/man1/%{realname}-ctr.1 +# Source tree for containerd-test. install -d -m755 %{buildroot}/usr/src/containerd/ cp -ar $HOME/go/src/github.com/containerd/containerd/* %{buildroot}/usr/src/containerd/ -# remove files we don't want to ship - exclude is the wrong usage here +# Remove files we don't want to ship - exclude is the wrong usage here. rm -rf %{buildroot}/usr/src/containerd/bin %fdupes %{buildroot} -%pre -%service_add_pre %{name}.service %{name}.socket - -%post -%service_add_post %{name}.service %{name}.socket -%{fillup_only -n containerd} - -%preun -%service_del_preun %{name}.service %{name}.socket - -%postun -%service_del_postun %{name}.service %{name}.socket - %files %defattr(-,root,root) %doc README.md -%license LICENSE.code LICENSE.docs -%{_sbindir}/containerd -%{_sbindir}/containerd-shim -%{_unitdir}/%{name}.service -%{_unitdir}/%{name}.socket -%{_fillupdir}/sysconfig.%{name} -%{_sbindir}/rccontainerd +%license LICENSE +%dir %{_sysconfdir}/%{realname} +%config %{_sysconfdir}/%{realname}/config.toml +%{_sbindir}/%{realname} +%{_sbindir}/docker-%{realname} +%{_sbindir}/%{realname}-shim +%{_sbindir}/docker-%{realname}-shim +%{_mandir}/man*/%{realname}* +%exclude %{_mandir}/man1/*ctr.1* %files ctr -%{_sbindir}/%{name}-ctr +%{_sbindir}/%{realname}-ctr +%{_mandir}/man1/*ctr.1* %files test %defattr(-,root,root) ++++++ 0001-docs-man-rename-config.toml-5-to-be-more-descriptive.patch ++++++
From 7aa132ffc732e445a7673d1dd0612d32737cd0dd Mon Sep 17 00:00:00 2001 From: Aleksa Sarai
Date: Wed, 8 Aug 2018 18:15:00 +1000 Subject: [PATCH] docs: man: rename config.toml(5) to be more descriptive
The man page namespace is global, so in order to avoid colliding with
other man pages named "config.toml" rename ours to be more descriptive.
This also helps with discoverability (now tab-completion of 'man
containerd<tab>' will return the config man page), as well as making it
much cleaner from the perspective of distributions that want to package
containerd.
Signed-off-by: Aleksa Sarai