Package not found: home:Herbster0815/inih

File openstack-swift.spec of Package openstack-swift-doc

#
# spec file for package openstack-swift
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define component swift
%define groupname %{component}
%define username %{component}

%if ! %{defined _rundir}
%define _rundir %{_localstatedir}/run
%endif

%define version_unconverted 2.19.2.dev1

Name:           openstack-%{component}
Version:        2.19.2~dev1
Release:        0
Summary:        OpenStack Storage (Swift)
License:        Apache-2.0
Group:          Development/Languages/Python
Url:            http://launchpad.net/swift
Source:         http://tarballs.openstack.org/swift/swift-stable-rocky.tar.gz
Source2:        %{name}-account.service
Source3:        %{name}-account-auditor.service
Source4:        %{name}-account-reaper.service
Source5:        %{name}-account-replicator.service
Source6:        %{name}-container.service
Source7:        %{name}-container-auditor.service
Source8:        %{name}-container-replicator.service
Source9:        %{name}-container-updater.service
Source10:       %{name}-container-sync.service
Source11:       %{name}-object.service
Source12:       %{name}-object-replicator.service
Source13:       %{name}-object-expirer.service
Source14:       %{name}-object-updater.service
Source15:       %{name}-object-auditor.service
Source16:       %{name}-object-reconstructor.service
Source17:       %{name}-proxy.service
Source21:       test-configs-1.10.1.tar.bz2
Source22:       %{name}.logrotate
Source30:       %name.conf
BuildRequires:  systemd
BuildRequires:  systemd-rpm-macros
%{?systemd_requires}
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  crudini
BuildRequires:  fdupes
BuildRequires:  openstack-suse-macros
BuildRequires:  python-devel
BuildRequires:  python-pbr >= 0.5.21
Requires:       logrotate
Requires:       python >= 2.6.8
Requires:       python-swift = %{version}
Requires:       rsync
Requires(post): %insserv_prereq
%if 0%{?suse_version} > 1110
Requires(pre):  pwdutils
%else
Requires(pre):  shadow-utils
%endif
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%else
BuildArch:      noarch
%endif

%description
OpenStack Object Storage (swift) aggregates commodity servers to work
together in clusters for reliable, redundant, and large-scale storage
of static objects. Objects are written to multiple hardware devices in
the data center, with the OpenStack software responsible for ensuring
data replication and integrity across the cluster. Storage clusters can
scale horizontally by adding new nodes, which are automatically
configured. Should a node fail, OpenStack works to replicate its
content from other active nodes. Because OpenStack uses software logic
to ensure data replication and distribution across different devices,
inexpensive commodity hard drives and servers can be used in lieu of
more expensive equipment.

%package -n python-swift
Summary:        OpenStack Storage (Swift) - Python module
Group:          Development/Languages/Python
Requires:       python >= 2.6.8
Requires:       python-PasteDeploy >= 1.3.3
Requires:       python-PyECLib >= 1.3.1
Requires:       python-cryptography >= 1.6
Requires:       python-dnspython >= 1.14.0
Requires:       python-eventlet >= 0.17.4
Requires:       python-greenlet >= 0.3.1
Requires:       python-netifaces >= 0.5
Requires:       python-pbr >= 1.6
Requires:       python-simplejson >= 2.0.9
Requires:       python-six >= 1.9.0
Requires:       python-swiftclient >= 3.2.0
Requires:       python-xattr >= 0.4

%description -n python-swift
This package contains the core Python module of OpenStack Swift.

%package account
Summary:        OpenStack Storage (Swift) - Account Server
Group:          Productivity/Clustering/Computing
Requires:       %{name} = %{version}
Requires:       python-lxml >= 3.4.1
Requires:       sqlite3 >= 3.6.23

%description account
OpenStack Object Storage (swift) aggregates commodity servers to work
together in clusters for reliable, redundant, and large-scale storage
of static objects.

This package contains the openstack-swift account server.

%package container
Summary:        OpenStack Storage (Swift) - Container Server
Group:          Productivity/Clustering/Computing
Requires:       %{name} = %{version}
Requires:       sqlite3 >= 3.6.23

%description container
OpenStack Object Storage (swift) aggregates commodity servers to work
together in clusters for reliable, redundant, and large-scale storage
of static objects.

This package contains the openstack-swift container server.

%package object
Summary:        OpenStack Storage (Swift) - Object Server
Group:          Productivity/Clustering/Computing
Requires:       %{name} = %{version}
Requires:       sqlite3 >= 3.6.23

%description object
OpenStack Object Storage (swift) aggregates commodity servers to work
together in clusters for reliable, redundant, and large-scale storage
of static objects.

