Accepting request 46523 from GNOME:Factory

Copy from GNOME:Factory/libproxy based on submit request 46523 from user dimstar

OBS-URL: https://build.opensuse.org/request/show/46523
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libproxy?expand=0&rev=22
This commit is contained in:
OBS User autobuild 2010-09-03 11:57:22 +00:00 committed by Git OBS Bridge
parent f897e67c3e
commit 3c96a02508
8 changed files with 459 additions and 200 deletions

View File

@ -1,4 +1,3 @@
libmodman0
libproxy1
libproxy1-config-gnome
supplements "packageand(libproxy1-<targettype>:libproxy1-gnome)"

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:453bb246a06aae706df5e3252b597c1c7c69121f4f8c69e60024101d9f11e59e
size 64182

3
libproxy-0.4.5.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1cccd9aff6304c7b687ef2364cd95475e6771d3920a521ad1b1d9c3cc70d13d1
size 70452

View File

@ -1,3 +1,67 @@
-------------------------------------------------------------------
Fri Aug 20 15:16:46 UTC 2010 - dimstar@opensuse.org
- Mono bindings are not available for all supported platforms,
thus wrapping it in a if have_mono [...] endif.
-------------------------------------------------------------------
Thu Aug 19 22:16:22 UTC 2010 - dimstar@opensuse.org
- Check for build_snapshot: the svn snapshot project contains
unversioned tarballs.
-------------------------------------------------------------------
Thu Aug 19 15:49:02 UTC 2010 - dimstar@opensuse.org
- Update to version 0.4.5:
+ C# bindings are installable (-DWITH_DOTNET=ON)
+ C# bindings installation path can be changed using -DGAC_DIR=
+ Internal libmodman build fixed
+ Installation dirs are now all relative to CMAKE_INSTALL_PREFIX
+ Fixed test while using --as-needed linker flag
+ Fixed generation of libproxy-1.0.pc
+ Basic support for Mingw added (not yet 100% functional)
+ Ruby binding implemented (not yet in the build system)
+ Fixed modules not being found caused by relative
LIBEXEC_INSTALL_DIR
+ Fixed bug with builtin plugins (Issue 133)
+ Vala bindings installation path can be changed using
-DVAPI_DIR=
+ Python bindings installation path can be changed using
-DPYTHON_SITEPKG_DIR=
+ Perl bindings can be installed in vendor directory
(-DPERL_VENDORARCH=ON)
+ Perl bindings installation path can be change using
-DPX_PERL_ARCH=
+ Unit test now builds on OSX
- Changes from version 0.4.4:
+ Add support for optionally building using a system libmodman
+ Rework build system to be cleaner
+ Fix two major build system bugs: 127, 128
-------------------------------------------------------------------
Mon Jul 5 21:42:37 UTC 2010 - dimstar@opensuse.org
- Add mono-devel BuildRequires to install the csharp bindings.
-------------------------------------------------------------------
Tue Jun 22 17:48:31 UTC 2010 - dimstar@opensuse.org
- Initial work to support win32 cross building.
-------------------------------------------------------------------
Mon Jun 14 17:48:01 UTC 2010 - dimstar@opensuse.org
- Use external libmodman: add libmodman-devel BuildRequires.
- Drop libmodman0 subpackage
-------------------------------------------------------------------
Wed Jun 9 22:52:05 UTC 2010 - dimstar@opensuse.org
- Enable build on other distributions than openSUSE, wrapping
openSUSE rpm tags like Recommends and Supplements in %if
statements.
-------------------------------------------------------------------
Mon Jun 7 17:01:55 UTC 2010 - dimstar@opensuse.org

View File

