libproxy/libproxy.spec

392 lines
11 KiB
RPMSpec

#
# spec file for package libproxy (Version 0.2.3)
#
# Copyright (c) 2009 SUSE LINUX Products 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 http://bugs.opensuse.org/
#
# norootforbuild
%define build_core_not_plugins 1
%if 0%{suse_version} < 1100
%define xulrunner_ver 181
%else
%define xulrunner_ver 190
%endif
Url: http://code.google.com/p/libproxy/
%define _name libproxy
Name: libproxy
Group: System/Libraries
Summary: libproxy is a library that provides automatic proxy configuration management
Version: 0.2.3
Release: 6
Source: http://libproxy.googlecode.com/files/%{_name}-%{version}.tar.bz2
Patch0: libproxy-0.2.3-dbus.diff
Patch1: libproxy-svn-277.patch
License: LGPL v2.1 or later
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: pkg-config
BuildRequires: python-devel
%if !%build_core_not_plugins
BuildRequires: dbus-1-devel
BuildRequires: gconf2-devel
# For directory ownership, but also because we want to rebuild the plugins if
# the library changed
BuildRequires: libproxy0
BuildRequires: libwebkit-devel
BuildRequires: mozilla-xulrunner%{xulrunner_ver}-devel
BuildRequires: NetworkManager-devel
BuildRequires: xorg-x11-libXmu-devel
%endif
%description
libproxy offers the following features: * extremely small core
footprint (< 35K)
* no external dependencies within libproxy core (libproxy plugins
may have dependencies)
* only 3 functions in the stable external API
* dynamic adjustment to changing network topology
* a standard way of dealing with proxy settings across all scenarios
Authors:
--------
Nathaniel McCallum <nathaniel@natemccallum.com>
Alex Panait <kippled@gmail.com>
%if %build_core_not_plugins
%package tools
License: GPL v2 or later; LGPL v2.1 or later
Summary: A simple application using libproxy
Group: System/Libraries
Requires: libproxy0 = %{version}
%description tools
A simple application that will use libproxy to give the results you can
expect from other applications. It can be used to debug what would
happen in various cases.
Authors:
--------
Nathaniel McCallum <nathaniel@natemccallum.com>
Alex Panait <kippled@gmail.com>
%package devel
License: GPL v2 or later; LGPL v2.1 or later
Summary: libproxy is a library that provides automatic proxy configuration management - development files
Group: Development/Libraries/C and C++
Requires: libproxy0 = %{version}
%description devel
libproxy offers the following features: * extremely small core
footprint (< 35K)
* no external dependencies within libproxy core (libproxy plugins
may have dependencies)
* only 3 functions in the stable external API
* dynamic adjustment to changing network topology
* a standard way of dealing with proxy settings across all scenarios
Authors:
--------
Nathaniel McCallum <nathaniel@natemccallum.com>
Alex Panait <kippled@gmail.com>
%package -n libproxy0
License: GPL v2 or later; LGPL v2.1 or later
Summary: libproxy is a library that provides automatic proxy configuration management
Group: System/Libraries
%description -n libproxy0
libproxy offers the following features: * extremely small core
footprint (< 35K)
* no external dependencies within libproxy core (libproxy plugins
may have dependencies)
* only 3 functions in the stable external API
* dynamic adjustment to changing network topology
* a standard way of dealing with proxy settings across all scenarios
Authors:
--------
Nathaniel McCallum <nathaniel@natemccallum.com>
Alex Panait <kippled@gmail.com>
%package -n python-libproxy
License: GPL v2 or later; LGPL v2.1 or later
Summary: Python bindings for libproxy
Group: System/Libraries
Requires: libproxy0 = %{version}
%py_requires
%description -n python-libproxy
libproxy offers the following features: * extremely small core
footprint (< 35K)
* no external dependencies within libproxy core (libproxy plugins
may have dependencies)
* only 3 functions in the stable external API
* dynamic adjustment to changing network topology
* a standard way of dealing with proxy settings across all scenarios
Authors:
--------
Nathaniel McCallum <nathaniel@natemccallum.com>
Alex Panait <kippled@gmail.com>
%else
%package -n libproxy0-gnome
License: GPL v2 or later; LGPL v2.1 or later
Summary: Libproxy plugin for GNOME configuration
Group: System/Libraries
Requires: libproxy0 = %{version}
Supplements: packageand(libproxy0:gconf2)
Provides: libproxy-gnome = %{version}
Obsoletes: libproxy-gnome < %{version}
%description -n libproxy0-gnome
A plugin to extend libproxy with capabilities to query GNOME about
proxy settings.
Authors:
--------
Nathaniel McCallum <nathaniel@natemccallum.com>
Alex Panait <kippled@gmail.com>
%package -n libproxy0-kde
License: GPL v2 or later; LGPL v2.1 or later
Summary: Libproxy plugin for KDE configuration
Group: System/Libraries
Requires: libproxy0 = %{version}
Supplements: packageand(libproxy0:libkde4)
Provides: libproxy-kde = %{version}
Obsoletes: libproxy-kde < %{version}
%description -n libproxy0-kde
A plugin to extend libproxy with capabilities to query KDE about proxy
settings.
Authors:
--------
Nathaniel McCallum <nathaniel@natemccallum.com>
Alex Panait <kippled@gmail.com>
%package -n libproxy0-mozjs
License: GPL v2 or later; LGPL v2.1 or later
Summary: Libproxy plugin to support wpad/pac parsing via Mozilla JavaScript Engine
Group: System/Libraries
Requires: libproxy0 = %{version}
Supplements: packageand(libproxy0:mozilla-xulrunner%{xulrunner_ver})
Provides: libproxy-mozjs = %{version}
Obsoletes: libproxy-mozjs < %{version}
%description -n libproxy0-mozjs
A plugin to extend libproxy with capabilities to pass addresses to a
WPAD/PAC script and have it find the correct proxy.
Authors:
--------
Nathaniel McCallum <nathaniel@natemccallum.com>
Alex Panait <kippled@gmail.com>
%package -n libproxy0-webkit
License: GPL v2 or later; LGPL v2.1 or later
Summary: Libproxy plugin to support WPAD/PAC parsing via WebKit JavaScript Engine
Group: System/Libraries
Requires: libproxy0 = %{version}
Supplements: packageand(libproxy0:libwebkit-1)
Provides: libproxy-webkit = %{version}
Obsoletes: libproxy-webkit < %{version}
%description -n libproxy0-webkit
A plugin to extend libproxy with capabilities to pass addresses to a
WPAD/PAC script and have it find the correct proxy.
Authors:
--------
Nathaniel McCallum <nathaniel@natemccallum.com>
Alex Panait <kippled@gmail.com>
%package -n libproxy0-networkmanager
License: GPL v2 or later; LGPL v2.1 or later
Summary: Libproxy plugin for NetworkManager configuration
Group: System/Libraries
Requires: libproxy0 = %{version}
Supplements: packageand(libproxy0:NetworkManager)
Provides: libproxy-networkmanager = %{version}
Obsoletes: libproxy-networkmanager < %{version}
%description -n libproxy0-networkmanager
A plugin to extend libproxy with capabilities to query NetworkManager
about proxy settings.
Authors:
--------
Nathaniel McCallum <nathaniel@natemccallum.com>
Alex Panait <kippled@gmail.com>
%endif
%prep
%setup -q -n %{_name}-%{version}
%patch0 -p1
%patch1 -p1
%build
autoreconf -f -i
%configure --with-python --disable-static
%{__make} %{?jobs:-j%jobs}
%install
%if %build_core_not_plugins
%makeinstall
rm $RPM_BUILD_ROOT%{_libdir}/*.la
%else
cd src/lib
%makeinstall
cd ../plugins
%makeinstall
# remove files that are part of the core
rm $RPM_BUILD_ROOT%{_includedir}/*.h
rm $RPM_BUILD_ROOT%{_libdir}/libproxy.*
rm $RPM_BUILD_ROOT%{_libdir}/libproxy/%{version}/plugins/envvar.so
rm $RPM_BUILD_ROOT%{_libdir}/libproxy/%{version}/plugins/file.so
%endif
%if %build_core_not_plugins
%post -n libproxy0 -p /sbin/ldconfig
%postun -n libproxy0 -p /sbin/ldconfig
%files tools
%defattr(-, root, root)
%{_bindir}/proxy
%files -n libproxy0
%defattr(-, root, root)
%{_libdir}/*.so.*
%dir %{_libdir}/libproxy
%dir %{_libdir}/libproxy/%{version}
%dir %{_libdir}/libproxy/%{version}/plugins
%{_libdir}/libproxy/%{version}/plugins/envvar.so
%{_libdir}/libproxy/%{version}/plugins/file.so
%files devel
%defattr(-, root, root)
%{_includedir}/*.h
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%files -n python-libproxy
%defattr(-, root, root)
%{py_sitedir}/*.py
%else
%files -n libproxy0-kde
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/plugins/kde.so
%files -n libproxy0-gnome
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/plugins/gnome.so
%files -n libproxy0-networkmanager
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/plugins/networkmanager.so
%files -n libproxy0-webkit
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/plugins/webkit.so
%files -n libproxy0-mozjs
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/plugins/mozjs.so
%endif
%changelog
* Thu Apr 23 2009 vuntz@novell.com
- Change Name to libproxy-plugins in libproxy-plugins.spec.
* Thu Apr 16 2009 vuntz@novell.com
- Split the build in two steps, libproxy and libproxy-plugins, to
avoid a build loop: libproxy depends on libwebkit which depends
on libsoup which depends on libproxy. So we now have a new spec
file for libproxy-plugins where the libwebkit dependency is.
* Sun Mar 15 2009 vuntz@novell.com
- Review changes.
* Sat Mar 14 2009 wr@rosenauer.org
- use correct mozilla/xulrunner dependencies
* Mon Feb 23 2009 vuntz@novell.com
- Revert the use of %%{libproxy_shnum}: there are places where the
macro cannot be used (%%files, eg), and we want don't want to mix
libproxy0 and libproxy%%{libproxy_shnum} -- too likely to forget
to update one of the two instances.
* Sun Feb 22 2009 vuntz@novell.com
- Review changes.
- Add Provides/Obsoletes after plugin packages renaming.
- Don't use %%{name} everywhere: in some places, it doesn't help
with clarity; in some others, it could be wrong in the future (in
Supplements).
* Tue Feb 17 2009 domninique-obs@leuenberger.net
- Replace the %%{name}0 all over by %%{name}%%{libproxy_shnum}, makes
it easier for future updates by linking to variables.
* Tue Feb 17 2009 vuntz@novell.com
- Review changes.
* Tue Feb 17 2009 dominique-obs@leuenberger.net
- Have the plugin sub-packages follow the shlib name. The plugins
are depending on a specific version of the lib and should be
installable in parallel together with multiple libs.
The plugins live in a versioned directory, so no conflicts can
happen.
* Mon Feb 16 2009 ro@suse.de
- added baselibs.conf
(libproxy0-32bit needed by libsoup-2_4-1-32bit)
* Fri Feb 06 2009 vuntz@novell.com
- Add missing Requires on libproxy0 for the subpackages.
* Tue Feb 03 2009 hfiguiere@suse.de
- Initial packaging.