Blob Blame History Raw
%if 0%{?fedora}
%bcond_without python3
%else
# in epel7, there's no default for _pkgdocdir
%global _pkgdocdir %{_defaultdocdir}/%{name}
%endif

%bcond_with gedit

%global sum Graphical user interface to version control systems

Name:           rabbitvcs
Version:        0.17.1
Release:        1%{?dist}
Summary:        %{sum}

License:        GPLv2+
URL:            http://rabbitvcs.org
Source0:        https://github.com/rabbitvcs/rabbitvcs/archive/v%{version}/rabbitvcs-%{version}.tar.gz

Patch0:         rabbitvcs-ignore-post-install.patch

BuildArch:      noarch

BuildRequires:  pygtk2-devel
BuildRequires:  python2-devel
%if 0%{?fedora}
BuildRequires:  python3-gobject
BuildRequires:  python3-devel
%endif

%description
RabbitVCS is a set of graphical tools written to provide simple
and straightforward access to the version control systems you use.

%package        core
Summary:        Common package of RabbitVCS
Requires:       meld
Requires:       git
Requires:       mercurial
Requires:       subversion
# rhbz#1226816 - Gedit plugin not working with Gedit later than version 3.12
%if %{without gedit}
Obsoletes:      rabbitvcs-gedit < %{version}-%{release}
%endif

%description    core
Contains files shared between the RabbitVCS extensions.

%package -n python2-rabbitvcs
Summary:        %{sum}
%{?python_provide:%python_provide python2-rabbitvcs}
Requires:       %{name}-core = %{version}-%{release}
Requires:       python2-configobj
Requires:       python2-dulwich
Requires:       python2-simplejson
Requires:       pygtk2-libglade
Requires:       pysvn
Requires:       python2-tkinter

%description -n python2-rabbitvcs
RabbitVCS is a set of graphical tools written to provide simple
and straightforward access to the version control systems you use.

%if %{with python3}
%package -n python3-rabbitvcs
Summary:        %{sum}
%{?python_provide:%python_provide python3-rabbitvcs}
Requires:       %{name}-core = %{version}-%{release}
Requires:       python3-configobj
Requires:       python3-dulwich
Requires:       python3-gobject
Requires:       python3-pysvn
Requires:       python3-simplejson
Requires:       python3-tkinter

%description -n python3-rabbitvcs
RabbitVCS is a set of graphical tools written to provide simple
and straightforward access to the version control systems you use.
%endif

%package        cli
Summary:        CLI extension for RabbitVCS
BuildArch:      noarch
Requires:       %{name}-core = %{version}-%{release}

%description    cli
A command line command to use RabbitVCS

%package        caja
Summary:        Caja extension for RabbitVCS
# caja needs python2 for plugins
Requires:       python2-rabbitvcs = %{version}-%{release}
Requires:       caja
Requires:       python-caja
Requires:       dbus-python

%description    caja
An extension for Caja to allow better integration with the 
source control system.

%package        nautilus
Summary:        Nautilus extension for RabbitVCS
# nautilus needs python2 for plugins
Requires:       python2-rabbitvcs = %{version}-%{release}
Requires:       nautilus
Requires:       nautilus-python
Requires:       dbus-python

%description    nautilus
An extension for Nautilus to allow better integration with the 
source control system.

%package        nemo
Summary:        Nemo extension for RabbitVCS
# nemo needs python2 for plugins
Requires:       python2-rabbitvcs = %{version}-%{release}
Requires:       nemo
Requires:       nemo-python
Requires:       dbus-python

%description    nemo
An extension for Nemo to allow better integration with the 
source control system.

%package        thunar
Summary:        Thunar extension for RabbitVCS
# thunar needs python2 for plugins
Requires:       python2-rabbitvcs = %{version}-%{release}
Requires:       thunar
Requires:       thunarx-python
Requires:       dbus-python

%description    thunar
An extension for Thunar to allow better integration with the 
source control system.

%if %{with gedit}
%package        gedit
Summary:        Gedit extension for RabbitVCS
# gedit needs python3 for plugins
Requires:       python3-rabbitvcs = %{version}-%{release}
Requires:       gedit

%description    gedit
An extension for Gedit to allow better integration with the 
source control system.
%endif

%prep
%autosetup -p1

