Blob Blame History Raw
%global debug_package %{nil}
%if 0%{?fedora} <= 22 || (0%{?rhel} != 0 && 0%{?rhel} <= 7)
%global pypkg python
%global pysitelib %{python_sitelib}
%global __python %{__python2}
%if 0%{?fedora}
%global pylint pylint
%endif
%else
%global pypkg python3
%global pysitelib %{python3_sitelib}
%global __python %{__python3}
%global pylint python3-pylint
%endif

%global commit0 ce09e40922c3f35877d381612280195e445d41c7
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})

%global provider        github
%global provider_tld    com
%global project         projectatomic
%global repo            skopeo
# https://github.com/projectatomic/skopeo
%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
%global import_path     %{provider_prefix}
%global commit1         9e971b4937d176aa7ac3af6377b69e58bfd789eb 
%global shortcommit1     %(c=%{commit1}; echo ${c:0:7})
%global skopeo_version 0.1.13

Name: atomic
Epoch: 1
Version: 1.10.5
Release: 5%{?dist}
Summary: Tool for managing ProjectAtomic systems and containers
License: LGPLv2+
URL: https://github.com/projectatomic/atomic
ExclusiveArch: x86_64
Source0: https://github.com/projectatomic/%{name}/archive/%{commit0}.tar.gz
Source1: https://%{provider_prefix}/archive/%{commit1}/%{repo}-%{shortcommit1}.tar.gz
# https://github.com/mtrmac/skopeo/tree/go142
# This should be dropped as soon as we start building againt golang >= 1.5
Patch0: skopeo-go142.patch
Patch1: 0001-If-OSTree-is-not-installed-atomic-images-is-blowing-.patch
Patch2: 0002-Atomic-scan-fix-image-naming-error.patch

BuildRequires: %{pypkg}-devel
BuildRequires: %{pypkg}-requests >= 2.4.3
BuildRequires: %{pypkg}-setuptools
BuildRequires: %{pypkg}-tools
BuildRequires: %{pypkg}-dbus
BuildRequires: %{pypkg}-setuptools
BuildRequires: policycoreutils-%{pypkg}
BuildRequires: go-md2man
BuildRequires: %{pypkg}-dbus
BuildRequires: %{pypkg}-docker-py >= 1.7.2-1
BuildRequires: rpm-%{pypkg}
BuildRequires: PyYAML

Requires: dbus
Requires: docker
Requires: polkit
Requires: setup
Requires: rpm-%{pypkg}
Requires: %{pypkg}-setuptools
Requires: %{pypkg}-requests
Requires: %{pypkg}-docker-py >= 1.7.2-1
Requires: %{pypkg}-websocket-client >= 0.11.0
Requires: %{pypkg}-six >= 1.3.0
Requires: skopeo >= %{epoch}:%{skopeo_version}-%{release}
Requires: PyYAML

%description
The goal of Atomic is to provide a high level, coherent entrypoint to the
system, and fill in gaps.

For Docker, atomic can make it easier to interact with special kinds of
containers, such as super-privileged debugging tools and the like.

The atomic host subcommand wraps rpm-ostree, currently just providing a
friendlier name, but in the future Atomic may provide more unified
management.

%package -n skopeo
Summary: Inspect Docker images and repositories on registries
License: ASL 2.0
URL: https://%{provider_prefix}
Version: %{skopeo_version}
BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
BuildRequires: gpgme-devel
BuildRequires: libassuan-devel

%description -n skopeo
Command line utility to inspect images and repositories directly on Docker
registries without the need to pull them

%prep
%setup -qn %{name}-%{commit0}
%patch1 -p1
%patch2 -p1
if [ %{pypkg} == 'python3' ]; then
sed -i 's/input = raw_input/pass/' Atomic/util.py
fi

# untar skopeo
tar zxf %{SOURCE1}
pushd skopeo-%{commit1}
%patch0 -p1
popd

%build
make PYTHON=%{__python} python-build docs dockertar-sha256-helper

pushd skopeo-%{commit1}
mkdir -p src/github.com/projectatomic
ln -s ../../../ src/github.com/projectatomic/skopeo

mkdir -p vendor/src
mv vendor/{github.com,gopkg.in,k8s.io} vendor/src/.

export GOPATH=$(pwd):$(pwd)/vendor:%{gopath}
export GO15VENDOREXPERIMENT=1
#go build -o skopeo .
make all
popd

%install
make PYTHON=%{__python}  install-only DESTDIR=%{buildroot}

%if 0%{?rhel}
make install-openscap DESTDIR=%{buildroot}
%endif

pushd skopeo-%{commit1}
mkdir -p %{buildroot}%{_mandir}/man1
make DESTDIR=%{buildroot} install
popd

