158e7a
%global with_debug 1
158e7a
%global with_check 0
158e7a
158e7a
%if 0%{?with_debug}
ade5cc
%global _find_debuginfo_dwz_opts %{nil}
158e7a
%global _dwz_low_mem_die_limit 0
158e7a
%else
11acd1
%global debug_package %{nil}
158e7a
%endif
158e7a
b9201a
%if ! 0%{?gobuild:1}
862d2f
%define gobuild(o:) \
11acd1
go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags'" -a -v -x %{?**};
b9201a
%endif
b9201a
11acd1
%global provider github
11acd1
%global provider_tld com
11acd1
%global project opencontainers
11acd1
%global repo runc
158e7a
# https://github.com/opencontainers/runc
11acd1
%global import_path %{provider}.%{provider_tld}/%{project}/%{repo}
11acd1
%global git0 https://%{import_path}
11acd1
%global commit0 425e105d5a03fabd737a126ad93d62a9eeede87f
11acd1
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
158e7a
d41e45
Name: %{repo}
d41e45
Version: 1.0.0
336e11
Release: 65.rc8%{?dist}
d41e45
Summary: CLI for running Open Containers
d41e45
License: ASL 2.0
11acd1
URL: %{git0}
11acd1
Source0: %{git0}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz
814f49
Source1: 99-containers.conf
11acd1
Patch0: 1807.patch
11acd1
Patch1: change-default-root.patch
158e7a
Requires: criu
b9201a
Requires(pre): container-selinux >= 2:2.2-2
336e11
ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64
862d2f
BuildRequires: go-toolset-1.10
862d2f
BuildRequires: openssl-devel
d41e45
BuildRequires: git
158e7a
BuildRequires: go-md2man
10646f
BuildRequires: libseccomp-devel
158e7a
158e7a
%description
158e7a
The runc command can be used to start containers which are packaged
158e7a
in accordance with the Open Container Initiative's specifications,
158e7a
and to manage containers running under runc.
158e7a
ade5cc
# Go Toolset
11acd1
%{?enable_gotoolset110}
ade5cc
158e7a
%prep
11acd1
%autosetup -Sgit -n %{name}-%{commit0}
158e7a
158e7a
%build
3c9cc0
mkdir -p GOPATH
3c9cc0
pushd GOPATH
3c9cc0
    mkdir -p src/%{provider}.%{provider_tld}/%{project}
3c9cc0
    ln -s $(dirs +1 -l) src/%{import_path}