%build
%py2_build
%if %{with python3}
%py3_build
%endif

%install
%py2_install
%if %{with python3}
%py3_install
%endif
install -p -m0755 clients/cli/rabbitvcs -D %{buildroot}%{_bindir}/rabbitvcs
%if %{with gedit}
install -p -m0644 clients/gedit/rabbitvcs-plugin.py -D %{buildroot}%{_datadir}/gedit/plugins/rabbitvcs-plugin.py
install -p -m0644 clients/gedit/rabbitvcs-gedit3.plugin -D %{buildroot}%{_datadir}/gedit/plugins/rabbitvcs.plugin
%endif
install -p -m0644 clients/caja/RabbitVCS.py -D %{buildroot}%{_datadir}/caja-python/extensions/RabbitVCS.py
install -p -m0644 clients/nautilus-3.0/RabbitVCS.py -D %{buildroot}%{_datadir}/nautilus-python/extensions/RabbitVCS.py
install -p -m0644 clients/nemo/RabbitVCS.py -D %{buildroot}%{_datadir}/nemo-python/extensions/RabbitVCS.py
install -p -m0644 clients/thunar/RabbitVCS.py -D %{buildroot}%{_datadir}/thunarx-python/extensions/RabbitVCS.py

%find_lang RabbitVCS

%post core
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :

%postun core
if [ $1 -eq 0 ] ; then
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi

%posttrans core
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :

