diff --git a/SPECS/podman.spec b/SPECS/podman.spec index f60f47e..1e400bc 100644 --- a/SPECS/podman.spec +++ b/SPECS/podman.spec @@ -5,12 +5,8 @@ %global with_check 0 %global with_unit_test 0 -%if 0%{?fedora} >= 28 %bcond_without varlink %define gogenerate go generate -%else -%bcond_with varlink -%endif %if 0%{?with_debug} %global _find_debuginfo_dwz_opts %{nil} @@ -27,32 +23,23 @@ %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} %global git0 https://%{provider}.%{provider_tld}/%{project}/%{repo} -%global commit0 537c382f5bd098bc89a457554db9bd0b08eab3c2 +%global commit0 b3f10c8be229bcc58c1673b0431285fd5fce1293 %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) -%global import_path_conmon github.com/kubernetes-sigs/cri-o +%global import_path_conmon github.com/containers/conmon %global git_conmon https://%{import_path_conmon} -%global commit_conmon a30f93ca229c7fc68fb1d8c7a3342de3c3f54ae5 +%global commit_conmon 1de71ad51b9f390451eb37029ae913b0a86f1a5b %global shortcommit_conmon %(c=%{commit_conmon}; echo ${c:0:7}) Name: podman -# Epoch is 2 for f30 (rawhide), 1 for f28 and f29 -# BEWARE while using on other distros -%if 0%{?fedora} >= 30 Epoch: 2 -%else -Epoch: 1 -%endif -Version: 1.2.0 -Release: 21.dev.git%{shortcommit0}%{?dist} +Version: 1.4.4 +Release: 4%{?dist} Summary: Manage Pods, Containers and Container Images License: ASL 2.0 -URL: https://podman.io/ +URL: https://%{name}.io/ Source0: %{git0}/archive/%{commit0}/%{repo}-%{shortcommit0}.tar.gz -Source1: %{git_conmon}/archive/%{commit_conmon}/cri-o-%{shortcommit_conmon}.tar.gz -# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required -#ExclusiveArch: %%{?go_arches:%%{go_arches}}%%{!?go_arches:%%{ix86} x86_64 aarch64 %%{arm}} -ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64 ppc64 +Source1: %{git_conmon}/archive/%{commit_conmon}/conmon-%{shortcommit_conmon}.tar.gz # If go_compiler is not set to 1, there is no virtual provide. Use golang instead. BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} BuildRequires: btrfs-progs-devel @@ -70,18 +57,18 @@ BuildRequires: ostree-devel BuildRequires: pkgconfig BuildRequires: make BuildRequires: systemd +BuildRequires: systemd-devel Requires: runc >= 2:1.0.0-57 Requires: containers-common -Requires: containernetworking-plugins >= 0.7.3-2 +Requires: containernetworking-plugins >= 0.7.5-1 Requires: iptables Requires: nftables -# #1686813 - conmon hasn't been made independent yet -#Requires: conmon +Requires: libseccomp >= 2.4.1 +#Recommends: %{name}-manpages = %{epoch}:%{version}-%{release} Requires: container-selinux -Requires: slirp4netns >= 0.3-0 -%if 0%{?fedora} > 28 -Requires: fuse-overlayfs -%endif +Requires: slirp4netns >= 0.3.0-2 +#Recommends: fuse-overlayfs >= 0.3-8 +#Recommends: libvarlink-util >= 18-1 # vendored libraries # awk '{print "Provides: bundled(golang("$1")) = "$2}' vendor.conf | sort @@ -186,12 +173,15 @@ Provides: bundled(golang(k8s.io/kube-openapi)) = 275e2ce91dec4c05a4094a7b1daee55 Provides: bundled(golang(k8s.io/utils)) = 258e2a2fa64568210fbd6267cf1d8fd87c3cb86e %description +%{name} (Pod Manager) is a fully featured container engine that is a simple daemonless tool. %{name} provides a Docker-CLI comparable command line that eases the transition from other container engines and allows the management of pods, containers and images. Simply put: alias docker=%{name}. Most %{name} commands can be run as a regular user, without requiring additional privileges. + +%{name} uses Buildah(1) internally to create container images. Both tools share image (not container) storage, hence each can use or manipulate images (but not containers) created by the other. + %{summary} -%{repo} provides a library for applications looking to use -the Container Pod concept popularized by Kubernetes. +%{repo} Simple management tool for pods, containers and images %package docker -Summary: Emulate Docker CLI using podman +Summary: Emulate Docker CLI using %{name} BuildArch: noarch Requires: %{name} = %{epoch}:%{version}-%{release} Conflicts: docker @@ -202,8 +192,32 @@ Conflicts: moby-engine %description docker This package installs a script named docker that emulates the Docker CLI by -executes podman commands, it also creates links between all Docker CLI man -pages and podman. +executes %{name} commands, it also creates links between all Docker CLI man +pages and %{name}. + +%package manpages +Summary: Man pages for the %{name} commands +BuildArch: noarch + +%description manpages +Man pages for the %{name} commands + +%files manpages +%{_mandir}/man1/%{name}*.1* + +%package remote +Summary: (Experimental) Remote client for managing %{name} containers +#Recommends: %{name}-manpages = %{epoch}:%{version}-%{release} + +%description remote +Remote client for managing %{name} containers. + +This experimental remote client is under heavy development. Please do not +run %{name}-remote in production. + +%{name}-remote uses the varlink connection to connect to a %{name} client to +manage pods, containers and container images. %{name}-remote supports ssh +connections as well. %if 0%{?with_devel} %package devel @@ -340,7 +354,7 @@ building other packages which use import path with %if 0%{?with_unit_test} && 0%{?with_devel} %package unit-test-devel -Summary: Unit tests for %{name} package +Summary: Unit tests for %{name} package %if 0%{?with_check} #Here comes all BuildRequires: PACKAGE the unit tests #in %%check section need for running @@ -366,7 +380,7 @@ providing packages with %{import_path} prefix. %endif %package tests -Summary: Tests for %{name} +Summary: Tests for %{name} Requires: %{name} = %{epoch}:%{version}-%{release} Requires: bats @@ -391,31 +405,30 @@ ln -s ../../../../ src/%{import_path} popd ln -s vendor src export GOPATH=$(pwd)/_build:$(pwd) -export BUILDTAGS="varlink seccomp exclude_graphdriver_devicemapper $(hack/btrfs_installed_tag.sh) $(hack/btrfs_tag.sh) $(hack/libdm_tag.sh) $(hack/ostree_tag.sh) $(hack/selinux_tag.sh)" -export CGO_ENABLED=1 -go generate ./cmd/%{name}/varlink/... -go build -o bin/%{name} %{import_path}/cmd/%{name} + +export GO111MODULE=off +%gogenerate ./cmd/%{name}/varlink/... + +# build %%{name} +export BUILDTAGS="systemd varlink seccomp exclude_graphdriver_devicemapper $(hack/btrfs_installed_tag.sh) $(hack/btrfs_tag.sh) $(hack/libdm_tag.sh) $(hack/ostree_tag.sh) $(hack/selinux_tag.sh)" +export GO111MODULE=off +%gobuild -o bin/%{name} %{import_path}/cmd/%{name} + +# build %%{name}-remote +export BUILDTAGS="remoteclient systemd varlink seccomp exclude_graphdriver_devicemapper $(hack/btrfs_installed_tag.sh) $(hack/btrfs_tag.sh) $(hack/libdm_tag.sh) $(hack/ostree_tag.sh) $(hack/selinux_tag.sh)" +export GO111MODULE=off +%gobuild -o bin/%{name}-remote %{import_path}/cmd/%{name} # build conmon -pushd cri-o-%{commit_conmon} -mkdir _output -pushd _output -mkdir -p src/%{provider}.%{provider_tld}/{kubernetes-sigs,opencontainers} -ln -s $(dirs +1 -l) src/%{import_path_conmon} -popd -ln -s vendor src -export GOPATH=$(pwd)/_output:$(pwd) -export BUILDTAGS="selinux seccomp $(hack/btrfs_installed_tag.sh) $(hack/btrfs_tag.sh) containers_image_ostree_stub" -%ifarch ppc64 -export CGO_ENABLED=0 -%endif -BUILDTAGS=$BUILDTAGS make -C conmon +pushd conmon-%{commit_conmon} +%{__make} all popd %install install -dp %{buildroot}%{_unitdir} PODMAN_VERSION=%{version} %{__make} PREFIX=%{buildroot}%{_prefix} ETCDIR=%{buildroot}%{_sysconfdir} \ install.bin \ + install.remote \ install.man \ install.cni \ install.systemd \ @@ -429,8 +442,9 @@ install -dp %{buildroot}%{_datadir}/containers install -p -m 644 %{repo}.conf %{buildroot}%{_datadir}/containers # install conmon -install -dp %{buildroot}%{_libexecdir}/%{name} -install -p -m 755 cri-o-%{commit_conmon}/bin/conmon %{buildroot}%{_libexecdir}/%{name} +pushd conmon-%{commit_conmon} +%{__make} LIBEXECDIR=%{buildroot}%{_libexecdir} install.%{name} +popd # source codes for building projects %if 0%{?with_devel} @@ -499,6 +513,10 @@ export GOPATH=%{buildroot}/%{gopath}:$(pwd)/vendor:%{gopath} install -d -p %{buildroot}/%{_datadir}/%{name}/test/system cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/ +%triggerpostun -- %{name} < 1.1 +%{_bindir}/%{name} system renumber +exit 0 + #define license tag if not already defined %{!?_licensedir:%global license %doc} @@ -506,12 +524,12 @@ cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/ %license LICENSE %doc README.md CONTRIBUTING.md pkg/hooks/README-hooks.md install.md code-of-conduct.md transfer.md %{_bindir}/%{name} -%{_mandir}/man1/podman*.1* %{_mandir}/man5/*.5* %{_datadir}/bash-completion/completions/* # By "owning" the site-functions dir, we don't need to Require zsh %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/* +%dir %{_libexecdir}/%{name} %{_libexecdir}/%{name}/conmon %config(noreplace) %{_sysconfdir}/cni/net.d/87-%{name}-bridge.conflist %{_datadir}/containers/%{repo}.conf @@ -536,97 +554,59 @@ cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/ %doc README.md CONTRIBUTING.md pkg/hooks/README-hooks.md install.md code-of-conduct.md transfer.md %endif -%triggerpostun -- %{name} < 1.1 -podman system renumber -exit 0 +%files remote +%{_bindir}/%{name}-remote %files tests %license LICENSE %{_datadir}/%{name}/test %changelog -* Wed Mar 20 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-21.dev.git537c382 -- autobuilt 537c382 - -* Tue Mar 19 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-20.dev.gitac523cb -- autobuilt ac523cb +* Wed Jul 17 2019 Lokesh Mandvekar - 2:1.4.4-4 +- use conmon v1.0.0-rc2 -* Mon Mar 18 2019 Eduardo Santiago - 2:1.2.0-19.dev.git6aa8078 -- include zsh completion - -* Fri Mar 15 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-18.dev.git31f11a8 -- autobuilt 31f11a8 - -* Thu Mar 14 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-17.dev.git7426d4f -- autobuilt 7426d4f - -* Wed Mar 13 2019 Eduardo Santiago - 2:1.2.0-16.dev.git883566f -- new -tests subpackage +* Mon Jul 08 2019 bbaude - 2:1.4.4-3 +- correct 1.4.4 commit -* Wed Mar 13 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-15.dev.git883566f -- autobuilt 883566f +* Mon Jul 08 2019 bbaude - 2:1.4.4-2 +- add runtime depend for libssecomp -* Tue Mar 12 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-14.dev.gitde0192a -- autobuilt de0192a +* Tue Jul 02 2019 bbaude - 2:1.4.4-1 +- Bump to v1.4.4 -* Sun Mar 10 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-13.dev.gitd95f97a -- autobuilt d95f97a +* Wed Jun 26 2019 Dan Walsh - 2:1.4.3-1 +- Bump to v1.4.3 -* Sat Mar 09 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-12.dev.git9b21f14 -- autobuilt 9b21f14 +* Wed Jun 19 2019 Dan Walsh - 2:1.4.2-1 +- Bump to v1.4.2 -* Fri Mar 08 2019 Lokesh Mandvekar - 2:1.2.0-11.dev.git1b2f867 -- Resolves: #1686813 - conmon bundled inside podman rpm +* Tue Jun 11 2019 Lokesh Mandvekar - 2:1.4.0-2 +- do not install /usr/libexec/crio - conflicts with crio -* Fri Mar 08 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-10.dev.git1b2f867 -- autobuilt 1b2f867 +* Mon Jun 10 2019 Lokesh Mandvekar - 2:1.4.0-1 +- Resolves: #1715668 - CVE-2019-10152 +- bump to v1.4.0 -* Thu Mar 07 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-9.dev.git614409f -- autobuilt 614409f +* Fri May 17 2019 Dan Walsh - 2:1.3.1-1.git7210727 +- New Release of podman -* Wed Mar 06 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-8.dev.git40f7843 -- autobuilt 40f7843 +* Mon Apr 1 2019 Dan Walsh - 2:1.2.0-2.git6aa8078 +- New Release of podman -* Tue Mar 05 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-7.dev.git4b80517 -- autobuilt 4b80517 - -* Mon Mar 04 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-6.dev.gitf3a3d8e -- autobuilt f3a3d8e - -* Sat Mar 02 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-5.dev.git9adcda7 -- autobuilt 9adcda7 - -* Fri Mar 01 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-4.dev.git9137315 -- autobuilt 9137315 - -* Thu Feb 28 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-3.dev.git5afae0b -- autobuilt 5afae0b - -* Wed Feb 27 2019 Lokesh Mandvekar (Bot) - 2:1.2.0-2.dev.git623fcfa -- bump to 1.2.0 -- autobuilt 623fcfa - -* Tue Feb 26 2019 Dan Walsh - 2:1.0.1-39.dev.gitcf52144 -* Tue Feb 26 2019 Lokesh Mandvekar (Bot) - 2:1.0.1-38.dev.gitcf52144 -- autobuilt cf52144 - -* Mon Feb 25 2019 Lokesh Mandvekar (Bot) - 2:1.0.1-37.dev.git553ac80 -- autobuilt 553ac80 - -* Sun Feb 24 2019 Lokesh Mandvekar (Bot) - 2:1.0.1-36.dev.gitcc4addd -- autobuilt cc4addd +* Mon Mar 18 2019 Eduardo Santiago - 2:1.1.2-4.dev.git6aa8078 +- include zsh completion -* Sat Feb 23 2019 Lokesh Mandvekar (Bot) - 2:1.0.1-35.dev.gitb223d4e -- autobuilt b223d4e +* Wed Mar 13 2019 Eduardo Santiago - 2:1.1.2-3.dev.gitb33a00e +- new -tests subpackage -* Fri Feb 22 2019 Lokesh Mandvekar (Bot) - 2:1.0.1-34.dev.git1788add -- autobuilt 1788add +* Tue Mar 12 2019 Lokesh Mandvekar - 2:1.1.2-2.dev.git0ad9b6b +- missed the system renumber scriptlet in the previous build -* Thu Feb 21 2019 Lokesh Mandvekar (Bot) - 2:1.0.1-33.dev.git4934bf2 -- autobuilt 4934bf2 +* Tue Mar 12 2019 Lokesh Mandvekar - 2:1.1.2-1.dev.git0ad9b6b +- bump to v1.1.2 -* Wed Feb 20 2019 Lokesh Mandvekar (Bot) - 2:1.0.1-32.dev.git3b88c73 -- autobuilt 3b88c73 +* Tue Mar 12 2019 Lokesh Mandvekar - 2:1.0.1-32.dev.git228d1cb +- Resolves: #1686636 - do not depend on conmon (conmon moved to modules) * Tue Feb 19 2019 Lokesh Mandvekar (Bot) - 2:1.0.1-31.dev.git228d1cb - autobuilt 228d1cb