summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordominique.leuenberger <dominique.leuenberger@c587cffe-e639-0410-9787-d7902ae8ed56>2009-08-17 08:00:57 +0000
committerdominique.leuenberger <dominique.leuenberger@c587cffe-e639-0410-9787-d7902ae8ed56>2009-08-17 08:00:57 +0000
commit6f010e9998c549b2548b8dc470aee63f68d2464a (patch)
treeb5288c29d977d4b022f12659f56f5d92bc88b45f
parentbe281a67be65338d80a4d49eb5fc2f3ae8e95a59 (diff)
downloadlibproxy-6f010e9998c549b2548b8dc470aee63f68d2464a.tar.gz
Updated spec file as used on openSUSE 11.2. As sample for other distributions
git-svn-id: http://libproxy.googlecode.com/svn/trunk@417 c587cffe-e639-0410-9787-d7902ae8ed56
-rw-r--r--libproxy.spec.in446
1 files changed, 330 insertions, 116 deletions
diff --git a/libproxy.spec.in b/libproxy.spec.in
index 23ab80d..dcfff27 100644
--- a/libproxy.spec.in
+++ b/libproxy.spec.in
@@ -1,180 +1,394 @@
-%define build_nm 0%{suse_version} < 1030
-%define build_webkit 0%{suse_version} > 1100
+#
+# spec file for package libproxy (Version 0.3.0)
+#
+# 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_modules 1
+%if 0%{suse_version} > 1110
+%define xulrunner_ver 191
+%else
+%if 0%{suse_version} >= 1100
+%define xulrunner_ver 190
+%else
+%define xulrunner_ver 181
+%endif
+%endif
+Url: http://code.google.com/p/libproxy/
+%define _name libproxy
Name: libproxy
Group: System/Libraries
-Summary: A library handling all the details of proxy configuration
+Summary: Libproxy provides consistent proxy configuration to applications
Version: @VERSION@
-Release: 1.1
-Source: %name-%version.tar.bz2
-License: GPL v2 or later; LGPL v2.1 or later
+Release: 1
+Source: http://libproxy.googlecode.com/files/%{_name}-%{version}.tar.bz2
+License: LGPL v2.1 or later
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-
-BuildRequires: xorg-x11-libXmu-devel
-BuildRequires: gconf2-devel
-%if 0%{build_nm}
-# never versions contain NM 0.7, which is not compatible
-BuildRequires: NetworkManager-devel
+BuildRequires: pkg-config
+BuildRequires: python-devel
+%if !%build_core_not_modules
+BuildRequires: dbus-1-devel
+BuildRequires: gconf2-devel
+# For directory ownership, but also because we want to rebuild the modules if
+# the library changed
+BuildRequires: libproxy0
+BuildRequires: libwebkit-devel
+BuildRequires: mozilla-xulrunner%{xulrunner_ver}-devel
+BuildRequires: NetworkManager-devel
+BuildRequires: xorg-x11-libXmu-devel
%endif
-BuildRequires: python-devel
-BuildRequires: gecko-sdk
-BuildRequires: dbus-1-devel
-# Up to openSUSE 11.0, libwebkit was not available
-%if 0%{build_webkit}
-BuildRequires: libwebkit-devel
+%if %suse_version <= 1110
+%define python_sitelib %{py_sitedir}
%endif
%description
-libproxy offers the following features:
+libproxy offers the following features: * extremely small core
+ footprint (< 35K)
+
+* no external dependencies within libproxy core (libproxy modules
+ may have dependencies)
+
+* only 3 functions in the stable external API
- * extremely small core footprint (< 35K)
- * no external dependencies within libproxy core (libproxy modules 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
- * a sublime sense of joy and accomplishment
+* dynamic adjustment to changing network topology
+
+* a standard way of dealing with proxy settings across all scenarios
+
+
+%if %build_core_not_modules
%package tools
-Summary: A sample & test application to test what libproxy will reply
-Group: Productivity/Network/Diagnostic
+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. Great to debug what would happen.
+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.
+
%package devel
-Summary: A library handling all the details of proxy configurationa - development headers
-Group: Development/Libraries/C and C++
-Requires: %{name}0 = %{version}
+License: GPL v2 or later ; LGPL v2.1 or later
+Summary: Libproxy provides consistent proxy configuration to applications - Development Files
+Group: Development/Libraries/C and C++
+Requires: libproxy0 = %{version}
%description devel
-libproxy offers the following features:
+libproxy offers the following features: * extremely small core
+ footprint (< 35K)
+
+* no external dependencies within libproxy core (libproxy modules
+ may have dependencies)
+
+* only 3 functions in the stable external API
+
+* dynamic adjustment to changing network topology
- * extremely small core footprint (< 35K)
- * no external dependencies within libproxy core (libproxy modules 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
- * a sublime sense of joy and accomplishment
+* a standard way of dealing with proxy settings across all scenarios
-%package -n %{name}0
-Summary: A library handling all the details of proxy configuration
-Group: System/Libraries
-%description -n %{name}0
-libproxy offers the following features:
+%package -n libproxy0
+License: GPL v2 or later ; LGPL v2.1 or later
+Summary: Libproxy provides consistent proxy configuration to applications
+Group: System/Libraries
+
+%description -n libproxy0
+libproxy offers the following features: * extremely small core
+ footprint (< 35K)
- * extremely small core footprint (< 35K)
- * no external dependencies within libproxy core (libproxy modules 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
- * a sublime sense of joy and accomplishment
+* no external dependencies within libproxy core (libproxy modules
+ may have dependencies)
-This package offers, next to the library, the base modules envvar and file
+* only 3 functions in the stable external API
-%package -n %{name}0-gnome
-Summary: Libproxy module for gnome configuration
-Group: System/Libraries
+* dynamic adjustment to changing network topology
-%description -n %{name}0-gnome
-A module to extend libproxy with capabilities to query gnome/gconf about the proxy settings.
+* a standard way of dealing with proxy settings across all scenarios
-%package -n %{name}0-kde
-Summary: Libproxy module for kde configuration
-Group: System/Libraries
-%description -n %{name}0-kde
-A module to extend libproxy with capabilities to query KDE about proxy settings
+%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)
-%package -n %{name}0-mozjs
-Summary: Libproxy module to support wpad/pac parsing via Mozilla JavaScript Engine
-Group: System/Libraries
+* no external dependencies within libproxy core (libproxy modules
+ may have dependencies)
-%description -n %{name}0-mozjs
-A module to extend libproxy with capabilities to pass addresses to a WPAD/PAC Script
-to have it parse for the correct proxy. PAC requires JavaScript Engine in the back.
+* only 3 functions in the stable external API
-%package -n %{name}0-networkmanager
-Summary: Libproxy module for networkmanager configuration
-Group: System/Libraries
+* dynamic adjustment to changing network topology
-%description -n %{name}0-networkmanager
-A module to extend libproxy with capabilities to query NetworkManager about proxy settings
+* a standard way of dealing with proxy settings across all scenarios
-%package -n python-%{name}
-Summary: Python bindings for libproxy
-Group: System/Libraries
-%description -n python-%{name}
-Allows for the usage of libproxy from python applications
+%package -n libproxy-sharp
+License: GPL v2 or later ; LGPL v2.1 or later
+Summary: .Net bindings for libproxy
+Group: Development/Languages/Mono
+Requires: libproxy0 = %{version}
+
+%description -n libproxy-sharp
+libproxy offers the following features: * extremely small core
+ footprint (< 35K)
+
+* no external dependencies within libproxy core (libproxy modules
+ 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
+
+
+%else
+
+%package -n libproxy0-config-gnome
+License: GPL v2 or later ; LGPL v2.1 or later
+Summary: Libproxy module for GNOME configuration
+Group: System/Libraries
+Requires: libproxy0 = %{version}
+Recommends: libproxy0-pacrunner = %{version}
+Recommends: libproxy0-wpad-dns = %{version}
+Supplements: packageand(libproxy0:gconf2)
+Provides: libproxy-gnome = %{version}
+Obsoletes: libproxy-gnome < %{version}
+Provides: libproxy0-gnome = %{version}
+Obsoletes: libproxy0-gnome < %{version}
+
+
+%description -n libproxy0-config-gnome
+A module to extend libproxy with capabilities to query GNOME about
+proxy settings.
+
+
+%package -n libproxy0-config-kde
+License: GPL v2 or later ; LGPL v2.1 or later
+Summary: Libproxy module for KDE configuration
+Group: System/Libraries
+Requires: libproxy0 = %{version}
+Recommends: libproxy0-pacrunner = %{version}
+Recommends: libproxy0-wpad-dns = %{version}
+Supplements: packageand(libproxy0:libkde4)
+Provides: libproxy-kde = %{version}
+Obsoletes: libproxy-kde < %{version}
+Provides: libproxy0-kde = %{version}
+Obsoletes: libproxy0-kde < %{version}
+
+%description -n libproxy0-config-kde
+A module to extend libproxy with capabilities to query KDE about proxy
+settings.
+
+
+%package -n libproxy0-pacrunner-mozjs
+License: GPL v2 or later ; LGPL v2.1 or later
+Summary: Libproxy module to support wpad/pac parsing via Mozilla JavaScript Engine
+Group: System/Libraries
+Requires: libproxy0 = %{version}
+Supplements: packageand(libproxy0:mozilla-xulrunner%{xulrunner_ver})
+# A virtual symbol to identify that this is a pacrunner.
+Provides: libproxy0-pacrunner = %{version}
+Provides: libproxy-mozjs = %{version}
+Obsoletes: libproxy-mozjs < %{version}
+Provides: libproxy0-mozjs = %{version}
+Obsoletes: libproxy0-mozjs < %{version}
+
+%description -n libproxy0-pacrunner-mozjs
+A module to extend libproxy with capabilities to pass addresses to a
+WPAD/PAC script and have it find the correct proxy.
+
+
+%package -n libproxy0-pacrunner-webkit
+License: GPL v2 or later ; LGPL v2.1 or later
+Summary: Libproxy module to support WPAD/PAC parsing via WebKit JavaScript Engine
+Group: System/Libraries
+Requires: libproxy0 = %{version}
+Supplements: packageand(libproxy0:libwebkit-1)
+Provides: libproxy0-pacrunner = %{version}
+Provides: libproxy-webkit = %{version}
+Obsoletes: libproxy-webkit < %{version}
+Provides: libproxy0-webkit = %{version}
+Obsoletes: libproxy0-webkit < %{version}
+
+%description -n libproxy0-pacrunner-webkit
+A module to extend libproxy with capabilities to pass addresses to a
+WPAD/PAC script and have it find the correct proxy.
+
+
+%package -n libproxy0-networkmanager
+License: GPL v2 or later ; LGPL v2.1 or later
+Summary: Libproxy module 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 module to extend libproxy with capabilities to query NetworkManager
+about network configuration changes.
+
+
+%package -n libproxy0-config-wpad
+License: GPL v2 or later ; LGPL v2.1 or later
+Summary: Libproxy module for WPAD autofallback
+Group: System/Libraries
+Requires: libproxy0 = %{version}
+Requires: libproxy0-wpad-dns = %{version}
+
+%description -n libproxy0-config-wpad
+A module to extend libproxy with capabilities to query wpad://
+in case no other module returns valid configuration.
+
+This might not be wanted in tight security environments.
+
+
+%package -n libproxy0-wpad-dns
+License: GPL v2 or later ; LGPL v2.1 or later
+Summary: Libproxy module for WPAD Autofallback
+Group: System/Libraries
+Requires: libproxy0 = %{version}
+Requires: libproxy0-pacrunner = %{version}
+Recommends: libproxy-wpad-dns-devolution = %{version}
+
+%description -n libproxy0-wpad-dns
+This modules performs the DNS queries needed to find
+the wpad:// configuration.
+
+The module is needed to exist whenever automatic proxy
+configuration is used.
+
+
+%package -n libproxy0-wpad-dns-devolution
+License: GPL v2 or later ; LGPL v2.1 or later
+Summary: Libproxy module for WPAD Autofallback
+Group: System/Libraries
+Requires: libproxy0 = %{version}
+Requires: libproxy0-pacrunner = %{version}
+Requires: libproxy0-wpad-dns = %{version}
+
+%description -n libproxy0-wpad-dns-devolution
+A module to extend wpad:// capabilities of libproxy with DNS
+devolution. The module is written with care and it will never
+fall back to the .TLD domains.
+
+
+%endif
-%debug_package
%prep
-%setup -q
-# %patch0 -p1
+%setup -q -n %{_name}-%{version}
%build
-CFLAGS="-fPIC" %configure --with-python
-make
+%configure \
+%if %build_core_not_modules
+ --without-wpad \
+%endif
+ --with-python \
+ --disable-static
+%{__make} %{?jobs:-j%jobs}
%install
+%if %build_core_not_modules
%makeinstall
-rm $RPM_BUILD_ROOT%{_libdir}/%{name}.la
+rm %{buildroot}%{_libdir}/*.la
+%else
+cd src/lib
+%makeinstall
+cd ../modules
+%makeinstall
+# remove files that are part of the core
+rm %{buildroot}%{_includedir}/*.h
+rm %{buildroot}%{_libdir}/libproxy.*
+rm %{buildroot}%{_libdir}/libproxy/%{version}/modules/config_envvar.so
+rm %{buildroot}%{_libdir}/libproxy/%{version}/modules/config_file.so
+rm %{buildroot}%{_libdir}/libproxy/%{version}/modules/config_direct.so
+rm %{buildroot}%{_libdir}/libproxy/%{version}/modules/ignore_*.so
+%endif
+%if %build_core_not_modules
-%post -n %{name}0
-/sbin/ldconfig
+%post -n libproxy0 -p /sbin/ldconfig
-%postun -n %{name}0
-/sbin/ldconfig
+%postun -n libproxy0 -p /sbin/ldconfig
%files tools
%defattr(-, root, root)
%{_bindir}/proxy
-%files -n %{name}0
+%files -n libproxy0
%defattr(-, root, root)
-%{_libdir}/%{name}.so.*
-%dir %{_libdir}/%{name}/
-%dir %{_libdir}/%{name}/%{version}
-%dir %{_libdir}/%{name}/%{version}/modules
-%{_libdir}/%{name}/%{version}/modules/envvar.so
-%{_libdir}/%{name}/%{version}/modules/file.so
+%{_libdir}/*.so.*
+%dir %{_libdir}/libproxy
+%dir %{_libdir}/libproxy/%{version}
+%dir %{_libdir}/libproxy/%{version}/modules
+%{_libdir}/libproxy/%{version}/modules/config_envvar.so
+%{_libdir}/libproxy/%{version}/modules/config_file.so
+%{_libdir}/libproxy/%{version}/modules/config_direct.so
+%{_libdir}/libproxy/%{version}/modules/ignore_*.so
%files devel
%defattr(-, root, root)
-%{_includedir}/proxy.h
-%{_libdir}/%{name}.a
-%{_libdir}/%{name}.so
-%{_libdir}/pkgconfig/%{name}-1.0.pc
+%{_includedir}/*.h
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/*.pc
-%files -n %{name}0-kde
+%files -n python-libproxy
%defattr(-, root, root)
-%{_libdir}/%{name}/%{version}/modules/kde.so
+%{python_sitelib}/*.py
+%else
-%files -n %{name}0-gnome
+%files -n libproxy0-config-kde
%defattr(-, root, root)
-%{_libdir}/%{name}/%{version}/modules/gnome.so
+%{_libdir}/libproxy/%{version}/modules/config_kde.so
-%if 0%{build_nm}
-%files -n %{name}0-networkmanager
+%files -n libproxy0-config-gnome
%defattr(-, root, root)
-%{_libdir}/%{name}/%{version}/modules/networkmanager.so
-%endif
+%{_libdir}/libproxy/%{version}/modules/config_gnome.so
-%files -n %{name}0-mozjs
+%files -n libproxy0-config-wpad
%defattr(-, root, root)
-%{_libdir}/%{name}/%{version}/modules/mozjs.so
+%{_libdir}/libproxy/%{version}/modules/config_wpad.so
+%files -n libproxy0-wpad-dns
+%defattr(-, root, root)
+%{_libdir}/libproxy/%{version}/modules/wpad_dns.so
+
+%files -n libproxy0-wpad-dns-devolution
+%defattr(-, root, root)
+%{_libdir}/libproxy/%{version}/modules/wpad_dnsdevolution.so
+
+%files -n libproxy0-networkmanager
+%defattr(-, root, root)
+%{_libdir}/libproxy/%{version}/modules/network_networkmanager.so
+
+%files -n libproxy0-pacrunner-webkit
+%defattr(-, root, root)
+%{_libdir}/libproxy/%{version}/modules/pacrunner_webkit.so
-%files -n python-%{name}
+%files -n libproxy0-pacrunner-mozjs
%defattr(-, root, root)
-%{py_sitedir}/%{name}.py
+%{_libdir}/libproxy/%{version}/modules/pacrunner_mozjs.so
+%endif
%changelog
-* Fri Jun 6 2008 - dominique-rpm@leuenberger.net
-- Updated to version 0.2.3
-* Wed Jun 4 2008 - dominique-rpm@leuenberger.net
-- Extended spec file to build all available modules
-* Tue Jun 3 2008 - dominique-rpm@leuenberger.net
-- Initial spec file for Version 0.2.2