diff options
author | dominique.leuenberger <dominique.leuenberger@c587cffe-e639-0410-9787-d7902ae8ed56> | 2009-08-17 08:00:57 +0000 |
---|---|---|
committer | dominique.leuenberger <dominique.leuenberger@c587cffe-e639-0410-9787-d7902ae8ed56> | 2009-08-17 08:00:57 +0000 |
commit | 6f010e9998c549b2548b8dc470aee63f68d2464a (patch) | |
tree | b5288c29d977d4b022f12659f56f5d92bc88b45f | |
parent | be281a67be65338d80a4d49eb5fc2f3ae8e95a59 (diff) | |
download | libproxy-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.in | 446 |
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 |