# Better support for doing continuous delivery by supporting optional
# components.  The canonical copy of this is in `rpm-ostree.spec`.
cat > autofiles.py <<EOF
#!%{pypkg}
import os,sys,glob
os.chdir(os.environ['RPM_BUILD_ROOT'])
for line in sys.argv[1:]:
    if line == '':
        break
    assert line[0] == '/'
    files = glob.glob(line[1:])
    if len(files) > 0:
        sys.stderr.write('{0} matched {1} files\n'.format(line, len(files)))
        sys.stdout.write(line + '\n')
    else:
        sys.stderr.write('{0} did not match any files\n'.format(line))
EOF
%{pypkg} autofiles.py > files \
  '%{pysitelib}/Atomic' \
  '%{pysitelib}/%{name}*.egg-info' \
  '%{_sysconfdir}/profile.d/%{name}.sh' \
  '%{_bindir}/%{name}' \
  '%{_datadir}/%{name}' \
  '%{_libexecdir}/%{name}/' \
  '%{_datadir}/bash-completion/completions/%{name}' \
  '%{_datadir}/dbus-1/system-services/org.%{name}.service' \
  '%{_datadir}/polkit-1/actions/org.%{name}.policy' \
  '%{_mandir}/man1/%{name}*'

%check
[ ! -w /run/docker.sock ] || make PYTHON=%{__python} test

%files -f files
%doc COPYING README.md
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.%{name}.conf
%config(noreplace) %{_sysconfdir}/%{name}.conf
%dir %{_sysconfdir}/%{name}.d
%config(noreplace) %{_sysconfdir}/%{name}.d/openscap

%files -n skopeo
%{_bindir}/skopeo
%{_mandir}/man1/skopeo.1*
%doc skopeo-%{commit1}/LICENSE skopeo-%{commit1}/README.md

%changelog
* Wed Jun 15 2016 Lokesh Mandvekar <lsm5@redhat.com> - 1:1.10.5-5
- Resolves: #1343939 - fix image naming error
- Resolves: #1346942 - don't depend on ostree if it's not available

* Wed Jun 15 2016 Lokesh Mandvekar <lsm5@redhat.com> - 1:1.10.5-4
- own /etc/atomic.d

* Wed Jun 08 2016 Lokesh Mandvekar <lsm5@redhat.com> - 1:1.10.5-3
- bump release tag so that skopeo has something newer than 0.1.13-2

* Wed Jun 08 2016 Lokesh Mandvekar <lsm5@redhat.com> - 1:1.10.5-1
- bump to v1.10.5
- Resolves: #1300187, #1317798, #1323165, #1314541, #1311544, #1307034,
#1315369, #1331429, #1341922, #1341916

* Mon Jun 06 2016 Lokesh Mandvekar <lsm5@redhat.com> - 1:1.10.3-2
- Resolves: #1341916 - PyYAML is a runtime dep too
- install-openscap on rhel only, From Brent Baude <bbaude@redhat.com>

* Wed Jun 01 2016 Lokesh Mandvekar <lsm5@redhat.com> - 1:1.10.3-1
- bump atomic to v1.10.3, skopeo to v0.1.13

* Tue May 31 2016 Lokesh Mandvekar <lsm5@redhat.com> - 1:1.10.2-4.git02fe5ce
- use skopeo_version macro correctly

* Tue May 31 2016 Lokesh Mandvekar <lsm5@redhat.com> - 1:1.10.2-3.git02fe5ce
- skopeo subpackage has its own version
- bump epoch so that skopeo's version can take effect

* Tue May 31 2016 Lokesh Mandvekar <lsm5@redhat.com> - 1.10.2-2.git02fe5ce
- no dependency on OSTree if not available

* Tue May 31 2016 Lokesh Mandvekar <lsm5@redhat.com> - 1.10.2-1.gitfdbe345
- Resolves: #1341174 - bump to v1.10.2
- BR: PyYAML

* Tue May 31 2016 Lokesh Mandvekar <lsm5@redhat.com> - 1.10.1-1.gitee5d95e
- Resolves: #1341174 - rebase to 1.10.1
- rebase skopeo to v0.1.13

* Tue Mar 08 2016 Lokesh Mandvekar <lsm5@redhat.com> - 1.9-4.gitff44c6a
- depend on python-docker-py >= 1.7.2-1

* Tue Mar 08 2016 Lokesh Mandvekar <lsm5@redhat.com> - 1.9-3.gitff44c6a
- include skopeo subpackage

* Tue Mar 08 2016 Lokesh Mandvekar <lsm5@redhat.com> - 1.9-2.gitff44c6a
- Resolves: rhbz#1315846 - rebase to 1.9
- built atomic commit#ff44c6a