%files -f RabbitVCS.lang core
%license COPYING
%{_pkgdocdir}/
%{_datadir}/rabbitvcs/
%{_datadir}/icons/hicolor/16x16/actions/rabbitvcs-push.png
%{_datadir}/icons/hicolor/scalable/*/*.svg

%files -n python2-rabbitvcs
%{python2_sitelib}/*

%if %{with python3}
%files -n python3-rabbitvcs
%{python3_sitelib}/*
%endif

%files cli
%{_bindir}/rabbitvcs

%if %{with gedit}
%files gedit
%{_datadir}/gedit/plugins/*.py*
%{_datadir}/gedit/plugins/*.plugin
%endif

%files caja
%{_datadir}/caja-python/extensions/*.py*

%files nautilus
%{_datadir}/nautilus-python/extensions/*.py*

%files nemo
%{_datadir}/nemo-python/extensions/*.py*

%files thunar
%{_datadir}/thunarx-python/extensions/*.py*

%changelog
* Tue Aug 15 2017 Pete Walter <pwalter@fedoraproject.org> - 0.17.1-1
- Update to 0.17.1

* Mon Aug 14 2017 Pete Walter <pwalter@fedoraproject.org> - 0.17-1
- Update to 0.17

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.1-0.8.20160108gite8214e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.1-0.7.20160108gite8214e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 0.16.1-0.6.20160108gite8214e6
- Rebuild for Python 3.6

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.16.1-0.5.20160108gite8214e6
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Mon Feb 15 2016 Raphael Groner <projects.rg@smart.ms> - 0.16.1-0.4.20160108gite8214e6
- add Tkinter as dependency for python-six, rhbz#1304642

* Wed Feb 03 2016 Raphael Groner <projects.rg@smart.ms> - 0.16.1-0.3.20160108gite8214e6
- fix build conditional for epel7

* Wed Feb 03 2016 Raphael Groner <projects.rg@smart.ms> - 0.16.1-0.2.20160108gite8214e6
- add patch to fix import urlparse in python3
- workaround for a bug in modernize tool with boolean
- disable b0rken gedit plugin, rhbz#1226816

* Sat Jan 30 2016 Raphael Groner <projects.rg@smart.ms> - 0.16.1-0.1.20160108gite8214e6
- new upstream snapshot as pre-release
- port to python3
- mark all as noarch and adjust plugins pathes
- enable debuginfo
- add git and mercurial as dependencies
- fix some crashes with log command, rhbz#1141530
- fix vcs status features, rhbz#1083043
- enable caja plugin, rhbz#1096162
- make gedit plugin work, rhbz#1226816
- add nemo plugin

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.16-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.16-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.16-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Mon Mar 03 2014 Christopher Meng <rpm@cicku.me> - 0.16-1
- Update to 0.16

* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.15.0.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.15.0.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.15.0.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Sun Mar 11 2012 Julian Sikorski <belegdol@fedoraproject.org> - 0.15.0.5-1
- Updated to 0.15.0.5, BZ 760682.
- Dropped obsolete Group, Buildroot, %%clean and %%defattr
- tar.gz → tar.bz2
- Adjusted the paths for Gnome 3
- Re-added Group, Jon Ciesla limburgher@gmail.com

* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.14.2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Wed Sep 21 2011 Juan Rodriguez <nushio@fedoraproject.org> - 0.14.2.1-3
- Adds a dependency to python-dulwich so the git plugin can work
- Removes rabbitvcs-git and rabbitvcs-svn

* Tue Sep 13 2011 Juan Rodriguez <nushio@fedoraproject.org> - 0.14.2.1-2
- Removes Nautilus dependency on rabbitvcs-core

* Tue Sep 13 2011 Juan Rodriguez <nushio@fedoraproject.org> - 0.14.2.1-1
- Updated package to 0.14.2.1
- Added Thunar Plugin

* Mon Feb 14 2011 Juan Rodriguez <nushio@fedoraproject.org> - 0.14.1.1-1
- Updated Package to 0.14.1.1
- Lots of speed improvements. 
- Git and SVN support separated and are now optional
- Changelog for 0.14.1.1: http://blog.rabbitvcs.org/archives/284
- Changelog for 0.14.1: http://blog.rabbitvcs.org/archives/280
- Changelog for 0.14: http://blog.rabbitvcs.org/archives/277

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Sat Jul 31 2010 Thomas Spura <tomspur@fedoraproject.org> - 0.13.3-2
- Rebuild for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild

* Wed Jun 16 2010 Juan Rodriguez <nushio@fedoraproject.org> - 0.13.3-1
- Fixes a *lot* of bugs
- No longer forces English as the language
- Gedit plugin should work now

* Sun Jun 6 2010 Juan Rodriguez <nushio@fedoraproject.org> - 0.13.2.1-2
- Fixes the package creation

* Sun Jun 6 2010 Juan Rodriguez <nushio@fedoraproject.org> - 0.13.2.1-1
- Fixes a crash left by a debug flag.

* Mon May 31 2010 Juan Rodriguez <nushio@fedoraproject.org> - 0.13.2-1
- Updated to version 0.13.2.

* Thu May 27 2010 Juan Rodriguez <nushio@fedoraproject.org> - 0.13.1-3
- Now obsoletes rabbitvcs
- Fixes svg permission ownage

* Wed May 26 2010 Juan Rodriguez <nushio@fedoraproject.org> - 0.13.1-2
- rabbitvcs-core is now noarch
- rabbitvcs-cli is now noarch

* Wed Apr 28 2010 Juan Rodriguez <nushio@fedoraproject.org> - 0.13.1-1
- Rebased to 13.1

* Fri Mar 19 2010 Juan Rodriguez <nushio@fedoraproject.org> - 0.13-2
- The split packages are now bundled into a single tarball. 
- Changed some requires versions. 
- Thunar and NautilusOld packages are no longer being provided. 
- Updated Python macros to the newly approved ones
- Changed URL, Summary and Descriptions for all packages / subpackages
- Package is no longer noarch

* Thu Feb 11 2010 Juan Rodriguez <nushio@fedoraproject.org> - 0.13-1
- Updated RabbitVCS to 0.13
- Split packages for nautilus, nautilus-old, thunar, gedit and cli
- Requires nautilus-python >= 0.5.2 so 64bit users can use rabbitvcs. 

* Thu Dec 17 2009 Juan Rodriguez <nushio@fedoraproject.org> - 0.12.1-2
- Cleaned up Icon Script
- Added AUTHORS, COPYING and MAINTAINERS

* Tue Dec 1 2009 Juan Rodriguez <nushio@fedoraproject.org> - 0.12.1-1
- Updated to RabbitVCS 0.12.1
- Added SSL Client Cert prompt 
- Updated "previous log message" UI behaviour
- Updated locale detection
- Improvements for packaging scripts

* Sat Oct 3 2009 Juan Rodriguez <nushio@fedoraproject.org> - 0.12-1
- Renamed from NautilusSVN to RabbitVCS to match upstream. 
- Calls gtk-update-icon-cache to regenerate the icon cache