File osc.spec of Package osc

Name:           osc
Epoch:          1
Version:        1.15.1
Release:        1%{?dist}
Group:          Development/Tools
License:        GPLv2+
Url:            https://github.com/openSUSE/osc
Source:         https://github.com/openSUSE/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
Patch0:         osc-support-osc-copyprj-in-api.patch
Patch1:         osc-add-sb2install-support.patch
Summary:        The openSUSE Build Service Commander
BuildArch:      noarch

BuildRequires:  python3-devel
BuildRequires:  python3dist(setuptools)
BuildRequires:  python3dist(rpm)
BuildRequires:  python3dist(cryptography)
BuildRequires:  python3dist(progressbar2)
BuildRequires:  python3dist(urllib3)
BuildRequires:  python3dist(distro)
BuildRequires:  python3dist(ruamel-yaml)
BuildRequires:  python3dist(sphinx)
BuildRequires:  diffstat
BuildRequires:  argparse-manpage
Requires:       python3dist(rpm)
Requires:       python3dist(cryptography)
Requires:       python3dist(progressbar2)
Requires:       python3dist(urllib3)
Requires:       python3dist(distro)
Requires:       python3dist(ruamel-yaml)
Requires:       python3dist(argcomplete)
Requires:       diffstat

Recommends:     osc-source_validator

%description
Commandline client for the openSUSE Build Service.

See http://en.opensuse.org/openSUSE:OSC , as well as
http://en.opensuse.org/openSUSE:Build_Service_Tutorial for a general
introduction.


%prep
%autosetup -p1
# Version is not right when forming a release at Github
sed -i 's/\(^ *version = \)"[^"]*"$/\1"%{version}"/' osc/util/git_version.py

%build
%py3_build

# build man page
PYTHONPATH=. argparse-manpage \
    --output=osc.1 \
    --format=single-commands-section \
    --module=osc.commandline \
    --function=argparse_manpage_get_parser \
    --project-name=osc \
    --prog=osc \
    --description="Command-line client for Open Build Service" \
    --author="Contributors to the osc project. See the project's GIT history for the complete list." \
    --url="https://github.com/openSUSE/osc/"

PYTHONPATH=. argparse-manpage \
    --output=git-obs.1 \
    --format=single-commands-section \
    --module=osc.commandline_git \
    --function=argparse_manpage_get_parser \
    --project-name=osc \
    --prog=git-obs \
    --description="Git based command-line client for Open Build Service" \
    --author="Contributors to the osc project. See the project's GIT history for the complete list." \
    --url="https://github.com/openSUSE/osc/"

sphinx-build -b man doc .

%install
%py3_install
install -d %{buildroot}%{_localstatedir}/lib/osc-plugins

# install completions for osc
install -Dm0755 contrib/osc.complete %{buildroot}%{_datadir}/osc/complete
install -Dm0644 contrib/complete.csh %{buildroot}%{_sysconfdir}/profile.d/osc.csh
install -Dm0644 contrib/complete.sh %{buildroot}%{_datadir}/bash-completion/completions/osc
install -Dm0644 contrib/osc.fish %{buildroot}%{_datadir}/fish/vendor_completions.d/osc.fish
install -Dm0644 contrib/osc.zsh %{buildroot}%{_datadir}/zsh/functions/Completion/osc.zsh

# install completions for git-obs
install -Dm0644 contrib/git-obs-complete.bash %{buildroot}%{_datadir}/bash-completion/completions/git-obs.bash
install -Dm0644 contrib/git-obs-complete.fish %{buildroot}%{_datadir}/fish/vendor_completions.d/git-obs.fish
install -Dm0644 contrib/git-obs-complete.zsh %{buildroot}%{_datadir}/zsh/functions/Completion/git-obs.zsh

# install man page
install -Dm0644 git-obs-quickstart.1 %{buildroot}%{_mandir}/man1/git-obs-quickstart.1
install -Dm0644 osc.1 %{buildroot}%{_mandir}/man1/osc.1
install -Dm0644 git-obs.1 %{buildroot}%{_mandir}/man1/git-obs.1
install -Dm0644 oscrc.5 %{buildroot}%{_mandir}/man5/oscrc.5

%check
%{__python3} -m unittest

%files
%doc AUTHORS README.md NEWS
%license COPYING

%{_bindir}/osc*
%{_bindir}/git-obs

%{python3_sitelib}/osc*

%dir %{_datadir}/osc
%{_datadir}/osc/complete
%{_datadir}/bash-completion/completions/git-obs.bash
%{_datadir}/bash-completion/completions/osc
%config %{_sysconfdir}/profile.d/osc.csh
%{_datadir}/fish/vendor_completions.d/git-obs.fish
%{_datadir}/fish/vendor_completions.d/osc.fish
%{_datadir}/zsh/functions/Completion/git-obs.zsh
%{_datadir}/zsh/functions/Completion/osc.zsh

%{_mandir}/man*/git-obs*
%{_mandir}/man*/osc*

%dir %{_localstatedir}/lib/osc-plugins