diff --git a/0.4.13.tar.gz b/0.4.13.tar.gz deleted file mode 100644 index c0ea750..0000000 --- a/0.4.13.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d610bc0ef81a18ba418d759c5f4f87bf7102229a9153fb397d7d490987330ffd -size 89296 diff --git a/0.4.14.tar.gz b/0.4.14.tar.gz new file mode 100644 index 0000000..286742c --- /dev/null +++ b/0.4.14.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6220a6cab837a8996116a0568324cadfd09a07ec16b930d2a330e16d5c2e1eb6 +size 92783 diff --git a/libproxy-FindMono-4.6.patch b/libproxy-FindMono-4.6.patch deleted file mode 100644 index 6a1b165..0000000 --- a/libproxy-FindMono-4.6.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 2e4546b3cde31d657df34f6d247c92c47c83bf81 Mon Sep 17 00:00:00 2001 -From: Dominique Leuenberger -Date: Thu, 29 Sep 2016 11:36:50 +0200 -Subject: [PATCH 5/5] FindMono: fall back to mcs when gmcs cannot be found - -With mono 4.6, gmcs is no longer an upstream shipped wrapper. -Just fallback to 'mcs' if gmcs cannot be found. Distros still shipping -gmcs are assumed to know why they do so - in this case we favor their -local scripts. - -Fixes issue #37. ---- - cmake/FindMono.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cmake/FindMono.cmake b/cmake/FindMono.cmake -index 95930b0..d4aa0ca 100644 ---- a/cmake/FindMono.cmake -+++ b/cmake/FindMono.cmake -@@ -12,7 +12,7 @@ - # Redistribution and use is allowed according to the terms of the GPL license. - - FIND_PROGRAM (MONO_EXECUTABLE mono) --FIND_PROGRAM (GMCS_EXECUTABLE gmcs) -+FIND_PROGRAM (GMCS_EXECUTABLE NAMES gmcs mcs) - FIND_PROGRAM (GACUTIL_EXECUTABLE gacutil) - - SET (MONO_FOUND FALSE CACHE INTERNAL "") --- -2.10.0 - diff --git a/libproxy-cmake-3.7.patch b/libproxy-cmake-3.7.patch deleted file mode 100644 index e917b6f..0000000 --- a/libproxy-cmake-3.7.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 72bda7188408bd3c2491ea664da294cc483220bc Mon Sep 17 00:00:00 2001 -From: Andrey Rakhmatullin -Date: Sun, 20 Nov 2016 18:40:49 +0500 -Subject: [PATCH] Set CMP0054 CMake policy to NEW. - -CMake 3.7 exports a "t" variable for all projects and because of that -the elseif statement in cmake/CMakeCSharpInformation.cmake:311 works -incorrectly if CMP0054 is not set to NEW (as "t" is expanded to the -variable value). ---- - CMakeLists.txt | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5313787..451e7a6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -3,6 +3,9 @@ cmake_minimum_required(VERSION 2.6) - if(POLICY CMP0011) - cmake_policy(SET CMP0011 NEW) - endif(POLICY CMP0011) -+if(POLICY CMP0054) -+ cmake_policy(SET CMP0054 NEW) -+endif(POLICY CMP0054) - - # Make sure we look in our cmake folder for additional definitions - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake ) - diff --git a/libproxy-gnome-waitpid.patch b/libproxy-gnome-waitpid.patch deleted file mode 100644 index c35d5b9..0000000 --- a/libproxy-gnome-waitpid.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 8472b3b8ba8c50aedad50d5d8fe8d25cbcb10a30 Mon Sep 17 00:00:00 2001 -From: Dominique Leuenberger -Date: Fri, 22 Jul 2016 14:21:45 +0200 -Subject: [PATCH] GNOME3: Wait for pxgsettings to vanish while destroying the - plugin - -This helps avoiding zombie processes in case a caller creates/destroys -ProxyFactories for each URL (even though we recommend to have a long-living -PF for caching reasons). - -Originally reported at https://bugzilla.opensuse.org/show_bug.cgi?id=967601 ---- - libproxy/modules/config_gnome3.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libproxy/modules/config_gnome3.cpp b/libproxy/modules/config_gnome3.cpp -index 47e7a42..666d639 100644 ---- a/libproxy/modules/config_gnome3.cpp -+++ b/libproxy/modules/config_gnome3.cpp -@@ -24,6 +24,7 @@ - #include // For stat() - #include // For stat() - #include // For pipe(), close(), vfork(), dup(), execl(), _exit() -+#include // For waitpid() - #include // For kill() - - #include "../extension_config.hpp" -@@ -161,6 +162,7 @@ class gnome_config_extension : public config_extension { - fclose(this->read); - fclose(this->write); - kill(this->pid, SIGTERM); -+ waitpid(this->pid, NULL, 0); - } - - void store_response(const string &type, - diff --git a/libproxy-plugins.changes b/libproxy-plugins.changes index ffc06f9..e15af2c 100644 --- a/libproxy-plugins.changes +++ b/libproxy-plugins.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Mon Jan 9 14:33:04 UTC 2017 - dimstar@opensuse.org + +- Update to version 0.4.14: + + Parallel build support for python2 and python3. + -DWITH_PYTHON has been replaced with -DWITH_PYTHON2 and + -DWITH_PYTHON3 to have full control over this. Default is + ON for both (gh#libproxy/libproxy#22). + + Minor fixes to the PAC retriever code + (gh#libproxy/libproxy#40). + + Fallback to mcs instead of gmcs for the mono bindings + (gh#libproxy/libproxy#37). + + Fix build using cmake 3.7. + + Fix deprecation warnings of pxgsettings with glib 2.46. + + Improve the get-pac test suite (gh#libproxy/libproxy#47). +- Drop update-from-svn.sh: The script has not been usable for + years, since libproxy is no longer hosted in this svn repo. +- Drop upstream merged patches: + + libproxy-cmake-3.7.patch + + libproxy-FindMono-4.6.patch + + libproxy-gnome-waitpid.patch + + libproxy-python3-support.patch +- Re-enable the test suite: with the upstream changes this should + now be more reliable. + ------------------------------------------------------------------- Tue Nov 22 08:18:37 UTC 2016 - dimstar@opensuse.org diff --git a/libproxy-plugins.spec b/libproxy-plugins.spec index ecc290d..a8e7654 100644 --- a/libproxy-plugins.spec +++ b/libproxy-plugins.spec @@ -1,7 +1,7 @@ # # spec file for package libproxy-plugins # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -31,26 +31,15 @@ Name: libproxy-plugins Summary: Libproxy provides consistent proxy configuration to applications License: GPL-2.0+ and LGPL-2.1+ Group: System/Libraries -Version: 0.4.13 +Version: 0.4.14 Release: 0 -# FIXME: verify if test suite works - 0.4.10 has weird behavior in some cases, where the internal server times out. %if 0%{?build_snapshot} %define _sourcename %{_name} %else %define _sourcename %{_name}-%{version} %endif Source: https://github.com/libproxy/%{_name}/archive/%{version}.tar.gz -# Script used for automatic snapshot updates -Source98: update-from-svn.sh Source99: baselibs.conf -# PATCH-FIX-UPSTREAM libproxy-gnome-waitpid.patch boo#967601 dimstar@opensuse.org -- GNOME3: Wait for pxgsettings to vanish while destroying the plugin -Patch0: libproxy-gnome-waitpid.patch -# PATCH-FIX-UPSTREAM libproxy-python3-support.patch dimstar@opensuse.org -- Add support to build python2 and python3 bindings together -Patch1: libproxy-python3-support.patch -# PATCH-FIX-UPSTREAM libproxy-FindMono-4.6.patch gh#libproxy/libproxy#37 dimstar@opensuse.org -- Fall back to mcs if gmcs cannot be found -Patch2: libproxy-FindMono-4.6.patch -# PATCH-FIX-UPSTREAM libproxy-cmake-3.7.patch gh#libproxy/libproxy#46 dimstar@opensuse.org -- Fix build with cmake 3.7 -Patch3: libproxy-cmake-3.7.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: cmake BuildRequires: gcc-c++ @@ -342,10 +331,6 @@ libproxy offers the following features: * extremely small core %prep %setup -q -n %{_sourcename} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 mkdir build %build @@ -433,8 +418,8 @@ rm -f %{buildroot}%{_datadir}/vala/vapi/libproxy-1.0.vapi %endif %check -#cd build -#make test +cd build +make test %if %build_core_not_modules diff --git a/libproxy-python3-support.patch b/libproxy-python3-support.patch deleted file mode 100644 index af2efbb..0000000 --- a/libproxy-python3-support.patch +++ /dev/null @@ -1,481 +0,0 @@ -From b655e2103ff9d572b4145722f98b14e9ebe49f10 Mon Sep 17 00:00:00 2001 -From: Dominique Leuenberger -Date: Thu, 4 Aug 2016 12:07:27 +0200 -Subject: [PATCH] Add support to build Python2 and Python3 bindings in parallel - -Fixes issue #22 ---- - .travis.yml | 2 +- - INSTALL | 4 +- - NEWS | 7 ++ - bindings/CMakeLists.txt | 11 ++- - bindings/python/CMakeLists.txt | 25 ------ - bindings/python/python2/CMakeLists.txt | 25 ++++++ - bindings/python/python3/CMakeLists.txt | 25 ++++++ - cmake/FindPython2Interp.cmake | 145 +++++++++++++++++++++++++++++++++ - cmake/FindPython3Interp.cmake | 145 +++++++++++++++++++++++++++++++++ - 9 files changed, 359 insertions(+), 30 deletions(-) - delete mode 100644 bindings/python/CMakeLists.txt - create mode 100644 bindings/python/python2/CMakeLists.txt - create mode 100644 bindings/python/python3/CMakeLists.txt - create mode 100644 cmake/FindPython2Interp.cmake - create mode 100644 cmake/FindPython3Interp.cmake - -diff --git a/.travis.yml b/.travis.yml -index 01f0312..b64a7d5 100644 ---- a/.travis.yml -+++ b/.travis.yml -@@ -25,7 +25,7 @@ script: - - | - cmake . \ - -DWITH_PERL=ON \ -- -DWITH_PYTHON=ON \ -+ -DWITH_PYTHON2=ON \ - -DWITH_GNOME3=ON \ - -DWITH_KDE=ON \ - -DWITH_WEBKIT3=ON \ -diff --git a/INSTALL b/INSTALL -index 8fc0c1a..bf04881 100644 ---- a/INSTALL -+++ b/INSTALL -@@ -110,7 +110,9 @@ 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_PYTHON2: Default to ON. Enable Python bindings. -+ -+WITH_PYTHON3: Default to ON. Enable Python bindings. - - WITH_VALA: Default to OFF. Enable Vala bindings. - -diff --git a/NEWS b/NEWS -index f822bbd..9eb8136 100644 ---- a/NEWS -+++ b/NEWS -@@ -1,3 +1,10 @@ -+New in Version 0.4.14: -+============================== -+* Parallel build support for python2 and python3. -+ -DWITH_PYTHON has been replaced with -DWITH_PYTHON2 and -+ -DWITH_PYTHON3 to have full control over this. Default is -+ ON for both (issue#22) -+ - New in Version 0.4.13 - ============================== - * Allow linking webkit pacrunner against javascriptcore-4.0 -diff --git a/bindings/CMakeLists.txt b/bindings/CMakeLists.txt -index 28bad03..2b0ede4 100644 ---- a/bindings/CMakeLists.txt -+++ b/bindings/CMakeLists.txt -@@ -1,6 +1,11 @@ --option(WITH_PYTHON "Enables Python bindings" ON) --if (WITH_PYTHON) -- add_subdirectory(python) -+option(WITH_PYTHON2 "Enables Python 2 bindings" ON) -+if (WITH_PYTHON2) -+ add_subdirectory(python/python2) -+endif() -+ -+option(WITH_PYTHON3 "Enables Python 3 bindings" ON) -+if (WITH_PYTHON3) -+ add_subdirectory(python/python3) - endif() - - option(WITH_DOTNET "Enables C# bindings" OFF) -diff --git a/bindings/python/CMakeLists.txt b/bindings/python/CMakeLists.txt -deleted file mode 100644 -index aca852f..0000000 ---- a/bindings/python/CMakeLists.txt -+++ /dev/null -@@ -1,25 +0,0 @@ --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}") -- -- 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() -- -- message(STATUS "Using PYTHON_SITEPKG_DIR=${PYTHON_SITEPKG_DIR}") -- -- install(FILES libproxy.py DESTINATION ${PYTHON_SITEPKG_DIR}) --endif() -diff --git a/bindings/python/python2/CMakeLists.txt b/bindings/python/python2/CMakeLists.txt -new file mode 100644 -index 0000000..00df551 ---- /dev/null -+++ b/bindings/python/python2/CMakeLists.txt -@@ -0,0 +1,25 @@ -+find_package(Python2Interp) -+ -+if(PYTHON2INTERP_FOUND) -+ set(PYTHON2_SITEPKG_DIR "${PYTHON2_SITEPKG_DIR}" CACHE PATH "Python 2 site-package directory.") -+ -+ if(NOT PYTHON2_SITEPKG_DIR) -+ execute_process(COMMAND -+ ${PYTHON2_EXECUTABLE} -+ -c "import sys; print (sys.version[0:3])" -+ OUTPUT_VARIABLE PYTHON2_VERSION -+ OUTPUT_STRIP_TRAILING_WHITESPACE) -+ -+ message(STATUS "Found python 2 version ${PYTHON2_VERSION}") -+ -+ execute_process(COMMAND -+ ${PYTHON2_EXECUTABLE} -+ -c "import distutils.sysconfig ; print (distutils.sysconfig.get_python_lib(plat_specific=0))" -+ OUTPUT_VARIABLE PYTHON2_SITEPKG_DIR -+ OUTPUT_STRIP_TRAILING_WHITESPACE) -+ endif() -+ -+ message(STATUS "Using PYTHON2_SITEPKG_DIR=${PYTHON2_SITEPKG_DIR}") -+ -+ install(FILES ../libproxy.py DESTINATION ${PYTHON2_SITEPKG_DIR}) -+endif() -diff --git a/bindings/python/python3/CMakeLists.txt b/bindings/python/python3/CMakeLists.txt -new file mode 100644 -index 0000000..bf87dfc ---- /dev/null -+++ b/bindings/python/python3/CMakeLists.txt -@@ -0,0 +1,25 @@ -+find_package(Python3Interp) -+ -+if(PYTHON3INTERP_FOUND) -+ set(PYTHON3_SITEPKG_DIR "${PYTHON3_SITEPKG_DIR}" CACHE PATH "Python 3 site-package directory.") -+ -+ if(NOT PYTHON3_SITEPKG_DIR) -+ execute_process(COMMAND -+ ${PYTHON3_EXECUTABLE} -+ -c "import sys; print (sys.version[0:3])" -+ OUTPUT_VARIABLE PYTHON3_VERSION -+ OUTPUT_STRIP_TRAILING_WHITESPACE) -+ -+ message(STATUS "Found python 3 version ${PYTHON3_VERSION}") -+ -+ execute_process(COMMAND -+ ${PYTHON3_EXECUTABLE} -+ -c "import distutils.sysconfig ; print (distutils.sysconfig.get_python_lib(plat_specific=0))" -+ OUTPUT_VARIABLE PYTHON3_SITEPKG_DIR -+ OUTPUT_STRIP_TRAILING_WHITESPACE) -+ endif() -+ -+ message(STATUS "Using PYTHON3_SITEPKG_DIR=${PYTHON3_SITEPKG_DIR}") -+ -+ install(FILES ../libproxy.py DESTINATION ${PYTHON3_SITEPKG_DIR}) -+endif() -diff --git a/cmake/FindPython2Interp.cmake b/cmake/FindPython2Interp.cmake -new file mode 100644 -index 0000000..fbece44 ---- /dev/null -+++ b/cmake/FindPython2Interp.cmake -@@ -0,0 +1,145 @@ -+#.rst: -+# FindPython2Interp -+# ---------------- -+# -+# Find python 3 interpreter (based on original FindPythonInterp from cmake) -+# -+# This module finds if Python interpreter is installed and determines -+# where the executables are. This code sets the following variables: -+# -+# :: -+# -+# PYTHON2INTERP_FOUND - Was the Python executable found -+# PYTHON2_EXECUTABLE - path to the Python interpreter -+# -+# -+# -+# :: -+# -+# PYTHON2_VERSION_STRING - Python version found e.g. 2.5.1 -+# PYTHON2_VERSION_MAJOR - Python major version found e.g. 1 -+# PYTHON2_VERSION_MINOR - Python minor version found e.g. 5 -+# PYTHON2_VERSION_PATCH - Python patch version found e.g. 1 -+# -+#============================================================================= -+# Copyright 2005-2010 Kitware, Inc. -+# Copyright 2011 Bjoern Ricks -+# Copyright 2012 Rolf Eike Beer -+# Copyright 2016 Dominique Leuenberger -+# -+# Distributed under the OSI-approved BSD License (the "License"); -+# see accompanying file Copyright.txt for details. -+# -+# This software is distributed WITHOUT ANY WARRANTY; without even the -+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -+# See the License for more information. -+#============================================================================= -+# (To distribute this file outside of CMake, substitute the full -+# License text for the above reference.) -+ -+unset(_Python2_NAMES) -+ -+set(_PYTHON2_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0) -+ -+if(Python2Interp_FIND_VERSION) -+ if(Python2Interp_FIND_VERSION_COUNT GREATER 1) -+ set(_PYTHON2_FIND_MAJ_MIN "${Python2Interp_FIND_VERSION_MAJOR}.${Python2Interp_FIND_VERSION_MINOR}") -+ list(APPEND _Python2_NAMES -+ python${_PYTHON2_FIND_MAJ_MIN} -+ python${Python2Interp_FIND_VERSION_MAJOR}) -+ unset(_PYTHON2_FIND_OTHER_VERSIONS) -+ if(NOT Python2Interp_FIND_VERSION_EXACT) -+ foreach(_PYTHON2_V ${_PYTHON${Python2Interp_FIND_VERSION_MAJOR}_VERSIONS}) -+ if(NOT _PYTHON2_V VERSION_LESS _PYTHON2_FIND_MAJ_MIN) -+ list(APPEND _PYTHON2_FIND_OTHER_VERSIONS ${_PYTHON2_V}) -+ endif() -+ endforeach() -+ endif() -+ unset(_PYTHON2_FIND_MAJ_MIN) -+ else() -+ list(APPEND _Python2_NAMES python${Python2Interp_FIND_VERSION_MAJOR}) -+ set(_PYTHON2_FIND_OTHER_VERSIONS ${_PYTHON${Python2Interp_FIND_VERSION_MAJOR}_VERSIONS}) -+ endif() -+else() -+ set(_PYTHON2_FIND_OTHER_VERSIONS ${_PYTHON2_VERSIONS}) -+endif() -+find_program(PYTHON2_EXECUTABLE NAMES ${_Python2_NAMES}) -+ -+# If FindPythonInterp has already found the major and minor version, -+# insert that version next to get consistent versions of the interpreter and -+# library. -+if(DEFINED PYTHON2LIBS_VERSION_STRING) -+ string(REPLACE "." ";" _PYTHON2LIBS_VERSION "${PYTHON2LIBS_VERSION_STRING}") -+ list(GET _PYTHON2LIBS_VERSION 0 _PYTHON2LIBS_VERSION_MAJOR) -+ list(GET _PYTHON2LIBS_VERSION 1 _PYTHON2LIBS_VERSION_MINOR) -+ list(APPEND _Python2_VERSIONS ${_PYTHON2LIBS_VERSION_MAJOR}.${_PYTHON2LIBS_VERSION_MINOR}) -+endif() -+# Search for the current active python version first -+list(APPEND _Python2_VERSIONS ";") -+ -+unset(_PYTHON2_VERSIONS) -+ -+# Search for newest python version if python executable isn't found -+if(NOT PYTHON2_EXECUTABLE) -+ foreach(_CURRENT_VERSION IN LISTS _Python2_VERSIONS) -+ set(_Python2_NAMES python${_CURRENT_VERSION}) -+ if(WIN32) -+ list(APPEND _Python2_NAMES python) -+ endif() -+ find_program(PYTHON2_EXECUTABLE -+ NAMES ${_Python2_NAMES} -+ PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath] -+ ) -+ endforeach() -+endif() -+ -+# determine python version string -+if(PYTHON2_EXECUTABLE) -+ execute_process(COMMAND "${PYTHON2_EXECUTABLE}" -c -+ "import sys; sys.stdout.write(';'.join([str(x) for x in sys.version_info[:3]]))" -+ OUTPUT_VARIABLE _VERSION -+ RESULT_VARIABLE _PYTHON2_VERSION_RESULT -+ ERROR_QUIET) -+ if(NOT _PYTHON2_VERSION_RESULT) -+ string(REPLACE ";" "." PYTHON2_VERSION_STRING "${_VERSION}") -+ list(GET _VERSION 0 PYTHON2_VERSION_MAJOR) -+ list(GET _VERSION 1 PYTHON2_VERSION_MINOR) -+ list(GET _VERSION 2 PYTHON2_VERSION_PATCH) -+ if(PYTHON2_VERSION_PATCH EQUAL 0) -+ # it's called "Python 3.1", not "3.1.0" -+ string(REGEX REPLACE "\\.0$" "" PYTHON2_VERSION_STRING "${PYTHON2_VERSION_STRING}") -+ endif() -+ else() -+ # sys.version predates sys.version_info, so use that -+ execute_process(COMMAND "${PYTHON2_EXECUTABLE}" -c "import sys; sys.stdout.write(sys.version)" -+ OUTPUT_VARIABLE _VERSION -+ RESULT_VARIABLE _PYTHON2_VERSION_RESULT -+ ERROR_QUIET) -+ if(NOT _PYTHON2_VERSION_RESULT) -+ string(REGEX REPLACE " .*" "" PYTHON2_VERSION_STRING "${_VERSION}") -+ string(REGEX REPLACE "^([0-9]+)\\.[0-9]+.*" "\\1" PYTHON2_VERSION_MAJOR "${PYTHON2_VERSION_STRING}") -+ string(REGEX REPLACE "^[0-9]+\\.([0-9])+.*" "\\1" PYTHON2_VERSION_MINOR "${PYTHON2_VERSION_STRING}") -+ if(PYTHON2_VERSION_STRING MATCHES "^[0-9]+\\.[0-9]+\\.([0-9]+)") -+ set(PYTHON2_VERSION_PATCH "${CMAKE_MATCH_1}") -+ else() -+ set(PYTHON2_VERSION_PATCH "0") -+ endif() -+ else() -+ # sys.version was first documented for Python 1.5, so assume -+ # this is older. -+ set(PYTHON2_VERSION_STRING "1.4") -+ set(PYTHON2_VERSION_MAJOR "1") -+ set(PYTHON2_VERSION_MINOR "4") -+ set(PYTHON2_VERSION_PATCH "0") -+ endif() -+ endif() -+ unset(_PYTHON2_VERSION_RESULT) -+ unset(_VERSION) -+endif() -+ -+# handle the QUIETLY and REQUIRED arguments and set PYTHON2INTERP_FOUND to TRUE if -+# all listed variables are TRUE -+include(FindPackageHandleStandardArgs) -+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Python2Interp REQUIRED_VARS PYTHON2_EXECUTABLE VERSION_VAR PYTHON2_VERSION_STRING) -+ -+mark_as_advanced(PYTHON2_EXECUTABLE) -diff --git a/cmake/FindPython3Interp.cmake b/cmake/FindPython3Interp.cmake -new file mode 100644 -index 0000000..c6cbe3d ---- /dev/null -+++ b/cmake/FindPython3Interp.cmake -@@ -0,0 +1,145 @@ -+#.rst: -+# FindPython3Interp -+# ---------------- -+# -+# Find python 3 interpreter (based on original FindPythonInterp from cmake) -+# -+# This module finds if Python interpreter is installed and determines -+# where the executables are. This code sets the following variables: -+# -+# :: -+# -+# PYTHON3INTERP_FOUND - Was the Python executable found -+# PYTHON3_EXECUTABLE - path to the Python interpreter -+# -+# -+# -+# :: -+# -+# PYTHON3_VERSION_STRING - Python version found e.g. 3.5.1 -+# PYTHON3_VERSION_MAJOR - Python major version found e.g. 3 -+# PYTHON3_VERSION_MINOR - Python minor version found e.g. 5 -+# PYTHON3_VERSION_PATCH - Python patch version found e.g. 1 -+# -+#============================================================================= -+# Copyright 2005-2010 Kitware, Inc. -+# Copyright 2011 Bjoern Ricks -+# Copyright 2012 Rolf Eike Beer -+# Copyright 2016 Dominique Leuenberger -+# -+# Distributed under the OSI-approved BSD License (the "License"); -+# see accompanying file Copyright.txt for details. -+# -+# This software is distributed WITHOUT ANY WARRANTY; without even the -+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -+# See the License for more information. -+#============================================================================= -+# (To distribute this file outside of CMake, substitute the full -+# License text for the above reference.) -+ -+unset(_Python3_NAMES) -+ -+set(_Python3_VERSIONS 3.6 3.5 3.4 3.3 3.2 3.1 3.0) -+ -+if(Python3Interp_FIND_VERSION) -+ if(Python3Interp_FIND_VERSION_COUNT GREATER 1) -+ set(_PYTHON3_FIND_MAJ_MIN "${Python3Interp_FIND_VERSION_MAJOR}.${Python3Interp_FIND_VERSION_MINOR}") -+ list(APPEND _Python3_NAMES -+ python${_PYTHON3_FIND_MAJ_MIN} -+ python${Python3Interp_FIND_VERSION_MAJOR}) -+ unset(_PYTHON3_FIND_OTHER_VERSIONS) -+ if(NOT Python3Interp_FIND_VERSION_EXACT) -+ foreach(_PYTHON3_V ${_PYTHON${Python3Interp_FIND_VERSION_MAJOR}_VERSIONS}) -+ if(NOT _PYTHON3_V VERSION_LESS _PYTHON3_FIND_MAJ_MIN) -+ list(APPEND _PYTHON3_FIND_OTHER_VERSIONS ${_PYTHON3_V}) -+ endif() -+ endforeach() -+ endif() -+ unset(_PYTHON3_FIND_MAJ_MIN) -+ else() -+ list(APPEND _Python3_NAMES python${Python3Interp_FIND_VERSION_MAJOR}) -+ set(_PYTHON3_FIND_OTHER_VERSIONS ${_PYTHON${Python3Interp_FIND_VERSION_MAJOR}_VERSIONS}) -+ endif() -+else() -+ set(_PYTHON3_FIND_OTHER_VERSIONS ${_PYTHON3_VERSIONS}) -+endif() -+find_program(PYTHON3_EXECUTABLE NAMES ${_Python3_NAMES}) -+ -+# If FindPythonInterp has already found the major and minor version, -+# insert that version next to get consistent versions of the interpreter and -+# library. -+if(DEFINED PYTHON3LIBS_VERSION_STRING) -+ string(REPLACE "." ";" _PYTHON3LIBS_VERSION "${PYTHON3LIBS_VERSION_STRING}") -+ list(GET _PYTHON3LIBS_VERSION 0 _PYTHON3LIBS_VERSION_MAJOR) -+ list(GET _PYTHON3LIBS_VERSION 1 _PYTHON3LIBS_VERSION_MINOR) -+ list(APPEND _Python3_VERSIONS ${_PYTHON3LIBS_VERSION_MAJOR}.${_PYTHON3LIBS_VERSION_MINOR}) -+endif() -+# Search for the current active python version first -+list(APPEND _Python3_VERSIONS ";") -+ -+unset(_PYTHON3_VERSIONS) -+ -+# Search for newest python version if python executable isn't found -+if(NOT PYTHON3_EXECUTABLE) -+ foreach(_CURRENT_VERSION IN LISTS _Python3_VERSIONS) -+ set(_Python3_NAMES python${_CURRENT_VERSION}) -+ if(WIN32) -+ list(APPEND _Python3_NAMES python3) -+ endif() -+ find_program(PYTHON3_EXECUTABLE -+ NAMES ${_Python3_NAMES} -+ PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath] -+ ) -+ endforeach() -+endif() -+ -+# determine python version string -+if(PYTHON3_EXECUTABLE) -+ execute_process(COMMAND "${PYTHON3_EXECUTABLE}" -c -+ "import sys; sys.stdout.write(';'.join([str(x) for x in sys.version_info[:3]]))" -+ OUTPUT_VARIABLE _VERSION3 -+ RESULT_VARIABLE _PYTHON3_VERSION_RESULT -+ ERROR_QUIET) -+ if(NOT _PYTHON3_VERSION_RESULT) -+ string(REPLACE ";" "." PYTHON3_VERSION_STRING "${_VERSION3}") -+ list(GET _VERSION3 0 PYTHON3_VERSION_MAJOR) -+ list(GET _VERSION3 1 PYTHON3_VERSION_MINOR) -+ list(GET _VERSION3 2 PYTHON3_VERSION_PATCH) -+ if(PYTHON3_VERSION_PATCH EQUAL 0) -+ # it's called "Python 3.1", not "3.1.0" -+ string(REGEX REPLACE "\\.0$" "" PYTHON3_VERSION_STRING "${PYTHON3_VERSION_STRING}") -+ endif() -+ else() -+ # sys.version predates sys.version_info, so use that -+ execute_process(COMMAND "${PYTHON3_EXECUTABLE}" -c "import sys; sys.stdout.write(sys.version)" -+ OUTPUT_VARIABLE _VERSION3 -+ RESULT_VARIABLE _PYTHON3_VERSION_RESULT -+ ERROR_QUIET) -+ if(NOT _PYTHON3_VERSION_RESULT) -+ string(REGEX REPLACE " .*" "" PYTHON3_VERSION_STRING "${_VERSION3}") -+ string(REGEX REPLACE "^([0-9]+)\\.[0-9]+.*" "\\1" PYTHON3_VERSION_MAJOR "${PYTHON3_VERSION_STRING}") -+ string(REGEX REPLACE "^[0-9]+\\.([0-9])+.*" "\\1" PYTHON3_VERSION_MINOR "${PYTHON3_VERSION_STRING}") -+ if(PYTHON3_VERSION_STRING MATCHES "^[0-9]+\\.[0-9]+\\.([0-9]+)") -+ set(PYTHON3_VERSION_PATCH "${CMAKE_MATCH_1}") -+ else() -+ set(PYTHON3_VERSION_PATCH "0") -+ endif() -+ else() -+ # sys.version was first documented for Python 1.5, so assume -+ # this is older. -+ set(PYTHON3_VERSION_STRING "1.4") -+ set(PYTHON3_VERSION_MAJOR "1") -+ set(PYTHON3_VERSION_MINOR "4") -+ set(PYTHON3_VERSION_PATCH "0") -+ endif() -+ endif() -+ unset(_PYTHON3_VERSION_RESULT) -+ unset(_VERSION3) -+endif() -+ -+# handle the QUIETLY and REQUIRED arguments and set PYTHON3INTERP_FOUND to TRUE if -+# all listed variables are TRUE -+include(FindPackageHandleStandardArgs) -+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Python3Interp REQUIRED_VARS PYTHON3_EXECUTABLE PYTHON3_VERSION_STRING) -+ -+mark_as_advanced(PYTHON3_EXECUTABLE) - diff --git a/libproxy.changes b/libproxy.changes index ffc06f9..e15af2c 100644 --- a/libproxy.changes +++ b/libproxy.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Mon Jan 9 14:33:04 UTC 2017 - dimstar@opensuse.org + +- Update to version 0.4.14: + + Parallel build support for python2 and python3. + -DWITH_PYTHON has been replaced with -DWITH_PYTHON2 and + -DWITH_PYTHON3 to have full control over this. Default is + ON for both (gh#libproxy/libproxy#22). + + Minor fixes to the PAC retriever code + (gh#libproxy/libproxy#40). + + Fallback to mcs instead of gmcs for the mono bindings + (gh#libproxy/libproxy#37). + + Fix build using cmake 3.7. + + Fix deprecation warnings of pxgsettings with glib 2.46. + + Improve the get-pac test suite (gh#libproxy/libproxy#47). +- Drop update-from-svn.sh: The script has not been usable for + years, since libproxy is no longer hosted in this svn repo. +- Drop upstream merged patches: + + libproxy-cmake-3.7.patch + + libproxy-FindMono-4.6.patch + + libproxy-gnome-waitpid.patch + + libproxy-python3-support.patch +- Re-enable the test suite: with the upstream changes this should + now be more reliable. + ------------------------------------------------------------------- Tue Nov 22 08:18:37 UTC 2016 - dimstar@opensuse.org diff --git a/libproxy.spec b/libproxy.spec index c4bd7a5..493e103 100644 --- a/libproxy.spec +++ b/libproxy.spec @@ -1,7 +1,7 @@ # # spec file for package libproxy # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -31,26 +31,15 @@ Name: libproxy Summary: Libproxy provides consistent proxy configuration to applications License: GPL-2.0+ and LGPL-2.1+ Group: System/Libraries -Version: 0.4.13 +Version: 0.4.14 Release: 0 -# FIXME: verify if test suite works - 0.4.10 has weird behavior in some cases, where the internal server times out. %if 0%{?build_snapshot} %define _sourcename %{_name} %else %define _sourcename %{_name}-%{version} %endif Source: https://github.com/libproxy/%{_name}/archive/%{version}.tar.gz -# Script used for automatic snapshot updates -Source98: update-from-svn.sh Source99: baselibs.conf -# PATCH-FIX-UPSTREAM libproxy-gnome-waitpid.patch boo#967601 dimstar@opensuse.org -- GNOME3: Wait for pxgsettings to vanish while destroying the plugin -Patch0: libproxy-gnome-waitpid.patch -# PATCH-FIX-UPSTREAM libproxy-python3-support.patch dimstar@opensuse.org -- Add support to build python2 and python3 bindings together -Patch1: libproxy-python3-support.patch -# PATCH-FIX-UPSTREAM libproxy-FindMono-4.6.patch gh#libproxy/libproxy#37 dimstar@opensuse.org -- Fall back to mcs if gmcs cannot be found -Patch2: libproxy-FindMono-4.6.patch -# PATCH-FIX-UPSTREAM libproxy-cmake-3.7.patch gh#libproxy/libproxy#46 dimstar@opensuse.org -- Fix build with cmake 3.7 -Patch3: libproxy-cmake-3.7.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: cmake BuildRequires: gcc-c++ @@ -342,10 +331,6 @@ libproxy offers the following features: * extremely small core %prep %setup -q -n %{_sourcename} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 mkdir build %build @@ -433,8 +418,8 @@ rm -f %{buildroot}%{_datadir}/vala/vapi/libproxy-1.0.vapi %endif %check -#cd build -#make test +cd build +make test %if %build_core_not_modules diff --git a/update-from-svn.sh b/update-from-svn.sh deleted file mode 100644 index 1fa6166..0000000 --- a/update-from-svn.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/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