3c9cc0
popd
158e7a
3c9cc0
pushd GOPATH/src/%{import_path}
81896e
export GOPATH=$(pwd)/GOPATH
b9201a
export BUILDTAGS='selinux seccomp'
862d2f
%gobuild -o %{name} %{import_path} 
158e7a
158e7a
pushd man
158e7a
./md2man-all.sh
158e7a
popd
158e7a
158e7a
%install
158e7a
install -d -p %{buildroot}%{_bindir}
10646f
install -p -m 755 %{name} %{buildroot}%{_bindir}
158e7a
158e7a
install -d -p %{buildroot}%{_mandir}/man8
158e7a
install -p -m 644 man/man8/* %{buildroot}%{_mandir}/man8
158e7a
814f49
install -d -p %{buildroot}%{_usr}/lib/sysctl.d
814f49
install -p -m 644 %{SOURCE1} %{buildroot}%{_usr}/lib/sysctl.d
814f49
158e7a
%check
11acd1
%if 0%{?with_check}
158e7a
export GOPATH=%{buildroot}/%{gopath}:$(pwd)/Godeps/_workspace:%{gopath}
158e7a
158e7a
%if ! 0%{?gotest:1}
158e7a
%global gotest go test
158e7a
%endif
158e7a
158e7a
# FAIL: TestFactoryNewTmpfs (0.00s), factory_linux_test.go:59: operation not permitted
158e7a
#%%gotest %%{import_path}/libcontainer
158e7a
%gotest %{import_path}/libcontainer/cgroups
158e7a
%gotest %{import_path}/libcontainer/cgroups/fs
158e7a
%gotest %{import_path}/libcontainer/configs
158e7a
%gotest %{import_path}/libcontainer/devices
158e7a
# undefined reference to `nsexec'
158e7a
#%%gotest %%{import_path}/libcontainer/integration
158e7a
%gotest %{import_path}/libcontainer/label
158e7a
# Unable to create tstEth link: operation not permitted
158e7a
#%%gotest %%{import_path}/libcontainer/netlink
158e7a
# undefined reference to `nsexec'
158e7a
#%%gotest %%{import_path}/libcontainer/nsenter
158e7a
%gotest %{import_path}/libcontainer/selinux
158e7a
%gotest %{import_path}/libcontainer/stacktrace
158e7a
%gotest %{import_path}/libcontainer/user
158e7a
%gotest %{import_path}/libcontainer/utils
158e7a
%gotest %{import_path}/libcontainer/xattr
158e7a
%endif
158e7a
158e7a
#define license tag if not already defined
158e7a
%{!?_licensedir:%global license %doc}
158e7a
814f49
%post
814f49
%sysctl_apply 99-containers.conf
814f49
158e7a
%files
158e7a
%license LICENSE
158e7a
%doc MAINTAINERS_GUIDE.md PRINCIPLES.md README.md CONTRIBUTING.md
158e7a
%{_bindir}/%{name}
158e7a
%{_mandir}/man8/%{name}*
814f49
%{_usr}/lib/sysctl.d/99-containers.conf
158e7a
11acd1
%changelog
336e11
* Fri Aug 02 2019 Jindrich Novy <jnovy@redhat.com> - 1.0.0-65.rc8
336e11
- rebase to 1.0.0-65 in RHEL7u7
336e11
11acd1
* Thu Jul 11 2019 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-64.rc8
11acd1
- Resolves: #1728762 - update change-default-root.patch
158e7a
11acd1
* Thu Jul 04 2019 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-63.rc8
11acd1
- Resolves: #1724778
158e7a
11acd1
* Tue Jun 25 2019 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-62.rc8
11acd1
- Resolves: #1723480
11acd1
- bump to v1.0.0-rc8
11acd1
11acd1
* Fri Jun 07 2019 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-61.dev.git2abd837
11acd1
- Resolves: #1676705 - correct URL field
11acd1
11acd1
* Mon Feb 11 2019 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0-60.dev.git2abd837
11acd1
- update golang toolchain macros
4a87f0
b5ed98
* Fri Feb 08 2019 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0-59.dev.git2abd837
b5ed98
- Resolves: #1664908
b5ed98
- CVE-2019-5736
b5ed98
b5ed98
* Fri Feb 08 2019 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0-58.dev.git2abd837
b5ed98
- Resolves: #1664908
7a00d6
862d2f
* Wed Nov 28 2018 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-57.dev.git2abd837
862d2f
- Resolves: #1650512 - build with the right golang dependency
862d2f
862d2f
* Wed Nov 21 2018 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0-56.dev.git2abd837
862d2f
- openssl-devel required only with scl go toolset
862d2f
862d2f
* Thu Nov 08 2018 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0-55.dev.git2abd837
862d2f
- buildrequires for centos
862d2f
81896e
* Wed Sep 26 2018 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0-54.dev.git2abd837
81896e
- 1807.patch added
81896e
81896e
* Wed Sep 26 2018 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0-53.dev.git2abd837
81896e
- rebuilt
81896e
390bb1
* Mon Sep 10 2018 Lokesh Mandvekar <lsm5@redhat.com> - 2:1.0.0-52.dev.git70ca035
390bb1
- built commit 70ca035 with additional patches to change default root and
390bb1
to revert apply cgroups earlier
390bb1
81896e
* Thu Sep 06 2018 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0-52.dev.gitfdd8055
81896e
- FTBFS
81896e
390bb1
* Fri Aug 31 2018 Dan Walsh <dwalsh@redhat.name> - 2:1.0.0-51.dev.gitfdd8055
390bb1
- Fix handling of tmpcopyup
390bb1
ade5cc
* Tue Aug 14 2018 Lokesh Mandvekar <lsm5@redhat.com> - 2:1.0.0-37.gitad0f525
ade5cc
- Resolves: #1616112
ade5cc
ade5cc
* Fri Jun 15 2018 Dan Walsh <dwalsh@redhat.com> - 2:1.0.0-36.gitb222ea4
ade5cc
- Better handling of user namespace
ade5cc
ade5cc
* Tue May 1 2018 Dan Walsh <dwalsh@redhat.name> - 2:1.0.0-31.rc5.git0cbfd83
ade5cc
- Fix issues between SELinux and UserNamespace
ade5cc
1a1662
* Tue Apr 17 2018 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0-27.rc5.dev.git4bb1fe4
1a1662
- rebuilt, placed missing changelog entry back
1a1662
1a1662
* Tue Feb 27 2018 Dan Walsh <dwalsh@redhat.name> - 2:1.0.0-26.rc5.git4bb1fe4
1a1662
- release v1.0.0~rc5
1a1662
761bf4
* Wed Jan 24 2018 Dan Walsh <dwalsh@redhat.name> - 1.0.0-26.rc4.git9f9c962
761bf4
- Bump to the latest from upstream
761bf4
761bf4
* Mon Dec 18 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-25.rc4.gite6516b3
761bf4
- built commit e6516b3
761bf4
761bf4
* Fri Dec 15 2017 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0-24.rc4.dev.gitc6e4a1e.1
761bf4
- rebase to c6e4a1ebeb1a72b529c6f1b6ee2b1ae5b868b14f
761bf4
- https://github.com/opencontainers/runc/pull/1651
761bf4
95b1d4
* Tue Dec 12 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-23.rc4.git1d3ab6d
95b1d4
- Resolves: #1524654
95b1d4
95b1d4
* Sun Dec 10 2017 Dan Walsh <dwalsh@redhat.name> - 1.0.0-22.rc4.git1d3ab6d
95b1d4
- Many Stability fixes
95b1d4
- Many fixes for rootless containers
95b1d4
- Many fixes for static builds
95b1d4
b9201a
* Thu Nov 09 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-21.rc4.dev.gitaea4f21
b9201a
- enable debuginfo and include -buildmode=pie for go build
b9201a
b9201a
* Tue Nov 07 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-20.rc4.dev.gitaea4f21
b9201a
- use Makefile
b9201a
b9201a
* Tue Nov 07 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-19.rc4.dev.gitaea4f21
b9201a
- disable debuginfo temporarily
b9201a
b9201a
* Fri Nov 03 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-18.rc4.dev.gitaea4f21
b9201a
- enable debuginfo
b9201a
b9201a
* Wed Oct 25 2017 Dan Walsh <dwalsh@redhat.name> - 1.0.0-17.rc4.gitaea4f21
b9201a
- Add container-selinux prerequires to make sure runc is labeled correctly
b9201a
b9201a
* Thu Oct 19 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-16.rc4.dev.gitaea4f21
b9201a
- correct the release tag "rc4dev" -> "rc4.dev" cause I'm OCD
b9201a
b9201a
* Mon Oct 16 2017 Dan Walsh <dwalsh@redhat.com> - 1.0.0-15.rc4dev.gitaea4f21
b9201a
- Use the same checkout as Fedora for lates CRI-O
b9201a
b9201a
* Fri Sep 22 2017 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0-14.rc4dev.git84a082b
7ced36
- rebase to 84a082bfef6f932de921437815355186db37aeb1
7ced36
7ced36
* Tue Jun 13 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-13.rc3.gitd40db12
7ced36
- Resolves: #1479489
7ced36
- built commit d40db12
7ced36
814f49
* Tue Jun 13 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-12.1.gitf8ce01d
814f49
- disable s390x temporarily because of indefinite wait times on brew
814f49
814f49
* Tue Jun 13 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-11.1.gitf8ce01d
814f49
- correct previous bogus date :\
814f49
814f49
* Mon Jun 12 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-10.1.gitf8ce01d
814f49
- Resolves: #1441737 - run sysctl_apply for sysctl knob
814f49
814f49
* Tue May 09 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-9.1.gitf8ce01d
814f49
- Resolves: #1447078 - change default root path
814f49
- add commit e800860 from runc @projectatomic/change-root-path
814f49
814f49
* Fri May 05 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-8.1.gitf8ce01d
814f49
- Resolves: #1441737 - enable kernel sysctl knob /proc/sys/fs/may_detach_mounts
3c9cc0
814f49
* Thu Apr 13 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-7.1.gitf8ce01d
814f49
- Resolves: #1429675
814f49
- built @opencontainers/master commit f8ce01d
3c9cc0
814f49
* Thu Mar 16 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-4.1.gitee992e5
3c9cc0
- built @projectatomic/master commit ee992e5
3c9cc0
d41e45
* Fri Feb 24 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-3.rc2
d41e45
- Resolves: #1426674
d41e45
- built projectatomic/runc_rhel_7 commit 5d93f81
d41e45
d41e45
* Mon Feb 06 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-2.rc2
d41e45
- Resolves: #1419702 - rebase to latest upstream master
d41e45
- built commit b263a43
d41e45
9d89de
* Wed Jan 11 2017 Lokesh Mandvekar <lsm5@redhat.com> - 1.0.0-1.rc2
9d89de
- Resolves: #1412239 - *CVE-2016-9962* - set init processes as non-dumpable,
9d89de
runc patch from Michael Crosby <crosbymichael@gmail.com>
9d89de
9d89de
* Wed Sep 07 2016 Lokesh Mandvekar <lsm5@redhat.com> - 0.1.1-6
9d89de
- Resolves: #1373980 - rebuild for 7.3.0
9d89de
524177
* Sat Jun 25 2016 Lokesh Mandvekar <lsm5@redhat.com> - 0.1.1-5
524177
- build with golang >= 1.6.2
524177
3a281d
* Tue May 31 2016 Lokesh Mandvekar <lsm5@redhat.com> - 0.1.1-4
3a281d
- release tags were inconsistent in the previous build
3a281d
3a281d
* Tue May 31 2016 Lokesh Mandvekar <lsm5@redhat.com> - 0.1.1-1
3a281d
- Resolves: #1341267 - rebase runc to v0.1.1
3a281d
10646f
* Tue May 03 2016 Lokesh Mandvekar <lsm5@redhat.com> - 0.1.0-3
10646f
- add selinux build tag
10646f
- add BR: libseccomp-devel
10646f
10646f
* Tue May 03 2016 Lokesh Mandvekar <lsm5@redhat.com> - 0.1.0-2
10646f
- Resolves: #1328970 - add seccomp buildtag
10646f
10646f
* Tue Apr 19 2016 Lokesh Mandvekar <lsm5@redhat.com> - 0.1.0-1
10646f
- Resolves: rhbz#1328616 - rebase to v0.1.0
10646f
158e7a
* Tue Mar 08 2016 Lokesh Mandvekar <lsm5@redhat.com> - 0.0.8-1.git4155b68
158e7a
- Resolves: rhbz#1277245 - bump to 0.0.8
158e7a
- Resolves: rhbz#1302363 - criu is a runtime dep
158e7a
- Resolves: rhbz#1302348 - libseccomp-golang is bundled in Godeps
158e7a
- manpages included
158e7a
158e7a
* Wed Nov 25 2015 jchaloup <jchaloup@redhat.com> - 1:0.0.5-0.1.git97bc9a7
158e7a
- Update to 0.0.5, introduce Epoch for Fedora due to 0.2 version instead of 0.0.2
158e7a
158e7a
* Fri Aug 21 2015 Jan Chaloupka <jchaloup@redhat.com> - 0.2-0.2.git90e6d37
158e7a
- First package for Fedora
158e7a
  resolves: #1255179