Blob Blame History Raw
%global owner       tk0miya
%global srcname     nwdiag
%global tag         %{version}
%global commit      8e6ff6bf2dd1279f863f19ca27d7e35ad0393f6a
%global shortcommit %(c=%{commit}; echo ${c:0:12})

Name:           python-%{srcname}
Version:        1.0.0
Release:        4%{?dist}
Summary:        nwdiag generates network-diagram images from text

License:        ASL 2.0
URL:            http://blockdiag.com/
Source0:        https://bitbucket.org/%{owner}/%{srcname}/get/%{tag}.tar.gz
Source1:        description-%{srcname}.txt
# Fix flake8 violations that make tests fail with Python 3.4
#  https://bitbucket.org/blockdiag/nwdiag/commits/905c37512004458924676fa0c92bdd580081be51
Patch0:         %{name}-fix-flake8-violations.patch

BuildArch:      noarch
BuildRequires:  python2-devel
BuildRequires:  python-blockdiag-devel
BuildRequires:  python-docutils
BuildRequires:  python-nose
BuildRequires:  python-pep8
BuildRequires:  python-pillow
BuildRequires:  python-setuptools

BuildRequires:  python3-blockdiag-devel
BuildRequires:  python3-devel
BuildRequires:  python3-docutils
BuildRequires:  python3-nose
BuildRequires:  python3-pep8
BuildRequires:  python3-pillow
BuildRequires:  python3-setuptools

Requires:       python-blockdiag


%description
%(cat %{SOURCE1})


%package -n python3-%{srcname}
Summary:        %{summary}
Requires:       python3-blockdiag


%description -n python3-%{srcname}
%(cat %{SOURCE1})

This package installs the %{srcname} module for Python 3.


%prep
%setup -qn %{owner}-%{srcname}-%{shortcommit}
# we need to use --binary to keep crlf line endings in patch, but RPM doesn't allow that
patch -p1 --binary < %{PATCH0}


rm -rf %{py3dir}
cp -a . %{py3dir}

find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|'
find           -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python}|'


%build
%{__python2} setup.py build

pushd %{py3dir}
%{__python3} setup.py build
popd


%install
pushd %{py3dir}
%{__python3} setup.py install -O1 --skip-build --root %{buildroot}
mv %{buildroot}%{_bindir}/%{srcname} %{buildroot}%{_bindir}/%{srcname}-%{python3_version}
mv %{buildroot}%{_bindir}/packetdiag %{buildroot}%{_bindir}/packetdiag-%{python3_version}
mv %{buildroot}%{_bindir}/rackdiag   %{buildroot}%{_bindir}/rackdiag-%{python3_version}
install -m 0644 -D %{srcname}.1 %{buildroot}%{_mandir}/man1/%{srcname}-%{python3_version}.1
install -m 0644 -D packetdiag.1 %{buildroot}%{_mandir}/man1/packetdiag-%{python3_version}.1
install -m 0644 -D rackdiag.1   %{buildroot}%{_mandir}/man1/rackdiag-%{python3_version}.1
popd

%{__python2} setup.py install -O1 --skip-build --root %{buildroot}
install -m 0644 -D %{srcname}.1 %{buildroot}%{_mandir}/man1/%{srcname}.1
install -m 0644 -D packetdiag.1 %{buildroot}%{_mandir}/man1/packetdiag.1
install -m 0644 -D rackdiag.1   %{buildroot}%{_mandir}/man1/rackdiag.1


%check
%{__python} setup.py test

pushd %{py3dir}
%{__python3} setup.py test
popd


%files
%doc LICENSE
%{_bindir}/*diag
%{_mandir}/man1/*diag.1*
%{python2_sitelib}/*
%exclude %{python2_sitelib}/*/tests


%files -n python3-%{srcname}
%{_pkgdocdir}
%{_bindir}/*-%{python3_version}
%{_mandir}/man1/*-%{python3_version}.1*
%{python3_sitelib}/__pycache__/*
%{python3_sitelib}/*diag*
%exclude %{python3_sitelib}/*/tests


%changelog
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Mon May 19 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 1.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4

* Tue Mar 04 2014 Dridi Boukelmoune <dridi.boukelmoune@gmail.com> - 1.0.0-2
- Fixed changelog format.
- Fixed man page permissions.
- Added missing man pages.
- Avoid co-ownership of %%{python3_sitelib}/__pycache__/.

* Sun Mar 02 2014 Dridi Boukelmoune <dridi.boukelmoune@gmail.com> - 1.0.0-1
- Initial version.