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 ff44c6a9496d3b2ba8189170e30ae2e93fee9eb4
%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          8094910c9a8122311e175b83b9c611f886a0a034
%global shortcommit1     %(c=%{commit1}; echo ${c:0:7})
%global skopeo_version 0.1.11

Name: atomic
Version: 1.9
Release: 4.git%{shortcommit0}%{?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

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}

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 >= %{skopeo_version}-%{release}

%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}
BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}

%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}
if [ %{pypkg} == 'python3' ]; then
sed -i 's/input = raw_input/pass/' Atomic/util.py
fi

# untar skopeo
tar zxf %{SOURCE1}

%build
make PYTHON=%{__python} python-build
make PYTHON=%{__python} docs

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

mkdir -p vendor/src
mv vendor/github.com vendor/src/.
mv vendor/golang.org vendor/src/.

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

go-md2man -in man/skopeo.1.md -out skopeo.1
popd

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

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

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

%changelog
* 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