This package contains the openstack-swift object server.

%package proxy
Summary:        OpenStack Storage (Swift) - Proxy Server
Group:          Productivity/Clustering/Computing
Requires:       %{name} = %{version}
Requires:       memcached

%description proxy
OpenStack Object Storage (swift) aggregates commodity servers to work
together in clusters for reliable, redundant, and large-scale storage
of static objects.

This package contains the openstack-swift proxy server.

%package test
Summary:        OpenStack Storage (Swift) - Testsuite
Group:          Development/Languages/Python
Requires:       %{name} = %{version}
Requires:       python-mock >= 2.0
Requires:       python-nose >= 1.3.7
Requires:       python-nosehtmloutput >= 0.0.3
Requires:       python-nosexcover >= 1.0.10
Requires:       python-openstack.nose_plugin

%description test
The OpenStack Swift testsuite. It is used to verify the functionality
of OpenStack Swift.

%prep
%setup -q -n %{component}-%{version_unconverted}
tar xvf %{SOURCE21}
%openstack_cleanup_prep

%build
python setup.py build

%install
python setup.py install --root %{buildroot} --prefix %{_prefix}

### directories
install -d -m 750 %{buildroot}%{_localstatedir}/cache/%{component}
install -d -m 750 %{buildroot}%{_localstatedir}/lib/%{component}
install -d -m 750 %{buildroot}%{_localstatedir}/log/%{component}
install -d -m 755 %{buildroot}%{_rundir}/swift
install -D -m 644 %{SOURCE30} %{buildroot}/%_tmpfilesdir/%name.conf

# systemd unit files
mkdir -p %{buildroot}%{_unitdir}
install -p -D -m 444 %{SOURCE2} %{buildroot}%{_unitdir}/%{name}-account.service
install -p -D -m 444 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}-account-auditor.service
install -p -D -m 444 %{SOURCE4} %{buildroot}%{_unitdir}/%{name}-account-reaper.service
install -p -D -m 444 %{SOURCE5} %{buildroot}%{_unitdir}/%{name}-account-replicator.service
install -p -D -m 444 %{SOURCE6} %{buildroot}%{_unitdir}/%{name}-container.service
install -p -D -m 444 %{SOURCE7} %{buildroot}%{_unitdir}/%{name}-container-auditor.service
install -p -D -m 444 %{SOURCE8} %{buildroot}%{_unitdir}/%{name}-container-replicator.service
install -p -D -m 444 %{SOURCE9} %{buildroot}%{_unitdir}/%{name}-container-updater.service
install -p -D -m 444 %{SOURCE10} %{buildroot}%{_unitdir}/%{name}-container-sync.service
install -p -D -m 444 %{SOURCE11} %{buildroot}%{_unitdir}/%{name}-object.service
install -p -D -m 444 %{SOURCE12} %{buildroot}%{_unitdir}/%{name}-object-replicator.service
install -p -D -m 444 %{SOURCE13} %{buildroot}%{_unitdir}/%{name}-object-expirer.service
install -p -D -m 444 %{SOURCE14} %{buildroot}%{_unitdir}/%{name}-object-updater.service
install -p -D -m 444 %{SOURCE15} %{buildroot}%{_unitdir}/%{name}-object-auditor.service
install -p -D -m 444 %{SOURCE16} %{buildroot}%{_unitdir}/%{name}-object-reconstructor.service
install -p -D -m 444 %{SOURCE17} %{buildroot}%{_unitdir}/%{name}-proxy.service
mkdir -p %{buildroot}%{_sbindir}
for server in account account-auditor account-reaper account-replicator container container-auditor container-replicator container-updater container-sync object object-replicator object-expirer object-updater object-auditor object-reconstructor proxy; do
    ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-$server
done