@ -1,8 +1,7 @@
#
# spec file for package libproxy-plugins (Version 0.4.3)
# spec file for package libproxy-plugins (Version 0.4.5)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2010 Dominique Leuenberger, Amsterdam, Netherlands.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,20 +15,21 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
%define build_core_not_modules 0
%if 0%{suse_version} > 1120
%if 0%{?suse_version}
%define have_mono 1
%else
%define have_mono 0
%endif
%if 0%{?suse_version} > 1120
%define xulrunner_ver 192
%else
%if 0%{suse_version} > 1110
%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
%endif
Url: http://code.google.com/p/libproxy/
@ -38,34 +38,52 @@ Url: http://code.google.com/p/libproxy/
Name: libproxy-plugins
Group: System/Libraries
Summary: Libproxy provides consistent proxy configuration to applications
Version: 0.4.3
Version: 0.4.5
Release: 1
Source: http://libproxy.googlecode.com/files/%{_name}-%{version}.tar.bz2
%if 0%{?build_snapshot}
%define _sourcename %{_name}
%else
%define _sourcename %{_name}-%{version}
%endif
Source: http://libproxy.googlecode.com/files/%{_sourcename}.tar.bz2
# Script used for automatic snapshot updates
Source98: update-from-svn.sh
Source99: baselibs.conf
License: LGPLv2.1+
License: GPLv2+ ; LGPLv2.1+
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkg-config
BuildRequires: libmodman-devel
BuildRequires: pkgconfig
BuildRequires: zlib-devel
%if !%build_core_not_modules
%if !%{build_core_not_modules}
%if ! 0%{?windows}
BuildRequires: dbus-1-devel
BuildRequires: gconf2-devel
# For directory ownership, but also because we want to rebuild the modules if
# the library changed
BuildRequires: libproxy1
BuildRequires: libwebkit-devel
%if 0%{?suse_version}
BuildRequires: mozilla-xulrunner%{xulrunner_ver}-devel
%else
BuildRequires: xulrunner-devel
%endif
BuildRequires: NetworkManager-devel
BuildRequires: libkde4-devel
BuildRequires: libqt4-devel
%endif
%else
%if 0%{?have_mono}
BuildRequires: mono-devel
%endif
BuildRequires: perl
BuildRequires: python-devel
%endif
%if %suse_version <= 1110
%define python_sitelib %{py_sitedir}
%endif
%{!?python_sitelib: %global python_sitelib %(%__python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python_sitearch: %global python_sitearch %(%__python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%{!?_assemblies_dir: %global _assemblies_dir %(pkg-config cecil --variable=assemblies_dir)}
%description
libproxy offers the following features: * extremely small core
@ -73,11 +91,8 @@ libproxy offers the following features: * extremely small core
* 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
@ -107,11 +122,8 @@ libproxy offers the following features: * extremely small core
* 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
@ -126,33 +138,19 @@ libproxy offers the following features: * extremely small core
* 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
%package -n libmodman0
License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy's Module Management Library
Group: System/Libraries
Obsoletes: libmodman0_0_0 < %{version}
Provides: libmodman0_0_0 = %{version}
%description -n libmodman0
A module management library taking care of loading / unload modules
including heuristics in detecting which bindings might already
be used by an application and favouring this one.
%package -n python-libproxy
License: GPLv2+ ; LGPLv2.1+
Summary: Python bindings for libproxy
Group: System/Libraries
%if 0%{?suse_version} > 1110
BuildArch: noarch
Requires: libproxy1 = %{version}
%py_requires
%endif
Requires: libproxy1 = %{version}
%description -n python-libproxy
libproxy offers the following features: * extremely small core
@ -160,11 +158,8 @@ libproxy offers the following features: * extremely small core
* 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
@ -173,7 +168,8 @@ License: GPLv2+ ; LGPLv2.1+
Summary: Perl bindings for libproxy
Group: Development/Libraries/Perl
Requires: libproxy1 = %{version}
Requires: perl = %{perl_version}
# For Fedora at least perl = perl_version does not work.
Requires: perl >= %{perl_version}
%description -n perl-Net-Libproxy
libproxy offers the following features: * extremely small core
@ -181,13 +177,11 @@ libproxy offers the following features: * extremely small core
* 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
%if 0%{?have_mono}
%package -n libproxy-sharp
License: GPLv2+ ; LGPLv2.1+
@ -201,13 +195,10 @@ libproxy offers the following features: * extremely small core
* 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
%endif
%else
@ -216,9 +207,12 @@ License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy module for GNOME configuration
Group: System/Libraries
Requires: libproxy1 = %{version}
%if 0%{?suse_version}
Recommends: libproxy1-pacrunner = %{version}
Recommends: libproxy1-wpad-dns = %{version}
Supplements: packageand(libproxy1:gconf2)
%else
Requires: libproxy1-pacrunner = %{version}
%endif
Provides: libproxy-gnome = %{version}
Obsoletes: libproxy-gnome < %{version}
@ -232,9 +226,12 @@ License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy module for KDE configuration
Group: System/Libraries
Requires: libproxy1 = %{version}
%if 0%{?suse_version}
Recommends: libproxy1-pacrunner = %{version}
Recommends: libproxy1-wpad-dns = %{version}
Supplements: packageand(libproxy1:libkde4)
%else
Requires: libproxy1-pacrunner = %{version}
%endif
Provides: libproxy-kde = %{version}
Obsoletes: libproxy-kde < %{version}
@ -248,7 +245,9 @@ License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy module to support wpad/pac parsing via Mozilla JavaScript Engine
Group: System/Libraries
Requires: libproxy1 = %{version}
%if 0%{?suse_version}
Supplements: packageand(libproxy1:mozilla-xulrunner%{xulrunner_ver})
%endif
# A virtual symbol to identify that this is a pacrunner.
Provides: libproxy1-pacrunner = %{version}
@ -262,7 +261,9 @@ License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy module to support WPAD/PAC parsing via WebKit JavaScript Engine
Group: System/Libraries
Requires: libproxy1 = %{version}
Supplements: packageand(libproxy1:libwebkit-1)
%if 0%{?suse_version}
Supplements: packageand(libproxy1:libwebkitgtk-0)
%endif
# A virtual symbol to identify that this is a pacrunner.
Provides: libproxy1-pacrunner = %{version}
@ -270,13 +271,14 @@ Provides: libproxy1-pacrunner = %{version}
A module to extend libproxy with capabilities to pass addresses to a
WPAD/PAC script and have it find the correct proxy.
%package -n libproxy1-networkmanager
License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy module for NetworkManager configuration
Group: System/Libraries
Requires: libproxy1 = %{version}
%if 0%{?suse_version}
Supplements: packageand(libproxy1:NetworkManager)
%endif
%description -n libproxy1-networkmanager
A module to extend libproxy with capabilities to query NetworkManager
@ -285,88 +287,134 @@ about network configuration changes.
%endif
%prep
%setup -q -n %{_name}-%{version}
%setup -q -n %{_sourcename}
mkdir build
%build
cd build
export CXXFLAGS="%{optflags}"
export CFLAGS="%{optflags}"
%if 0%{?suse_version} < 1120 && 0%{?suse_version}
export CXXFLAGS="%{optflags} -DXP_UNIX"
%endif
%if 0%{?windows}
export CXXFLAGS="%{optflags} -fno-stack-protector -static-libgcc"
%endif
cmake \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-Dlibdir=%{_libdir} \
-Dlibexecdir=%{_libexecdir}/libproxy \
-Ddatadir=%{_datadir} \
-Dmoduledir=%{_libdir}/libproxy/%{version}/modules \
%if 0%{?windows}
-DCMAKE_TOOLCHAIN_FILE=../cmake/mingw32.cmake \
-DBUILD_TESTING=False \
-DWITH_DOTNET=OFF \
%else
-DWITH_VALA=yes \
-DWITH_DOTNET=%{have_mono} \
-DFORCE_SYSTEM_LIBMODMAN=ON \
%endif
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DBIN_INSTALL_DIR=%{_bindir} \
-DLIB_INSTALL_DIR=%{_libdir} \
-DMODULE_INSTALL_DIR=%{_libdir}/libproxy-%{version}/modules \
-DLIBEXEC_INSTALL_DIR=%{_libexecdir}/libproxy-%{version} \
-DSHARE_INSTALL_PREFIX=%{_datadir} \
-DINCLUDE_INSTALL_DIR=%{_includedir} \
-DPERL_VENDORINSTALL=yes \
%if ! %build_core_not_modules
-DWITH_DOTNET=OFF \
%endif
%if 0%{?suse_version} && 0%{?suse_version} < 1120
-DCMAKE_BUILD_TYPE=DebugFull \
-DCMAKE_INSTALL_CONFIG_NAME=DebugFull \
%else
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_CONFIG_NAME=RelWithDebInfo \
%endif
..
%{__make} %{?jobs:-j%jobs}
%{__make} VERBOSE=1
%install
cd build
%makeinstall
make DESTDIR=%{buildroot} install
# On Windows we also do not want to provide the static libraries.
%if 0%{?windows}
find %{buildroot}%{_libdir} -name '*.dll.a' -delete -print
rm %{buildroot}%{_libdir}/libmodman.dll
%endif
%if %build_core_not_modules
# Build the basic directory structure for the modules so we can
# own the directories in the main library package
install -d %{buildroot}%{_libexecdir}/libproxy
install -d %{buildroot}%{_libdir}/%{name}/%{version}/modules
install -d %{buildroot}%{_libexecdir}/libproxy-%{version}
install -d %{buildroot}%{_libdir}/%{name}-%{version}/modules
%else
# remove files that are part of the core
rm %{buildroot}%{_includedir}/*.h
rm -f %{buildroot}%{_includedir}/*.h
# Delete all files that exist in the base libproxy package
rm %{buildroot}%{_bindir}/proxy
rm %{buildroot}%{_libdir}/libproxy.so*
rm %{buildroot}%{_libdir}/libmodman.so*
rm %{buildroot}%{python_sitelib}/*.py
rm %{buildroot}%{_libdir}/pkgconfig/libproxy-1.0.pc
rm %{buildroot}%{_datadir}/cmake/Modules/Findlibproxy.cmake
rm %{buildroot}%{_datadir}/vala/vapi/libproxy-1.0.vapi
rm %{buildroot}%{perl_vendorarch}/Net/Libproxy.pm
rm %{buildroot}%{perl_vendorarch}/auto/Net/Libproxy/Libproxy.so
rm -f %{buildroot}%{_bindir}/proxy%{?windows:.exe}
rm -f %{buildroot}%{_libdir}/libproxy.*
rm -f %{buildroot}%{python_sitelib}/*.py
rm -f %{buildroot}%{_libdir}/pkgconfig/libproxy-1.0.pc
rm -f %{buildroot}%{_datadir}/cmake/Modules/Findlibproxy.cmake
rm -f %{buildroot}%{_datadir}/vala/vapi/libproxy-1.0.vapi
rm -f %{buildroot}%{perl_vendorarch}/Net/Libproxy.pm
rm -f %{buildroot}%{perl_vendorarch}/auto/Net/Libproxy/Libproxy.so
%endif
%check
cd build
make test
%if %build_core_not_modules
%post -n libproxy1 -p /sbin/ldconfig
%post -n libmodman0 -p /sbin/ldconfig
%postun -n libproxy1 -p /sbin/ldconfig
%postun -n libmodman0 -p /sbin/ldconfig
%files tools
%defattr(-, root, root)
%{_bindir}/proxy
%{_bindir}/proxy%{?windows:.exe}
%files -n libproxy1
%defattr(-, root, root)
%doc COPYING README AUTHORS
%if ! 0%{?windows}
%{_libdir}/libproxy.so.*
%dir %{_libexecdir}/libproxy
%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 -n libmodman0
%defattr(-, root, root)
%{_libdir}/libmodman.so.*
%else
%{_libdir}/libproxy.dll
%endif
%dir %{_libexecdir}/libproxy-%{version}
%dir %{_libdir}/libproxy-%{version}
%dir %{_libdir}/libproxy-%{version}/modules
%files devel
%defattr(-, root, root)
%{_includedir}/*.h
%if ! 0%{?windows}
%{_libdir}/*.so
%{_libdir}/pkgconfig/libproxy-1.0.pc
%if 0%{have_mono}
%{_libdir}/pkgconfig/libproxy-sharp-1.0.pc
%endif
%{_datadir}/cmake/Modules/Findlibproxy.cmake
%dir %{_datadir}/vala
%dir %{_datadir}/vala/vapi
%{_datadir}/vala/vapi/libproxy-1.0.vapi
%endif
%files -n python-libproxy
%defattr(-, root, root)
%{python_sitelib}/*.py
%if 0%{?have_mono}
%files -n libproxy-sharp
%defattr(-, root, root)
%{_assemblies_dir}/gac/libproxy-sharp
%{_assemblies_dir}/libproxy-sharp
%endif
%if ! 0%{?windows}
%files -n perl-Net-Libproxy
%defattr(-,root,root)
%dir %{perl_vendorarch}/Net
@ -374,28 +422,32 @@ rm %{buildroot}%{perl_vendorarch}/auto/Net/Libproxy/Libproxy.so
%dir %{perl_vendorarch}/auto/Net/Libproxy
%{perl_vendorarch}/Net/Libproxy.pm
%{perl_vendorarch}/auto/Net/Libproxy/Libproxy.so
%endif
%else
%if ! 0%{?windows}
%files -n libproxy1-config-kde4
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/modules/config_kde4.so
%{_libdir}/libproxy-%{version}/modules/config_kde4.so
%files -n libproxy1-config-gnome
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/modules/config_gnome.so
%{_libexecdir}/libproxy/pxgconf
%{_libdir}/libproxy-%{version}/modules/config_gnome.so
%{_libexecdir}/libproxy-%{version}/pxgconf
%files -n libproxy1-networkmanager
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/modules/network_networkmanager.so
%{_libdir}/libproxy-%{version}/modules/network_networkmanager.so
%files -n libproxy1-pacrunner-webkit
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/modules/pacrunner_webkit.so
%{_libdir}/libproxy-%{version}/modules/pacrunner_webkit.so
%files -n libproxy1-pacrunner-mozjs
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/modules/pacrunner_mozjs.so
%{_libdir}/libproxy-%{version}/modules/pacrunner_mozjs.so
%endif
%endif
%changelog

View File

@ -1,3 +1,67 @@
-------------------------------------------------------------------
Fri Aug 20 15:16:46 UTC 2010 - dimstar@opensuse.org
- Mono bindings are not available for all supported platforms,
thus wrapping it in a if have_mono [...] endif.
-------------------------------------------------------------------
Thu Aug 19 22:16:22 UTC 2010 - dimstar@opensuse.org
- Check for build_snapshot: the svn snapshot project contains
unversioned tarballs.
-------------------------------------------------------------------
Thu Aug 19 15:49:02 UTC 2010 - dimstar@opensuse.org
- Update to version 0.4.5:
+ C# bindings are installable (-DWITH_DOTNET=ON)
+ C# bindings installation path can be changed using -DGAC_DIR=
+ Internal libmodman build fixed
+ Installation dirs are now all relative to CMAKE_INSTALL_PREFIX
+ Fixed test while using --as-needed linker flag
+ Fixed generation of libproxy-1.0.pc
+ Basic support for Mingw added (not yet 100% functional)
+ Ruby binding implemented (not yet in the build system)
+ Fixed modules not being found caused by relative
LIBEXEC_INSTALL_DIR
+ Fixed bug with builtin plugins (Issue 133)
+ Vala bindings installation path can be changed using
-DVAPI_DIR=
+ Python bindings installation path can be changed using
-DPYTHON_SITEPKG_DIR=
+ Perl bindings can be installed in vendor directory
(-DPERL_VENDORARCH=ON)
+ Perl bindings installation path can be change using
-DPX_PERL_ARCH=
+ Unit test now builds on OSX
- Changes from version 0.4.4:
+ Add support for optionally building using a system libmodman
+ Rework build system to be cleaner
+ Fix two major build system bugs: 127, 128
-------------------------------------------------------------------
Mon Jul 5 21:42:37 UTC 2010 - dimstar@opensuse.org
- Add mono-devel BuildRequires to install the csharp bindings.
-------------------------------------------------------------------
Tue Jun 22 17:48:31 UTC 2010 - dimstar@opensuse.org
- Initial work to support win32 cross building.
-------------------------------------------------------------------
Mon Jun 14 17:48:01 UTC 2010 - dimstar@opensuse.org
- Use external libmodman: add libmodman-devel BuildRequires.
- Drop libmodman0 subpackage
-------------------------------------------------------------------
Wed Jun 9 22:52:05 UTC 2010 - dimstar@opensuse.org
- Enable build on other distributions than openSUSE, wrapping
openSUSE rpm tags like Recommends and Supplements in %if
statements.
-------------------------------------------------------------------
Mon Jun 7 17:01:55 UTC 2010 - dimstar@opensuse.org

View File

@ -1,8 +1,7 @@
#
# spec file for package libproxy (Version 0.4.3)
# spec file for package libproxy (Version 0.4.5)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2010 Dominique Leuenberger, Amsterdam, Netherlands.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,20 +15,21 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
%define build_core_not_modules 1
%if 0%{suse_version} > 1120
%if 0%{?suse_version}
%define have_mono 1
%else
%define have_mono 0
%endif
%if 0%{?suse_version} > 1120
%define xulrunner_ver 192
%else
%if 0%{suse_version} > 1110
%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
%endif
Url: http://code.google.com/p/libproxy/
@ -38,34 +38,52 @@ Url: http://code.google.com/p/libproxy/
Name: libproxy
Group: System/Libraries
Summary: Libproxy provides consistent proxy configuration to applications
Version: 0.4.3
Version: 0.4.5
Release: 1
Source: http://libproxy.googlecode.com/files/%{_name}-%{version}.tar.bz2
%if 0%{?build_snapshot}
%define _sourcename %{_name}
%else
%define _sourcename %{_name}-%{version}
%endif
Source: http://libproxy.googlecode.com/files/%{_sourcename}.tar.bz2
# Script used for automatic snapshot updates
Source98: update-from-svn.sh
Source99: baselibs.conf
License: LGPLv2.1+
License: GPLv2+ ; LGPLv2.1+
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkg-config
BuildRequires: libmodman-devel
BuildRequires: pkgconfig
BuildRequires: zlib-devel
%if !%build_core_not_modules
%if !%{build_core_not_modules}
%if ! 0%{?windows}
BuildRequires: dbus-1-devel
BuildRequires: gconf2-devel
# For directory ownership, but also because we want to rebuild the modules if
# the library changed
BuildRequires: libproxy1
BuildRequires: libwebkit-devel
%if 0%{?suse_version}
BuildRequires: mozilla-xulrunner%{xulrunner_ver}-devel
%else
BuildRequires: xulrunner-devel
%endif
BuildRequires: NetworkManager-devel
BuildRequires: libkde4-devel
BuildRequires: libqt4-devel
%endif
%else
%if 0%{?have_mono}
BuildRequires: mono-devel
%endif
BuildRequires: perl
BuildRequires: python-devel
%endif
%if %suse_version <= 1110
%define python_sitelib %{py_sitedir}
%endif
%{!?python_sitelib: %global python_sitelib %(%__python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python_sitearch: %global python_sitearch %(%__python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%{!?_assemblies_dir: %global _assemblies_dir %(pkg-config cecil --variable=assemblies_dir)}
%description
libproxy offers the following features: * extremely small core
@ -73,11 +91,8 @@ libproxy offers the following features: * extremely small core
* 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
@ -107,11 +122,8 @@ libproxy offers the following features: * extremely small core
* 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
@ -126,33 +138,19 @@ libproxy offers the following features: * extremely small core
* 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
%package -n libmodman0
License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy's Module Management Library
Group: System/Libraries
Obsoletes: libmodman0_0_0 < %{version}
Provides: libmodman0_0_0 = %{version}
%description -n libmodman0
A module management library taking care of loading / unload modules
including heuristics in detecting which bindings might already
be used by an application and favouring this one.
%package -n python-libproxy
License: GPLv2+ ; LGPLv2.1+
Summary: Python bindings for libproxy
Group: System/Libraries
%if 0%{?suse_version} > 1110
BuildArch: noarch
Requires: libproxy1 = %{version}
%py_requires
%endif
Requires: libproxy1 = %{version}
%description -n python-libproxy
libproxy offers the following features: * extremely small core
@ -160,11 +158,8 @@ libproxy offers the following features: * extremely small core
* 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
@ -173,7 +168,8 @@ License: GPLv2+ ; LGPLv2.1+
Summary: Perl bindings for libproxy
Group: Development/Libraries/Perl
Requires: libproxy1 = %{version}
Requires: perl = %{perl_version}
# For Fedora at least perl = perl_version does not work.
Requires: perl >= %{perl_version}
%description -n perl-Net-Libproxy
libproxy offers the following features: * extremely small core
@ -181,13 +177,11 @@ libproxy offers the following features: * extremely small core
* 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
%if 0%{?have_mono}
%package -n libproxy-sharp
License: GPLv2+ ; LGPLv2.1+
@ -201,13 +195,10 @@ libproxy offers the following features: * extremely small core
* 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
%endif
%else
@ -216,9 +207,12 @@ License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy module for GNOME configuration
Group: System/Libraries
Requires: libproxy1 = %{version}
%if 0%{?suse_version}
Recommends: libproxy1-pacrunner = %{version}
Recommends: libproxy1-wpad-dns = %{version}
Supplements: packageand(libproxy1:gconf2)
%else
Requires: libproxy1-pacrunner = %{version}
%endif
Provides: libproxy-gnome = %{version}
Obsoletes: libproxy-gnome < %{version}
@ -232,9 +226,12 @@ License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy module for KDE configuration
Group: System/Libraries
Requires: libproxy1 = %{version}
%if 0%{?suse_version}
Recommends: libproxy1-pacrunner = %{version}
Recommends: libproxy1-wpad-dns = %{version}
Supplements: packageand(libproxy1:libkde4)
%else
Requires: libproxy1-pacrunner = %{version}
%endif
Provides: libproxy-kde = %{version}
Obsoletes: libproxy-kde < %{version}
@ -248,7 +245,9 @@ License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy module to support wpad/pac parsing via Mozilla JavaScript Engine
Group: System/Libraries
Requires: libproxy1 = %{version}
%if 0%{?suse_version}
Supplements: packageand(libproxy1:mozilla-xulrunner%{xulrunner_ver})
%endif
# A virtual symbol to identify that this is a pacrunner.
Provides: libproxy1-pacrunner = %{version}
@ -262,7 +261,9 @@ License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy module to support WPAD/PAC parsing via WebKit JavaScript Engine
Group: System/Libraries
Requires: libproxy1 = %{version}
Supplements: packageand(libproxy1:libwebkit-1)
%if 0%{?suse_version}
Supplements: packageand(libproxy1:libwebkitgtk-0)
%endif
# A virtual symbol to identify that this is a pacrunner.
Provides: libproxy1-pacrunner = %{version}
@ -270,13 +271,14 @@ Provides: libproxy1-pacrunner = %{version}
A module to extend libproxy with capabilities to pass addresses to a
WPAD/PAC script and have it find the correct proxy.
%package -n libproxy1-networkmanager
License: GPLv2+ ; LGPLv2.1+
Summary: Libproxy module for NetworkManager configuration
Group: System/Libraries
Requires: libproxy1 = %{version}
%if 0%{?suse_version}
Supplements: packageand(libproxy1:NetworkManager)
%endif
%description -n libproxy1-networkmanager
A module to extend libproxy with capabilities to query NetworkManager
@ -285,88 +287,134 @@ about network configuration changes.
%endif
%prep
%setup -q -n %{_name}-%{version}
%setup -q -n %{_sourcename}
mkdir build
%build
cd build
export CXXFLAGS="%{optflags}"
export CFLAGS="%{optflags}"
%if 0%{?suse_version} < 1120 && 0%{?suse_version}
export CXXFLAGS="%{optflags} -DXP_UNIX"
%endif
%if 0%{?windows}
export CXXFLAGS="%{optflags} -fno-stack-protector -static-libgcc"
%endif
cmake \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-Dlibdir=%{_libdir} \
-Dlibexecdir=%{_libexecdir}/libproxy \
-Ddatadir=%{_datadir} \
-Dmoduledir=%{_libdir}/libproxy/%{version}/modules \
%if 0%{?windows}
-DCMAKE_TOOLCHAIN_FILE=../cmake/mingw32.cmake \
-DBUILD_TESTING=False \
-DWITH_DOTNET=OFF \
%else
-DWITH_VALA=yes \
-DWITH_DOTNET=%{have_mono} \
-DFORCE_SYSTEM_LIBMODMAN=ON \
%endif
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DBIN_INSTALL_DIR=%{_bindir} \
-DLIB_INSTALL_DIR=%{_libdir} \
-DMODULE_INSTALL_DIR=%{_libdir}/libproxy-%{version}/modules \
-DLIBEXEC_INSTALL_DIR=%{_libexecdir}/libproxy-%{version} \
-DSHARE_INSTALL_PREFIX=%{_datadir} \
-DINCLUDE_INSTALL_DIR=%{_includedir} \
-DPERL_VENDORINSTALL=yes \
%if ! %build_core_not_modules
-DWITH_DOTNET=OFF \
%endif
%if 0%{?suse_version} && 0%{?suse_version} < 1120
-DCMAKE_BUILD_TYPE=DebugFull \
-DCMAKE_INSTALL_CONFIG_NAME=DebugFull \
%else
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_CONFIG_NAME=RelWithDebInfo \
%endif
..
%{__make} %{?jobs:-j%jobs}
%{__make} VERBOSE=1
%install
cd build
%makeinstall
make DESTDIR=%{buildroot} install
# On Windows we also do not want to provide the static libraries.
%if 0%{?windows}
find %{buildroot}%{_libdir} -name '*.dll.a' -delete -print
rm %{buildroot}%{_libdir}/libmodman.dll
%endif
%if %build_core_not_modules
# Build the basic directory structure for the modules so we can
# own the directories in the main library package
install -d %{buildroot}%{_libexecdir}/libproxy
install -d %{buildroot}%{_libdir}/%{name}/%{version}/modules
install -d %{buildroot}%{_libexecdir}/libproxy-%{version}
install -d %{buildroot}%{_libdir}/%{name}-%{version}/modules
%else
# remove files that are part of the core
rm %{buildroot}%{_includedir}/*.h
rm -f %{buildroot}%{_includedir}/*.h
# Delete all files that exist in the base libproxy package
rm %{buildroot}%{_bindir}/proxy
rm %{buildroot}%{_libdir}/libproxy.so*
rm %{buildroot}%{_libdir}/libmodman.so*
rm %{buildroot}%{python_sitelib}/*.py
rm %{buildroot}%{_libdir}/pkgconfig/libproxy-1.0.pc
rm %{buildroot}%{_datadir}/cmake/Modules/Findlibproxy.cmake
rm %{buildroot}%{_datadir}/vala/vapi/libproxy-1.0.vapi
rm %{buildroot}%{perl_vendorarch}/Net/Libproxy.pm
rm %{buildroot}%{perl_vendorarch}/auto/Net/Libproxy/Libproxy.so
rm -f %{buildroot}%{_bindir}/proxy%{?windows:.exe}
rm -f %{buildroot}%{_libdir}/libproxy.*
rm -f %{buildroot}%{python_sitelib}/*.py
rm -f %{buildroot}%{_libdir}/pkgconfig/libproxy-1.0.pc
rm -f %{buildroot}%{_datadir}/cmake/Modules/Findlibproxy.cmake
rm -f %{buildroot}%{_datadir}/vala/vapi/libproxy-1.0.vapi
rm -f %{buildroot}%{perl_vendorarch}/Net/Libproxy.pm
rm -f %{buildroot}%{perl_vendorarch}/auto/Net/Libproxy/Libproxy.so
%endif
%check
cd build
make test
%if %build_core_not_modules
%post -n libproxy1 -p /sbin/ldconfig
%post -n libmodman0 -p /sbin/ldconfig
%postun -n libproxy1 -p /sbin/ldconfig
%postun -n libmodman0 -p /sbin/ldconfig
%files tools
%defattr(-, root, root)
%{_bindir}/proxy
%{_bindir}/proxy%{?windows:.exe}
%files -n libproxy1
%defattr(-, root, root)
%doc COPYING README AUTHORS
%if ! 0%{?windows}
%{_libdir}/libproxy.so.*
%dir %{_libexecdir}/libproxy
%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 -n libmodman0
%defattr(-, root, root)
%{_libdir}/libmodman.so.*
%else
%{_libdir}/libproxy.dll
%endif
%dir %{_libexecdir}/libproxy-%{version}
%dir %{_libdir}/libproxy-%{version}
%dir %{_libdir}/libproxy-%{version}/modules
%files devel
%defattr(-, root, root)
%{_includedir}/*.h
%if ! 0%{?windows}
%{_libdir}/*.so
%{_libdir}/pkgconfig/libproxy-1.0.pc
%if 0%{have_mono}
%{_libdir}/pkgconfig/libproxy-sharp-1.0.pc
%endif
%{_datadir}/cmake/Modules/Findlibproxy.cmake
%dir %{_datadir}/vala
%dir %{_datadir}/vala/vapi
%{_datadir}/vala/vapi/libproxy-1.0.vapi
%endif
%files -n python-libproxy
%defattr(-, root, root)
%{python_sitelib}/*.py
%if 0%{?have_mono}
%files -n libproxy-sharp
%defattr(-, root, root)
%{_assemblies_dir}/gac/libproxy-sharp
%{_assemblies_dir}/libproxy-sharp
%endif
%if ! 0%{?windows}
%files -n perl-Net-Libproxy
%defattr(-,root,root)
%dir %{perl_vendorarch}/Net
@ -374,28 +422,32 @@ rm %{buildroot}%{perl_vendorarch}/auto/Net/Libproxy/Libproxy.so
%dir %{perl_vendorarch}/auto/Net/Libproxy
%{perl_vendorarch}/Net/Libproxy.pm
%{perl_vendorarch}/auto/Net/Libproxy/Libproxy.so
%endif
%else
%if ! 0%{?windows}
%files -n libproxy1-config-kde4
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/modules/config_kde4.so
%{_libdir}/libproxy-%{version}/modules/config_kde4.so
%files -n libproxy1-config-gnome
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/modules/config_gnome.so
%{_libexecdir}/libproxy/pxgconf
%{_libdir}/libproxy-%{version}/modules/config_gnome.so
%{_libexecdir}/libproxy-%{version}/pxgconf
%files -n libproxy1-networkmanager
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/modules/network_networkmanager.so
%{_libdir}/libproxy-%{version}/modules/network_networkmanager.so
%files -n libproxy1-pacrunner-webkit
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/modules/pacrunner_webkit.so
%{_libdir}/libproxy-%{version}/modules/pacrunner_webkit.so
%files -n libproxy1-pacrunner-mozjs
%defattr(-, root, root)
%{_libdir}/libproxy/%{version}/modules/pacrunner_mozjs.so
%{_libdir}/libproxy-%{version}/modules/pacrunner_mozjs.so
%endif
%endif
%changelog

28
update-from-svn.sh Normal file
View File

@ -0,0 +1,28 @@
#!/bin/sh
MODULE=$(basename $(pwd))
if [ ! -x /usr/bin/svn ]; then
echo "subversion is missing - aborting"
return 1
fi
if [ ! -d $MODULE ]; then
echo "Base directory of $MODULE checkout is missing - aborting"
exit 2
fi
pushd $MODULE
svn update
VERSION=$(grep "version" $MODULE/CMakeLists.txt | awk -F'(' '{print $2}' | awk '{print $1+0"."$2+0"."$3+0}')
SVNREV=$(svn info | awk '/Revision:/ { print $2 }')
popd
# Adjust the version information and svn rev in the spec file to what we get from the svn checkout.
sed -i "s/Version:.*/Version: ${VERSION}.svn.$SVNREV/" $MODULE.spec
tar cjf $MODULE.tar.bz2 $MODULE
[ -f pre_checkin.sh ] && sh pre_checkin.sh
osc ci -m "Update to ${VERSION/git/svn.$SVNREV}" --skip-validation