* Thu Feb 18 2016 Antonio Murdaca <runcom@fedoraproject.org> - 1.8-7.git1bc3814
- rebuilt

* Tue Jan 26 2016 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.8-6.git1bc3814
- built atomic commit#1bc3814

* Tue Jan 26 2016 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.8-5.git1bc3814
- Resolves: rhbz#1300459 - no .egg-info file/dir installed anymore
- built atomic commit#1bc3814

* Tue Jan 19 2016 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.8-4.git958d939
- Resolves: rhbz#1292776
- built atomic commit#958d939

* Tue Jan 19 2016 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.8-3.git958d939
- built atomic commit#958d939

* Tue Jan 05 2016 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.8-2.gita35ae18
- built atomic commit#a35ae18

* Tue Dec 01 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.7-3.git95b28a9
- Resolves: rhbz#1285461 - improved 'atomic images' formatting
- built atomic commit#95b28a9

* Mon Nov 23 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.7-2.git68be076
- built atomic commit#68be076

* Wed Nov 04 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.6-6.gitca1e384
- update python-docker-py dependency over what was shipped in 7.1.6 and 7.2.0

* Wed Nov 04 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.6-5.gitea18c14
- correct bogus date annoyance

* Wed Nov 04 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.6-4.gitea18c14
- Resolves: rhbz#1278145 - depend on python-docker-py >= 1.4.0-118

* Tue Nov 03 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.6-3.gitea18c14
- Resolves: rhbz#1272037
- built atomic commit#ea18c14

* Thu Oct 29 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.6-2.git50d7fd9
- built atomic commit#50d7fd9

* Thu Oct 22 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.6-1.gitca1e384
- built atomic commit#ca1e384
- Resolves: rhbz#1273365

* Fri Oct 09 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.5-4.git7e4365f
- built atomic @origin/master commit#7e4365f
- re-include python-setuptools at build and runtime

* Tue Oct 06 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.5-3.git82f4324
- Resolves: rhbz#1268926
- no dependency on python-setuptools
- depends on python-dbus at buildtime
- built atomic @origin/master commit#82f4324

* Wed Sep 30 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.5-2.git191fb53
- Resolves: rhbz#1265974 (extras-rhel-7.1.6) - include atomic
- Resolves: rhbz#1211359 (extras-rhel-7.2) - include atomic
- built atomic @origin/master commit#191fb53

* Wed Sep 23 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.4-3.git9d724aa
- ping version req for python-docker-py

* Mon Sep 14 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.4-2.git9d724aa
- unpin python-requests version requirement

* Mon Sep 14 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.4-1.git9d724aa
- built master commit#9d724aa
- scan subcommand added
- br: python-requests >= 2.4.3

* Mon Aug 03 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.1-1.git5f631c8
- bump to 1.1
- buildrequires policycoreutils-python(3)

* Fri Jul 24 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 1.0-1.git52d695c
- version 1.0 as per setup.py
- use latest upstream master commit
- run test only if docker.sock writable

* Tue Jul 14 2015 Miro HronĨok <mhroncok@redhat.com> - 0-0.12.gitfea1b99
- update to latest upstream master
- add new %%files and require dbus, polkit and setup to have the directories
- switch to Python 3
- disable build for arm (missing docker)
- Resolves: rhbz#1241947

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0-0.11.gite5734c4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Wed Apr 15 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 0-0.10.gite5734c4
- update to latest upstream master

* Tue Mar 03 2015 Colin Walters <walters@redhat.com> - 0-0.9.gita7ff4cb
- Match ExclusiveArch with docker (there is no docker on i686)

* Mon Mar 02 2015 Colin Walters <walters@redhat.com> - 0-0.8.gita7ff4cb
- Drop ExclusiveArch, we are just a wrapper for Docker, which in any
  case builds on other architectures now.

* Tue Feb 24 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 0-0.7.gita7ff4cb
- remove pylint for rhel/centos

* Tue Feb 24 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 0-0.6.gita7ff4cb
- runtime requirement: python-docker-py

* Tue Feb 24 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 0-0.5.gita7ff4cb
- build commit#a7ff4cb

* Fri Feb 20 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 0-0.4.gitf7f6fa8
- Resolves: rhbz#1194058 - approved version, ready for upload
- change license to LGPLv2+

* Thu Feb 19 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 0-0.3.gite4081c9
- manpage installation rules upstreamed

* Wed Feb 18 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 0-0.2.git6b82cb7
- install docs

* Wed Feb 18 2015 Lokesh Mandvekar <lsm5@fedoraproject.org> - 0-0.1.git6b82cb7
- Initial package