# Install manpages
install -d %{buildroot}%{_mandir}/man{1,5}/
install -m 0644 doc/manpages/*.1 %{buildroot}%{_mandir}/man1/
install -m 0644 doc/manpages/*.5 %{buildroot}%{_mandir}/man5/

# Remove tests
rm -fr %{buildroot}/%{python_sitelib}/test

# Misc other
install -d -m 755 %{buildroot}%{_sysconfdir}/%{component}
for c in account-server container-server dispersion object-expirer object-server proxy-server swift; do
    install -m 644 etc/$c.conf-sample %{buildroot}%{_sysconfdir}/swift/$c.conf
done
for c in account-server container-server object-expirer object-server proxy-server ; do
    crudini --set %{buildroot}%{_sysconfdir}/swift/$c.conf DEFAULT user %{username}
done
crudini --set %{buildroot}%{_sysconfdir}/swift/dispersion.conf dispersion auth_user %{username}
# NOTE(saschpe): dispersion checks for localhost:8080/auth... by default...
crudini --set %{buildroot}%{_sysconfdir}/swift/proxy-server.conf DEFAULT bind_port 8080

install -p -D -m 644 %{SOURCE22} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}

%fdupes %{buildroot}%{python_sitelib}/swift

# test sub-package
%openstack_test_package_install
pushd test-configs-*
  install -m 755 usr/bin/resetswift %{buildroot}%{_bindir}/resetswift
  install -m 755 usr/bin/remakerings %{buildroot}%{_bindir}/remakerings
popd
# those conflicts conflict with the real configs, need to find a different solution
#cp -r test-configs-*/* %{buildroot}/
# For ./.unittests:
install -m 0644 test/sample.conf %{buildroot}%{_sysconfdir}/swift/test.conf
# For ./.functests:
ln -s %{_sysconfdir}/swift/test.conf %{buildroot}%{_sysconfdir}/swift/func_test.conf

%pre
%openstack_pre_user_group_create %{username} %{groupname}

%post
%tmpfiles_create %{_tmpfilesdir}/%name.conf

%pre account
%service_add_pre %{name}-account.service

%post account
%service_add_post %{name}-account.service

%preun account
%service_del_preun %{name}-account.service

%postun account
%restart_on_update %{name}-account.service
%service_del_postun %{name}-account.service

%pre container
%service_add_pre %{name}-container.service

%post container
%service_add_post %{name}-container.service

%preun container
%service_del_preun %{name}-container.service

%postun container
%restart_on_update %{name}-container
%service_del_postun %{name}-container.service

%pre object
%service_add_pre %{name}-object.service

%post object
%service_add_post %{name}-object.service

%preun object
%service_del_preun %{name}-object.service

%postun object
%restart_on_update %{name}-object
%service_del_postun %{name}-object.service

%pre proxy
%service_add_pre %{name}-proxy.service

%post proxy
%service_add_post %{name}-proxy.service

%preun proxy
%service_del_preun %{name}-proxy.service

%postun proxy
%restart_on_update %{name}-proxy
%service_del_postun %{name}-proxy.service

%files
%defattr(-,root,root,-)
%doc README.rst
%_tmpfilesdir/%name.conf
%dir %attr(0750, %{username}, %{groupname}) %{_localstatedir}/log/%{component}
%dir %attr(0755, %{username}, %{groupname}) %{_sysconfdir}/%{component}
%dir %attr(0750, %{username}, %{groupname}) %{_localstatedir}/lib/swift
%dir %attr(0750, %{username}, %{groupname}) %{_localstatedir}/cache/swift
%{_bindir}/swift-account-audit
%{_bindir}/swift-dispersion-populate
%{_bindir}/swift-dispersion-report
%{_bindir}/swift-drive-audit
%{_bindir}/swift-form-signature
%{_bindir}/swift-get-nodes
%{_bindir}/swift-init
%{_bindir}/swift-config
%{_bindir}/swift-oldies
%{_bindir}/swift-orphans
%{_bindir}/swift-recon
%{_bindir}/swift-recon-cron
%{_bindir}/swift-ring-builder
%{_bindir}/swift-ring-builder-analyzer
%{_bindir}/swift-ring-composer
%{_bindir}/swift-manage-shard-ranges
%{_mandir}/man1/swift-account-audit.1.gz
%{_mandir}/man1/swift-config.1.gz
%{_mandir}/man1/swift-dispersion-populate.1.gz
%{_mandir}/man1/swift-dispersion-report.1.gz
%{_mandir}/man1/swift-drive-audit.1.gz
%{_mandir}/man1/swift-form-signature.1.gz
%{_mandir}/man1/swift-get-nodes.1.gz
%{_mandir}/man1/swift-oldies.1.gz
%{_mandir}/man1/swift-init.1.gz
%{_mandir}/man1/swift-orphans.1.gz
%{_mandir}/man1/swift-recon.1.gz
%{_mandir}/man1/swift-recon-cron.1.gz
%{_mandir}/man1/swift-ring-builder.1.gz
%{_mandir}/man1/swift-ring-builder-analyzer.1.gz
%{_mandir}/man1/swift-ring-composer.1.gz
%{_mandir}/man5/dispersion.conf.5.gz
%{_mandir}/man5/swift.conf.5.gz
%config(noreplace) %{_sysconfdir}/swift/swift.conf
%config(noreplace) %attr(0400, %{username}, %{groupname}) %{_sysconfdir}/swift/dispersion.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}

