Hello community,
here is the log from the commit of package libproxy for openSUSE:Factory
checked in at Mon Sep 13 11:41:12 CEST 2010.
--------
--- GNOME/libproxy/libproxy.changes 2010-08-23 12:02:12.000000000 +0200
+++ /mounts/work_src_done/STABLE/libproxy/libproxy.changes 2010-09-02 09:38:59.000000000 +0200
@@ -1,0 +2,9 @@
+Thu Sep 2 09:38:47 CEST 2010 - dimstar@opensuse.org
+
+- Update to version 0.4.6:
+ + Fixed a crash in the URL parser
+ + Fixed build issues with Visual Studio
+ + Updated the INSTALL file
+ + Install Python binding in prefix path if site-packages exists
+
+-------------------------------------------------------------------
libproxy-plugins.changes: same change
calling whatdependson for head-i586
Old:
----
libproxy-0.4.5.tar.bz2
New:
----
libproxy-0.4.6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libproxy-plugins.spec ++++++
--- /var/tmp/diff_new_pack.seNyPI/_old 2010-09-13 11:39:39.000000000 +0200
+++ /var/tmp/diff_new_pack.seNyPI/_new 2010-09-13 11:39:39.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package libproxy-plugins (Version 0.4.5)
+# spec file for package libproxy-plugins (Version 0.4.6)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -38,7 +38,7 @@
Name: libproxy-plugins
Group: System/Libraries
Summary: Libproxy provides consistent proxy configuration to applications
-Version: 0.4.5
+Version: 0.4.6
Release: 1
%if 0%{?build_snapshot}
%define _sourcename %{_name}
@@ -315,6 +315,7 @@
-DLIB_INSTALL_DIR=%{_libdir} \
-DMODULE_INSTALL_DIR=%{_libdir}/libproxy-%{version}/modules \
-DLIBEXEC_INSTALL_DIR=%{_libexecdir}/libproxy-%{version} \
+ -DPYTHON_SITEPKG_DIR=%{python_sitelib} \
-DSHARE_INSTALL_PREFIX=%{_datadir} \
-DINCLUDE_INSTALL_DIR=%{_includedir} \
-DPERL_VENDORINSTALL=yes \
libproxy.spec: same change
++++++ libproxy-0.4.5.tar.bz2 -> libproxy-0.4.6.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/bindings/CMakeLists.txt new/libproxy-0.4.6/bindings/CMakeLists.txt
--- old/libproxy-0.4.5/bindings/CMakeLists.txt 2010-08-19 21:51:20.000000000 +0200
+++ new/libproxy-0.4.6/bindings/CMakeLists.txt 2010-09-01 22:23:34.000000000 +0200
@@ -1,18 +1,6 @@
option(WITH_PYTHON "Enables Python bindings" ON)
if (WITH_PYTHON)
- find_package(PythonInterp)
-
- if(PYTHONINTERP_FOUND)
- if(NOT PYTHON_SITEPKG_DIR)
- execute_process(COMMAND
- ${PYTHON_EXECUTABLE}
- -c "import distutils.sysconfig ; print distutils.sysconfig.get_python_lib(plat_specific=0)"
- OUTPUT_VARIABLE PYTHON_SITEPKG_DIR
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- endif()
- set(PYTHON_SITEPKG_DIR "${PYTHON_SITEPKG_DIR}" CACHE PATH "Python site-package directory.")
- install(FILES libproxy.py DESTINATION ${PYTHON_SITEPKG_DIR})
- endif()
+ add_subdirectory(python)
endif()
option(WITH_DOTNET "Enables C# bindings" OFF)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/bindings/csharp/AssemblyInfo.cs new/libproxy-0.4.6/bindings/csharp/AssemblyInfo.cs
--- old/libproxy-0.4.5/bindings/csharp/AssemblyInfo.cs 2010-08-19 21:51:20.000000000 +0200
+++ new/libproxy-0.4.6/bindings/csharp/AssemblyInfo.cs 2010-09-01 22:23:34.000000000 +0200
@@ -22,7 +22,7 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-[assembly:AssemblyVersion("0.4.5")]
+[assembly:AssemblyVersion("0.4.6")]
[assembly:AssemblyTitle ("LibProxy#")]
[assembly:AssemblyDescription ("A library that provides automatic proxy configuration management.")]
[assembly:AssemblyCopyright ("Copyright (c) 2006-2009 Nathaniel McCallum")]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/bindings/csharp/libproxy-sharp-1.0.pc.cmake new/libproxy-0.4.6/bindings/csharp/libproxy-sharp-1.0.pc.cmake
--- old/libproxy-0.4.5/bindings/csharp/libproxy-sharp-1.0.pc.cmake 2010-08-19 21:51:20.000000000 +0200
+++ new/libproxy-0.4.6/bindings/csharp/libproxy-sharp-1.0.pc.cmake 2010-09-01 22:23:34.000000000 +0200
@@ -1,5 +1,5 @@
Name: Libproxy#
Description: Libproxy# - .NET Binding to libproxy
-Version: 0.4.5
+Version: 0.4.6
Libs: -r:@assembly@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/bindings/libproxy.py new/libproxy-0.4.6/bindings/libproxy.py
--- old/libproxy-0.4.5/bindings/libproxy.py 2010-08-19 21:51:20.000000000 +0200
+++ new/libproxy-0.4.6/bindings/libproxy.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,125 +0,0 @@
-###############################################################################
-# libproxy - A library for proxy configuration
-# Copyright (C) 2006 Nathaniel McCallum
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-###############################################################################
-
-"A library for proxy configuration and autodetection."
-
-import ctypes
-import ctypes.util
-import platform
-
-import sys
-
-# Load C library
-if platform.system() == "Windows":
- _libc = ctypes.cdll.msvcrt
-else:
- if not ctypes.util.find_library("c"):
- raise ImportError("Unable to import C Library!?!")
- _libc = ctypes.cdll.LoadLibrary(ctypes.util.find_library("c"))
-
-
-# Load libproxy
-if not ctypes.util.find_library("proxy"):
- raise ImportError("Unable to import libproxy!?!?")
-
-
-_libproxy = ctypes.cdll.LoadLibrary(ctypes.util.find_library("proxy"))
-_libproxy.px_proxy_factory_get_proxies.restype = ctypes.POINTER(ctypes.c_void_p)
-
-class ProxyFactory(object):
- """A ProxyFactory object is used to provide potential proxies to use
- in order to reach a given URL (via 'getProxies(url)').
-
- This instance should be kept around as long as possible as it contains
- cached data to increase performance. Memory usage should be minimal (cache
- is small) and the cache lifespan is handled automatically.
-
- Usage is pretty simple:
- pf = libproxy.ProxyFactory()
- for url in urls:
- proxies = pf.getProxies(url)
- for proxy in proxies:
- if proxy == "direct://":
- # Fetch URL without using a proxy
- elif proxy.startswith("http://"):
- # Fetch URL using an HTTP proxy
- elif proxy.startswith("socks://"):
- # Fetch URL using a SOCKS proxy
-
- if fetchSucceeded:
- break
- """
-
- class ProxyResolutionError(RuntimeError):
- """Exception raised when proxy cannot be resolved generally
- due to invalid URL"""
- pass
-
- def __init__(self):
- self._pf = _libproxy.px_proxy_factory_new()
-
- def getProxies(self, url):
- """Given a URL, returns a list of proxies in priority order to be used
- to reach that URL.
-
- A list of proxy strings is returned. If the first proxy fails, the
- second should be tried, etc... In all cases, at least one entry in the
- list will be returned. There are no error conditions.
-
- Regarding performance: this method always blocks and may be called
- in a separate thread (is thread-safe). In most cases, the time
- required to complete this function call is simply the time required
- to read the configuration (e.g from GConf, Kconfig, etc).
-
- In the case of PAC, if no valid PAC is found in the cache (i.e.
- configuration has changed, cache is invalid, etc), the PAC file is
- downloaded and inserted into the cache. This is the most expensive
- operation as the PAC is retrieved over the network. Once a PAC exists
- in the cache, it is merely a JavaScript invocation to evaluate the PAC.
- One should note that DNS can be called from within a PAC during
- JavaScript invocation.
-
- In the case of WPAD, WPAD is used to automatically locate a PAC on the
- network. Currently, we only use DNS for this, but other methods may
- be implemented in the future. Once the PAC is located, normal PAC
- performance (described above) applies.
-
- """
- if type(url) != str:
- raise TypeError("url must be a string!")
-
- proxies = []
- array = _libproxy.px_proxy_factory_get_proxies(self._pf, url)
-
- if not bool(array):
- raise ProxyFactory.ProxyResolutionError(
- "Can't resolve proxy for '%s'" % url)
-
- i=0
- while array[i]:
- proxies.append(str(ctypes.cast(array[i], ctypes.c_char_p).value))
- _libc.free(array[i])
- i += 1
- _libc.free(array)
-
- return proxies
-
- def __del__(self):
- _libproxy.px_proxy_factory_free(self._pf)
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/bindings/python/CMakeLists.txt new/libproxy-0.4.6/bindings/python/CMakeLists.txt
--- old/libproxy-0.4.5/bindings/python/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/libproxy-0.4.6/bindings/python/CMakeLists.txt 2010-09-01 22:23:34.000000000 +0200
@@ -0,0 +1,35 @@
+find_package(PythonInterp)
+
+if(PYTHONINTERP_FOUND)
+ set(PYTHON_SITEPKG_DIR "${PYTHON_SITEPKG_DIR}" CACHE PATH "Python site-package directory.")
+
+ if(NOT PYTHON_SITEPKG_DIR)
+ execute_process(COMMAND
+ ${PYTHON_EXECUTABLE}
+ -c "import sys; print sys.version[0:3]"
+ OUTPUT_VARIABLE PYTHON_VERSION
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+ message(STATUS "Found python version ${PYTHON_VERSION}")
+
+ if (IS_ABSOLUTE "${LIB_INSTALL_DIR}")
+ set(libdir "${LIB_INSTALL_DIR}")
+ else()
+ set(libdir "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}")
+ endif()
+
+ if (IS_DIRECTORY "${libdir}/python${PYTHON_VERSION}/site-packages")
+ set(PYTHON_SITEPKG_DIR "${libdir}/python${PYTHON_VERSION}/site-packages")
+ else()
+ execute_process(COMMAND
+ ${PYTHON_EXECUTABLE}
+ -c "import distutils.sysconfig ; print distutils.sysconfig.get_python_lib(plat_specific=0)"
+ OUTPUT_VARIABLE PYTHON_SITEPKG_DIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ endif()
+ endif()
+
+ message(STATUS "Using PYTHON_SITEPKG_DIR=${PYTHON_SITEPKG_DIR}")
+
+ install(FILES libproxy.py DESTINATION ${PYTHON_SITEPKG_DIR})
+endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/bindings/python/libproxy.py new/libproxy-0.4.6/bindings/python/libproxy.py
--- old/libproxy-0.4.5/bindings/python/libproxy.py 1970-01-01 01:00:00.000000000 +0100
+++ new/libproxy-0.4.6/bindings/python/libproxy.py 2010-09-01 22:23:34.000000000 +0200
@@ -0,0 +1,125 @@
+###############################################################################
+# libproxy - A library for proxy configuration
+# Copyright (C) 2006 Nathaniel McCallum
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+###############################################################################
+
+"A library for proxy configuration and autodetection."
+
+import ctypes
+import ctypes.util
+import platform
+
+import sys
+
+# Load C library
+if platform.system() == "Windows":
+ _libc = ctypes.cdll.msvcrt
+else:
+ if not ctypes.util.find_library("c"):
+ raise ImportError("Unable to import C Library!?!")
+ _libc = ctypes.cdll.LoadLibrary(ctypes.util.find_library("c"))
+
+
+# Load libproxy
+if not ctypes.util.find_library("proxy"):
+ raise ImportError("Unable to import libproxy!?!?")
+
+
+_libproxy = ctypes.cdll.LoadLibrary(ctypes.util.find_library("proxy"))
+_libproxy.px_proxy_factory_get_proxies.restype = ctypes.POINTER(ctypes.c_void_p)
+
+class ProxyFactory(object):
+ """A ProxyFactory object is used to provide potential proxies to use
+ in order to reach a given URL (via 'getProxies(url)').
+
+ This instance should be kept around as long as possible as it contains
+ cached data to increase performance. Memory usage should be minimal (cache
+ is small) and the cache lifespan is handled automatically.
+
+ Usage is pretty simple:
+ pf = libproxy.ProxyFactory()
+ for url in urls:
+ proxies = pf.getProxies(url)
+ for proxy in proxies:
+ if proxy == "direct://":
+ # Fetch URL without using a proxy
+ elif proxy.startswith("http://"):
+ # Fetch URL using an HTTP proxy
+ elif proxy.startswith("socks://"):
+ # Fetch URL using a SOCKS proxy
+
+ if fetchSucceeded:
+ break
+ """
+
+ class ProxyResolutionError(RuntimeError):
+ """Exception raised when proxy cannot be resolved generally
+ due to invalid URL"""
+ pass
+
+ def __init__(self):
+ self._pf = _libproxy.px_proxy_factory_new()
+
+ def getProxies(self, url):
+ """Given a URL, returns a list of proxies in priority order to be used
+ to reach that URL.
+
+ A list of proxy strings is returned. If the first proxy fails, the
+ second should be tried, etc... In all cases, at least one entry in the
+ list will be returned. There are no error conditions.
+
+ Regarding performance: this method always blocks and may be called
+ in a separate thread (is thread-safe). In most cases, the time
+ required to complete this function call is simply the time required
+ to read the configuration (e.g from GConf, Kconfig, etc).
+
+ In the case of PAC, if no valid PAC is found in the cache (i.e.
+ configuration has changed, cache is invalid, etc), the PAC file is
+ downloaded and inserted into the cache. This is the most expensive
+ operation as the PAC is retrieved over the network. Once a PAC exists
+ in the cache, it is merely a JavaScript invocation to evaluate the PAC.
+ One should note that DNS can be called from within a PAC during
+ JavaScript invocation.
+
+ In the case of WPAD, WPAD is used to automatically locate a PAC on the
+ network. Currently, we only use DNS for this, but other methods may
+ be implemented in the future. Once the PAC is located, normal PAC
+ performance (described above) applies.
+
+ """
+ if type(url) != str:
+ raise TypeError("url must be a string!")
+
+ proxies = []
+ array = _libproxy.px_proxy_factory_get_proxies(self._pf, url)
+
+ if not bool(array):
+ raise ProxyFactory.ProxyResolutionError(
+ "Can't resolve proxy for '%s'" % url)
+
+ i=0
+ while array[i]:
+ proxies.append(str(ctypes.cast(array[i], ctypes.c_char_p).value))
+ _libc.free(array[i])
+ i += 1
+ _libc.free(array)
+
+ return proxies
+
+ def __del__(self):
+ _libproxy.px_proxy_factory_free(self._pf)
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/ChangeLog new/libproxy-0.4.6/ChangeLog
--- old/libproxy-0.4.5/ChangeLog 2010-08-19 21:51:20.000000000 +0200
+++ new/libproxy-0.4.6/ChangeLog 2010-09-01 22:23:34.000000000 +0200
@@ -1,3 +1,13 @@
+Wed Sep 1 16:03:00 2010 Nicolas Dufresne
+ * == Released 0.4.6 ===
+ * Fixed a crash in the URL parser
+ * Fixed build issues with Visual Studio
+ * Updated the INSTALL file
+ * Install Python binding in prefix path if site-packages exists
+ * Fixed compilation with Visual Studio
+ * Complete list of bug fixes:
+ + 135, 136, 138
+
Mon Jun 7 11:37:00 2010 Nicolas Dufresne
* === Released 0.4.5 ===
* C# bindings are installable (-DWITH_DOTNET=ON)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/cmake/paths.cmk new/libproxy-0.4.6/cmake/paths.cmk
--- old/libproxy-0.4.5/cmake/paths.cmk 2010-08-19 21:51:20.000000000 +0200
+++ new/libproxy-0.4.6/cmake/paths.cmk 2010-09-01 22:23:34.000000000 +0200
@@ -12,6 +12,6 @@
set(LIB_INSTALL_DIR lib${LIB_SUFFIX} CACHE PATH "Library install dir")
set(LIBEXEC_INSTALL_DIR libexec CACHE PATH "Private executable install dir")
set(INCLUDE_INSTALL_DIR include CACHE PATH "Include install dir")
- set(SYSCONF_INSTALL_DIR etc CACHE PATH "Configuration install dir")
+ set(SYSCONF_INSTALL_DIR /etc CACHE PATH "Configuration install dir")
set(SHARE_INSTALL_DIR share CACHE PATH "Data install dir")
endif(WIN32)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/INSTALL new/libproxy-0.4.6/INSTALL
--- old/libproxy-0.4.5/INSTALL 2010-08-19 21:51:20.000000000 +0200
+++ new/libproxy-0.4.6/INSTALL 2010-09-01 22:23:34.000000000 +0200
@@ -2,34 +2,134 @@
Quick Start
###########
-1. cmake ./
-2. make
-3. make install
-
-Or something like that...
-
+From source directory
+1. mkdir build
+2. cd build
+3. cmake ..
+4. make
+5. make install
More advanced installation options:
###################################
-1. Run cmake with optional arguments (any combination of, some might not make much sense though):
- -DCMAKE_INSTALL_PREFIX=/usr/local
- -Dlibdir=/usr/local/lib
- -Dlibexecdir=/usr/local/libexec
- -Ddatadir=/usr/local/share
- -Dmoduledir=/usr/local/lib/libproxy/0.4.0/modules
- -DWITH_VALA=yes
- -DPERL_VENDORINSTALL=yes
+Example:
+ cmake ..
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DLIB_SUFIX=64
+ -DWITH_VALA=yes
+ -DWITH_DOTNET=yes
+ -DPERL_VENDORINSTALL=yes
+ -DCMAKE_BUILD_TYPE=None
+ -DCMAKE_CXX_FLAGS="-O2"
+ -DCMAKE_C_FLAGS="-O2"
+
+This example would configure libproxy to be installed in /usr with all other
+location using defaults relative to it, except that libraries will be install in
+/usr/lib64. It also enable Vala and .NET bindings and tell the build system
+to install the Perl binding in the vendor directory (the one used by
+distribution, in contrast to the one used by users).
+
+Path options:
+=============
+
+CMAKE_INSTALL_PREFIX: Default to "/usr/local". This is the base install
+ directory. All other path, except SYSCONF_INSTALL_DIR
+ are by default relative to this one.
+
+BIN_INSTALL_DIR: Default to "bin". This is where executable are install.
+
+LIB_INSTALL_DIR: Default to "lib${LIB_SUFFIX}". This is where libraries
+ are insalled.
+
+LIB_SUFFIX: Default to "". This is used on multilib 64bit OS where it
+ would be set to "64".
+
+LIBEXEC_INSTALL_DIR: Default to "libexec". This is where non-interactive helper
+ executable are installed (e.g. pxgconf for Gnome support).
+
+INCLUDE_INSTALL_DIR: Default to "include". This is where libproxy header is
+ installed (proxy.h).
+
+SYSCONF_INSTALL_DIR: Default to "/etc". This is the place where system wide
+ configuration files are placed, currently unused. Note
+ that this path does not have a relative path has default.
+
+SHARE_INSTALL_DIR: Default to "share". This base path used for CMake modules
+ finders and the Vala bindings.
+
+MODULE_INSTALL_DIR: Default to "${LIB_INSTALL_DIR}/${PROJECT_NAME}/${PROJECT_VERSION}/modules".
+ This is where libproxy extensions are installed. Note that
+ extentions API/ABI is not yet stable, so you should be
+ carefull when changing this path not to mix different
+ version of extensions together. The module path can also
+ be altered at runtime using PX_MODULE_PATH environement.
+
+
+Boolean options:
+================
+
+FORCE_SYSTEM_LIBMODMAN: Default to OFF. Forces the build system to generate an
+ error if libmodman cannot be found on your system. By
+ default libmodman will fallback to using internal copy
+ of that library.
+
+PERL_VENDORINSTALL: Default to OFF. Tells cmake to install the perl binding
+ in the vendor directory, which is the one used by most
+ packagers.
+
+WITH_DOTNET: Default to OFF. Enable Mono .NET bindings.
+
+WITH_GNOME: Default to ON. Enable Gnome/GConf bindings.
+
+WITH_KDE4: Default to ON. Enables KDE4/Kconf bindings.
+
+WITH_MOZJS: Default to ON. Enable Mozilla javascript bindings. As
+ Mozilla Javascript engine is often installed multiple
+ you can set prefered order using MOZJS_SEARCH_ORDER,
+ wich defaults to "xulrunner-js;firefox-js;mozilla-js;seamonkey-js".
+
+WITH_NM: Default to ON. Enable NetworkManager bindings.
+
+WITH_PERL: Default to ON. Enable Perl bindings.
+
+WITH_PYTHON: Default to ON. Enable Python bindings.
+
+WITH_VALA: Default to OFF. Enable Vala bindings.
+
+WITH_WEBKIT: Default to ON. Enable Webkit Java Script engine.
+
+
+Bindings Path:
+==============
+
+Most bindings require to be installed in a system specific directory. Libproxy
+build system tries to find those directory. Sometimes this behaviour can be
+annoying since bindings will not be installed relatively to CMAKE_INSTALL_PREFIX.
+For this reason, all bindings provides path overrides.
+
+GAC_DIR: For the Mono .NET binding
+VAPI_DIR: For the Vala bindings
+PX_PERL_ARCH: For the Perl bindings
+PYTHON_SITEPKG_DIR: For the Python bindings
+
-Most of the arguments are selfexplanatory.
--DWITH_VALA=yes can be specified if the Vala bindings shall be installed too
--DPERL_VENDORINSTALL=yes specifies that the perl bindings should be installed in the vendor-lib folders and not in site-lib (as it would by default).
+Make options:
+=============
-2. Build the binaries using make
+Of course you can use parallel build using "make -j2". It's also nice to see
+the exact compile/link command being executed. This can be done using
+"make VERBOSE=1" command.
-Of course you can use parallel build using "make -j2" (limited testing is done on this. We try to have this functional)
+To install in a sub-directory, DESTDIR can be used has make parameter.
+ make install [DESTDIR=/any/prefix/to/prepend]
-3. Installation
+CFLAGS in libproxy:
+===================
-make install [DESTDIR=/any/prefix/to/prepend]
+We are currently having issue with CMake and CFLAGS. As show in the example,
+we have found a simple way that prevents CMAKE from choosing for you the
+CFLAGS you want. As being demonstrated, you can disable CMAKE default CFLAGS
+by setting an invalid (but not empty) CMAKE_BUILD_TYPE (e.g. None). You can
+then set your flags using CMAKE_CXX_FLAGS, and CMAKE_C_FLAGS. Both variable
+are required since libproxy contains C++ and C code.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/libmodman/module.hpp new/libproxy-0.4.6/libmodman/module.hpp
--- old/libproxy-0.4.5/libmodman/module.hpp 2010-08-19 21:51:20.000000000 +0200
+++ new/libproxy-0.4.6/libmodman/module.hpp 2010-09-01 22:23:34.000000000 +0200
@@ -60,7 +60,7 @@
/* Helper macro for loading builtins */
#define MM_DEF_BUILTIN(modname) \
- extern struct mm_module __MM_MODULE_VARNAME_(modname,info)
+ extern "C" struct mm_module __MM_MODULE_VARNAME_(modname,info)
#define MM_BUILTIN(modname) __MM_MODULE_VARNAME_(modname,info)
@@ -94,7 +94,7 @@
extern "C" {
-struct mm_module
+struct __MM_DLL_EXPORT mm_module
{
const unsigned int vers;
const char* name;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/libproxy/CMakeLists.txt new/libproxy-0.4.6/libproxy/CMakeLists.txt
--- old/libproxy-0.4.5/libproxy/CMakeLists.txt 2010-08-19 21:51:20.000000000 +0200
+++ new/libproxy-0.4.6/libproxy/CMakeLists.txt 2010-09-01 22:23:34.000000000 +0200
@@ -1,6 +1,6 @@
### Project info
project(libproxy)
-set_project_version(0 4 5)
+set_project_version(0 4 6)
### Add a global compilation stuff
if (WIN32)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/libproxy/test/CMakeLists.txt new/libproxy-0.4.6/libproxy/test/CMakeLists.txt
--- old/libproxy-0.4.5/libproxy/test/CMakeLists.txt 2010-08-19 21:51:20.000000000 +0200
+++ new/libproxy-0.4.6/libproxy/test/CMakeLists.txt 2010-09-01 22:23:34.000000000 +0200
@@ -6,8 +6,14 @@
# URL Test
add_executable(url-test ${CMAKE_CURRENT_SOURCE_DIR}/url-test.cpp ${PROJECT_SOURCE_DIR}/url.cpp)
+if(WIN32)
+ target_link_libraries(url-test ws2_32)
+endif()
add_test(NAME url-test COMMAND ${CMAKE_CURRENT_BINARY_DIR}/url-test)
# URL Encode
add_executable(url-encode ${CMAKE_CURRENT_SOURCE_DIR}/url-encode.cpp ${PROJECT_SOURCE_DIR}/url.cpp)
+if(WIN32)
+ target_link_libraries(url-encode ws2_32)
+endif()
add_test(NAME url-encode COMMAND ${CMAKE_CURRENT_BINARY_DIR}/url-encode)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/libproxy/test/url-test.cpp new/libproxy-0.4.6/libproxy/test/url-test.cpp
--- old/libproxy-0.4.5/libproxy/test/url-test.cpp 2010-08-19 21:51:20.000000000 +0200
+++ new/libproxy-0.4.6/libproxy/test/url-test.cpp 2010-09-01 22:23:34.000000000 +0200
@@ -124,6 +124,13 @@
"", "",
"test.com", 80,
"/ALLO");
+
+ /* This is a very uncommon but valid case that use to cause crash */
+ try_url ("www.google.com:80", rtv,
+ "www.google.com",
+ "", "",
+ "", 0,
+ "80");
return !rtv;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/libproxy/url.cpp new/libproxy-0.4.6/libproxy/url.cpp
--- old/libproxy-0.4.5/libproxy/url.cpp 2010-08-19 21:51:20.000000000 +0200
+++ new/libproxy-0.4.6/libproxy/url.cpp 2010-09-01 22:23:34.000000000 +0200
@@ -122,7 +122,7 @@
return encoded.str();
}
-url::url(const string url) throw(parse_error)
+url::url(const string &url) throw(parse_error)
: m_orig(url), m_port(0), m_ips(NULL) {
size_t idx = 0;
size_t hier_part_start, hier_part_end;
@@ -173,7 +173,7 @@
* / path-empty
*/
- if (hier_part[0] == '/' && hier_part[1] == '/') {
+ if (hier_part.size() >= 2 && hier_part[0] == '/' && hier_part[1] == '/') {
size_t authority_start, authority_end;
size_t userinfo_start, userinfo_end;
size_t host_start, host_end;
@@ -232,12 +232,13 @@
/* Get port */
m_port = get_default_port(m_scheme);
- if (hier_part[host_end] == ':') {
+ if (host_end != hier_part.size()
+ && hier_part[host_end] == ':') {
size_t port_start = host_end + 1;
m_port = atoi(hier_part.c_str() + port_start);
}
} else {
- path_start = hier_part_start;
+ path_start = 0;
}
/* Get path */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/libproxy/url.hpp new/libproxy-0.4.6/libproxy/url.hpp
--- old/libproxy-0.4.5/libproxy/url.hpp 2010-08-19 21:51:20.000000000 +0200
+++ new/libproxy-0.4.6/libproxy/url.hpp 2010-09-01 22:23:34.000000000 +0200
@@ -50,7 +50,7 @@
~url();
url(const url& url);
- url(string url) throw (parse_error);
+ url(const string& url) throw (parse_error);
bool operator==(const url& url) const;
url& operator=(const url& url);
url& operator=(string url) throw (parse_error);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libproxy-0.4.5/NEWS new/libproxy-0.4.6/NEWS
--- old/libproxy-0.4.5/NEWS 2010-08-19 21:51:20.000000000 +0200
+++ new/libproxy-0.4.6/NEWS 2010-09-01 22:23:34.000000000 +0200
@@ -1,3 +1,12 @@
+New in version 0.4.6
+==============================
+* Fixed a crash in the URL parser
+* Fixed build issues with Visual Studio
+* Updated the INSTALL file
+* Install Python binding in prefix path if site-packages exists
+* Fixed compilation with Visual Studio
+
+
New in version 0.4.5
===============================
* C# bindings are installable (-DWITH_DOTNET=ON)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org