%files -n python-swift
%defattr(-,root,root,-)
%doc AUTHORS
%license LICENSE
%{python_sitelib}/swift
%{python_sitelib}/swift-2.*.egg-info

%files account
%defattr(-,root,root,-)
%{_unitdir}/%{name}-account*.service
%{_sbindir}/rc%{name}-account*
%config(noreplace) %{_sysconfdir}/swift/account-server.conf
%{_bindir}/swift-account-auditor
%{_bindir}/swift-account-info
%{_bindir}/swift-account-reaper
%{_bindir}/swift-account-replicator
%{_bindir}/swift-account-server
%{_mandir}/man1/swift-account-auditor.1.gz
%{_mandir}/man1/swift-account-info.1.gz
%{_mandir}/man1/swift-account-reaper.1.gz
%{_mandir}/man1/swift-account-replicator.1.gz
%{_mandir}/man1/swift-account-server.1.gz
%{_mandir}/man5/account-server.conf.5.gz

%files container
%defattr(-,root,root,-)
%{_unitdir}/%{name}-container*.service
%{_sbindir}/rc%{name}-container*
%config(noreplace) %{_sysconfdir}/swift/container-server.conf
%{_bindir}/swift-container-auditor
%{_bindir}/swift-container-reconciler
%{_bindir}/swift-container-info
%{_bindir}/swift-container-server
%{_bindir}/swift-container-replicator
%{_bindir}/swift-container-updater
%{_bindir}/swift-container-sync
%{_bindir}/swift-container-sharder
%{_bindir}/swift-reconciler-enqueue
%{_mandir}/man1/swift-container-auditor.1.gz
%{_mandir}/man1/swift-container-info.1.gz
%{_mandir}/man1/swift-container-server.1.gz
%{_mandir}/man1/swift-container-sync.1.gz
%{_mandir}/man1/swift-container-reconciler.1.gz
%{_mandir}/man1/swift-container-replicator.1.gz
%{_mandir}/man1/swift-container-updater.1.gz
%{_mandir}/man1/swift-reconciler-enqueue.1.gz
%{_mandir}/man5/container-server.conf.5.gz
%{_mandir}/man5/container-sync-realms.conf.5.gz
%{_mandir}/man5/container-reconciler.conf.5.gz

%files object
%defattr(-,root,root,-)
%doc etc/rsyncd.conf-sample
%{_unitdir}/%{name}-object*.service
%{_sbindir}/rc%{name}-object*
%config(noreplace) %{_sysconfdir}/swift/object-server.conf
%{_sysconfdir}/swift/object-expirer.conf
%{_bindir}/swift-object-auditor
%{_bindir}/swift-object-expirer
%{_bindir}/swift-object-info
%{_bindir}/swift-object-reconstructor
%{_bindir}/swift-object-replicator
%{_bindir}/swift-object-relinker
%{_bindir}/swift-object-server
%{_bindir}/swift-object-updater
%{_mandir}/man1/swift-object-auditor.1.gz
%{_mandir}/man1/swift-object-expirer.1.gz
%{_mandir}/man1/swift-object-info.1.gz
%{_mandir}/man1/swift-object-reconstructor.1.gz
%{_mandir}/man1/swift-object-replicator.1.gz
%{_mandir}/man1/swift-object-server.1.gz
%{_mandir}/man1/swift-object-updater.1.gz
%{_mandir}/man1/swift-object-relinker.1.gz
%{_mandir}/man5/object-expirer.conf.5.gz
%{_mandir}/man5/object-server.conf.5.gz

%files proxy
%defattr(-,root,root,-)
%{_unitdir}/%{name}-proxy.service
%{_sbindir}/rc%{name}-proxy
%config(noreplace) %{_sysconfdir}/swift/proxy-server.conf
%{_bindir}/swift-proxy-server
%{_mandir}/man1/swift-proxy-server.1.gz
%{_mandir}/man5/proxy-server.conf.5.gz

%files test
%defattr(-,root,root)
%dir %{_localstatedir}/lib/openstack-swift-test
%{_localstatedir}/lib/openstack-swift-test/*
%{_localstatedir}/lib/openstack-swift-test/.alltests
%{_localstatedir}/lib/openstack-swift-test/.functests
%{_localstatedir}/lib/openstack-swift-test/.probetests
%{_localstatedir}/lib/openstack-swift-test/.unittests
%{_localstatedir}/lib/openstack-swift-test/.testr.conf
%{_sysconfdir}/swift/test.conf
%{_sysconfdir}/swift/func_test.conf
%{_bindir}/remakerings
%{_bindir}/resetswift

%changelog
openSUSE Build Service is sponsored by