From 7b65a15d20579c9993b7bd1a2a4d1fd6bda65e10 Mon Sep 17 00:00:00 2001 From: zyppe <210hcl@gmail.com> Date: Thu, 29 Feb 2024 14:13:20 +0800 Subject: [PATCH] Initialize for libproxy --- .gitignore | 1 + .libproxy.metadata | 1 + baselibs.conf | 13 ++ libproxy.changes | 547 +++++++++++++++++++++++++++++++++++++++++++++ libproxy.spec | 440 ++++++++++++++++++++++++++++++++++++ 5 files changed, 1002 insertions(+) create mode 100644 .gitignore create mode 100644 .libproxy.metadata create mode 100644 baselibs.conf create mode 100644 libproxy.changes create mode 100644 libproxy.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..072209c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +libproxy-0.4.17.tar.xz diff --git a/.libproxy.metadata b/.libproxy.metadata new file mode 100644 index 0000000..00b660a --- /dev/null +++ b/.libproxy.metadata @@ -0,0 +1 @@ +e51eb5887d670755d7dcff976b8094a16774fd1815103019b2ff65af9df255a1 libproxy-0.4.17.tar.xz diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..98c5b74 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,13 @@ +libproxy1 +#libproxy1-config-gnome +# supplements "packageand(libproxy1-:libproxy1-config-gnome)" +libproxy1-config-gnome3 + supplements "packageand(libproxy1-:libproxy1-config-gnome3)" +libproxy1-config-kde + supplements "packageand(libproxy1-:libproxy1-config-kde)" +#libproxy1-pacrunner-mozjs +# supplements "packageand(libproxy1-:libproxy1-config-mozjs)" +libproxy1-networkmanager + supplements "packageand(libproxy1-:libproxy1-config-networkmanager)" +libproxy1-pacrunner-webkit + supplements "packageand(libproxy1-:libproxy1-config-webkit)" diff --git a/libproxy.changes b/libproxy.changes new file mode 100644 index 0000000..a6295a6 --- /dev/null +++ b/libproxy.changes @@ -0,0 +1,547 @@ +* Tue Jul 13 2021 dimstar@opensuse.org +- Do no longer BuildRequire libmodman-devel: libproxy 0.4.17 was + changed upstream to only support to internal version (no other + consumer of libmodman exists). +- No longer pass -DFORCE_SYSTEM_LIBMODMAN=ON to cmake: not + understood anymore (boo#1188265). +* Tue Dec 29 2020 dimstar@opensuse.org +- Update to version 0.4.17: + + python bindings: fix "TypeError: argtypes must be a sequence of + types". +- Drop 147.patch: fixed upstream. +* Mon Dec 14 2020 dimstar@opensuse.org +- Add 147.patch: python bindings: fix "TypeError: _argtypes_ must + be a sequence of types". +* Fri Dec 4 2020 dimstar@opensuse.org +- Update to version 0.4.16: + + Port to, and require, SpiderMonkey 6. + + Use closesocket() instead of close() on Windows. + + Add symbol versions - be ready to introduce new APIs as needed. + + Add public px_proxy_factory_free_proxies function. + + Add PacRunner config backend (largely untested; feedback + welcome!). + + Small performance improvements. + + pxgsettings: use the correct syntax to connect to the changed + signal (silences annoying output on console). + + Support python3 up to version 3.9. + + Fix buffer overflow when PAC is enabled (CVE-2020-26154). + + Rewrite url::recvline to be nonrecursive (CVE-2020-25219). + + Remove nonfunctional and crashy pacrunner caching. + + Never use system libmodman (no other consumers, not + maintained). +- Drop upstream merged patches: + + libproxy-python3.7.patch + + libproxy-pxgsettings.patch + + libproxy-CVE-2020-25219.patch + libproxy-fix-pac-buffer-overflow.patch +- Create new sub-package libproxy1-config-pacrunner. +* Wed Sep 30 2020 mgorse@suse.com +- Add libproxy-CVE-2020-25219.patch: Rewrite url::recvline to be + nonrecursive (boo#1176410 CVE-2020-25219). +- Add libproxy-fix-pac-buffer-overflow.patch: fix buffer overflow + when PAC is enabled (boo#1177143 CVE-2020-26154). +* Mon Sep 14 2020 yfjiang@suse.com +- Build with KDE on Tumbleweed, Leap and SLE releases greater than + SLE-15-SP2 (jsc#SLE-12256). +* Mon Apr 27 2020 dimstar@opensuse.org +- Add libproxy-pxgsettings.patch: pxgsettings: use the correct + syntax to connect to the changed signal. +* Thu Mar 12 2020 tchvatal@suse.com +- Remove few SLE11 conditions +- Fix build without python2 available +* Wed Dec 12 2018 dimstar@opensuse.org +- Convert package from multispec to multibuild. +* Fri Oct 5 2018 dimstar@opensuse.org +- Update Url tag to point to http://libproxy.github.io/libproxy/ +- Add libproxy-python3.7.patch: Support python 3.7 and 3.8. +- Drop py_requires: no longer needed. +* Sat Jul 7 2018 bjorn.lie@gmail.com +- Drop favor_gtk2 conditional. +* Thu Feb 22 2018 fvogt@suse.com +- Use %%license (boo#1082318) +* Thu Sep 7 2017 jengelh@inai.de +- Update descriptions and RPM categories. +* Thu May 11 2017 dimstar@opensuse.org +- Update to version 0.4.15: + + Port to, and require, SpiderMonkey 38. + + Fix "NetworkManager plugin not being built" + (gh#libproxy/libproxy#53). + + Fix "networkmanager plugin not working + (gh#libproxy/libproxy#58). + + Fix "Invalid read after free" (gh#libproxy/libproxy#59). + + Fix intermittent unit test failures. +- Replace pkgconfig(mozjs185) buildRequires with + pkgconfig(mozjs-38), following upstream. +* Mon Feb 6 2017 dimstar@opensuse.org +- Have libproxy1-config-kde require libqt5-qtpaths instead of + libqt5-qttools on openSUSE > 13.2 / openSUSE > Leap 42.x + (boo#988808). +* Mon Jan 9 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 2016 dimstar@opensuse.org +- Add libproxy-cmake-3.7.patch: Fix build with cmake 3.7. +* Thu Sep 29 2016 dimstar@opensuse.org +- Add libproxy-FindMono-4.6.patch: Fall back to mcs if gmcs cannot + be found. Fixes issues with mono 4.6, which no longer ships the + wrapper by default. +* Mon Aug 8 2016 dimstar@opensuse.org +- Add libproxy-python3-support.patch: Allow to build PYTHON2 and + PYTHON3 bindings during the same build phase. +- Create new subpackage python3-libproxy. +- Add python3-devel BuildRequires when not building core. +* Fri Jul 22 2016 dimstar@opensuse.org +- Add libproxy-gnome-waitpid.patch: GNOME3: Wait for pxgsettings to + vanish while destroying the plugin (boo#967601). +* Fri May 20 2016 alarrosa@suse.com +- Update to GNOME 3.20.2 (Fate#318572, bnc#980527) +* Tue May 10 2016 dimstar@opensuse.org +- Require libqt5-qttools by libproxy1-config-kde: the plugin spawns + qtpaths to find the right config files (boo#979232). +- Trigger libproxy1-config-kde for installation when + plasma5-session and libproxy1 are installed. +* Mon May 9 2016 dimstar@opensuse.org +- Fix condition to not build KDE plugin for SLE. +* Thu Apr 28 2016 dimstar@opensuse.org +- Update to version 0.4.13: + + Allow linking webkit pacrunner against javascriptcore-4.0 + (webkit2). + + Allow to disable building of the KDE module + (-DWITH_KDE=ON/OFF). + + Fix compilation errors with CLang on MacOSX. + + bindings: perl: Add an option to explicitly link against + libperl.so. Some distributions want to do it, other prefer not + to, the library is anyway in context of perl. + + config_kde: Add a basic cache and invalidation: performance + improvement for the KDE module. +- Pass -DWITH_KDE=OFF to cmake when building core. +- Replace pkgconfig(webkitgtk-3.0) BuildRequires with + pkgconfig(javascriptcoregtk-4.0): make use of the WebKit2 port. +* Fri Apr 15 2016 mgorse@suse.com +- Update to GNOME 3.20 Fate#318572 +* Thu Jan 14 2016 fcrozat@suse.com +- Disable building libproxy-config-kde on SLE. +* Tue Jan 12 2016 dimstar@opensuse.org +- Update to version 0.4.12: + + Move development to github.com/libproxy/libproxy. + + Fix fd leak in get_pac (Bug #185). + + Detect running MATE session (Bug #186, Part1). + + Fix linking of perl bindings to pthread (Bug #182). + + Correctly detect spidermonky (mozjs185) (Bug #188). + + Stop pxgsettings from segfaulting on exit (Bug #192). + + Fix test #10 (Bug #189). + + Fix build on Mac OS X (Bug #183). + + Add a generic KDE Config module (fix crashes of Qt5 based + apps) (issue#4). +- Drop upstream fixed patches: + + libproxy-pxgsettings-crash.patch + + libproxy-no-libperl.patch + + libproxy-pxgsettings-signals.patch +- Rename libproxy1-config-kde4 subpackage to libproxy-config-kde, + following upstreams introduction of the generic config loader. +- Require libKF5ConfigCore5 from libproxy1-config-kde (we don't + really need the library, but kreadconfig5 in this package). +- Replace libkde4-devel and libqt4-devel BuildRequires with + libKF5ConfigCore5: the new KDE config parser interacts directly + with kreadconfig5 and does not link to Qt. +* Fri May 15 2015 dimstar@opensuse.org +- Add libproxy-pxgsettings-signals.patch: Fix for pxgsettins not + actively monitoring gsetting changes. Due to recent changes in + GLib, only values are being monitored, that are read AFTER the + signal handler is attached. +- Adjust baselibs.conf to match what is currenly being built. +* Wed Aug 6 2014 fcrozat@suse.com +- Change Supplements to install libproxy1-config-gnome3 only if + gnome-session-core is installed to reduce minimal install size + (bnc#885455). +* Thu Sep 5 2013 mls@suse.de +- Add libproxy-no-libperl.patch: do not link the perl module + against libperl. We do not want a dependency on the libperl + library, as that would make as depend on the specific version of + perl. As the bindings are running in perl context, libperl can + be assumed to be loaded by that time. +- Use perl_requires if it is defined. +* Mon Aug 26 2013 dimstar@opensuse.org +- Add libproxy-pxgsettings-crash.patch: fix crash in pxgsettings + when it's closing down (bnc#836576). +* Fri Aug 2 2013 dimstar@opensuse.org +- Build mono, perl and python sub package while building -plugins + instead of the main package. This helps keeping the build deps + for the main package minimal. +* Thu Jul 11 2013 dmueller@suse.com +- Use build conditional (gcond) for enabling/disabling mono + bindings instead of static defines. This allows for osc build + and rpmbuild to be used more flexible. +* Thu Feb 28 2013 dmueller@suse.com +- Remove mono support for aarch64 for now. +* Sun Dec 2 2012 dimstar@opensuse.org +- Update to version 0.4.11: + + Build fixes with cmake 2.8.10+. + + Quick release without built binaries / files (bug#184). +- Drop cmake-2.8.10-compat.diff: fixed upstream. +* Mon Nov 12 2012 cgiboudeaux@gmx.com +- Add cmake-2.8.10-compat.diff: fixes a CMake error with + CMake >= 2.8.10 (bnc#789219). +* Tue Oct 16 2012 dimstar@opensuse.org +- Update to version 0.4.10: + + Fix http chunk encoded PAC that was broken in previous release. + + Add HTTP client unit test. + + Fix more coding style issues. +- Disable test suite for now: the new http client test fails for + weird reasons in the build bot (but works locally). +* Thu Oct 11 2012 coolo@suse.com +- Add explicit netcfg BuildRequires for the test suite. +* Wed Oct 10 2012 dimstar@opensuse.org +- Update to version 0.4.9: + + Fixed buffer overflow when downloading PAC (CVE-2012-4504). + + Fix infinite loop uppon network errors. +* Tue Oct 2 2012 dimstar@opensuse.org +- Update to version 0.4.8: + + Only support standalone mozjs185 as mozilla js engine. + + Support building with javascritpcoregtk 1.5 + + Support sending multiple results. + * Issues fixed: + - #166: Libproxy does not parse NO_PROXY correct when the line + contains spaces + - #164: If gconf's value is an empty list, pxgconf will make + /usr/bin/proxy wait forever + - #60: use lib js for embedded solutions + - #160: strdup and gethostbyname not declared on OSX 10.7 + - #168: .pc file should be installed under OSX as well. + - #170: Also check for "Transfer-Encoding: chunked". + - #171: mozjs pacrunner: Fix parameters of dnsResolve_() + - #172: Allow to forcibly build pacrunner as module + - #173: Libproxy doesn't build with gcc 4.7 + - #147: Use ${CMAKE_DL_LIBS} instead of assuming libdl is correct. + - #176: python bindings: guard the destructor. + - #177: Speed up importing of libproxy in python. +- Drop upstream fixed patches: + + libproxy-javascriptcoregtk.patch + + libproxy-mozjs185.patch + + libproxy-trim-ignores.patch + + libproxy-gcc47.patch + + libproxy-force-bipr.patch +* Sat Jun 9 2012 dimstar@opensuse.org +- Add libproxy-force-bipr.patch: Force building pacrunner as module + This is required as libproxy, when building only one pacrunner, + links the module internal. But as we only temporarly disable + the mozjs, we do need to keep the webkit runner as an external + module. +- Also pass -DBIPR=0 to cmake, to enable the patch above. +* Wed Jun 6 2012 dimstar@opensuse.org +- Temporaryly disable the mozjs pacrunner: it casues crashes due + to symbol conflicts in Firefox (bnc#759123): + + Introduce build_mozjs defines, currently set to 0 + + Conditionally build the pacrunner-mozjs package + + Conditionally buildrequire pkgconfig(mozjs185) + + When not building mozjs pacrunner, obsolete the package by + libproxy1. +* Tue Mar 13 2012 dimstar@opensuse.org +- Add libproxy-gcc47.patch: Fix build with gcc 4.7. +* Wed Feb 1 2012 dimstar@opensuse.org +- Add libproxy-trim-ignores.patch: Trim strings in ignore list. + Fix bnc#739069. +* Mon Nov 7 2011 meissner@suse.de +- remove mono dependency also for ppc64 +* Fri Oct 7 2011 dmueller@suse.de +- remove mono dependency for %%%%arm +* Wed Jul 27 2011 vuntz@opensuse.org +- Build against js instead of xulrunner: + + Add libproxy-mozjs185.patch: taken from upstream, detect + mozjs185 instead of xulrunner in the build system. + + Add pkgconfig(mozjs185) BuildRequires and remove + mozilla-xulrunner-devel BuildRequires. + + Change Supplements of libproxy1-pacrunner-mozjs to use + libmozjs185-1_0 instead of mozilla-xulrunner. +- Change Supplements of libproxy1-pacrunner-webkit to appropriately + use libjavascriptcoregtk-1_0-0/libjavascriptcoregtk-3_0-0 + (depending on %%favor_gtk2) instead of libwebkitgtk-0. +* Mon Jun 20 2011 dimstar@opensuse.org +- Add libproxy-javascriptcoregtk.patch: Fix build with + webkitgtk-3.0 version 1.5.1: javascriptcoregtk became independent + and can be used on it's own now and is actually what libproxy + depends on. Patch taken from upstream svn, r816. +* Mon Jun 6 2011 dimstar@opensuse.org +- Update to version 0.4.7: + + Support/require xulrunner 2.0+ + + Support linking againgst libwebkit-gtk3 (-DWITH_WEBKIT3=ON) + + Port to gsettings for gnome3. (-DWITH_GNOME3=ON[default]) + + Issues closed: + - #149: always test for the right python noarch module path + - #155: Cannot compile with Firefox 4 + - #156: libproxy should build against webkitgtk-3.0 + - #158: Won't compile w/ xulrunner 2.0 final + - #159: libproxy fails with autoconfiguration + "http://proxy.domain.com" + - #131: GSettings-based GNOME plugin + - #150: SUSE sysconfig/proxy config support +- Drop patches included upstream: + + libproxy-sysconfig-support.patch + + libproxy-xul2.patch + + libproxy-backports.patch +- Package gnome3 module instead of gnome module, if favor_gtk2 is + not set (in the project metadata). +- Add gnome3 module to baselibs.conf and fixup the various + Supplements in baselibs.conf (pointed to the pre -config names). +- When building for gnome3 (favor_gtk2 = 0), add BuildRequires: + pkgconfig(gio-2.0) >= 2.26, pkgconfig(gobject-2.0) and + pkgconfig(webkitgtk-3.0) +- When building for gnome2, add BuildRequires: + pkgconfig(gconf-2.0), pkgconfig(gobject-2.0) and replace + libwebkit-devel with pkgconfig(webkit-1.0). +* Mon Apr 18 2011 ro@suse.de +- Update baselibs.conf. +* Tue Feb 15 2011 dimstar@opensuse.org +- Add libproxy-backports.patch: Backport critical fixes from + upstream codestream. +* Mon Feb 14 2011 dimstar@opensuse.org +- Add libproxy-xul2.patch: Add compatibility to build against + xulrunner 2.0. Patch submitted upstream, issue#155. +- Use xulrunner 2.0 on openSUSE 11.4. +* Mon Dec 6 2010 vuntz@opensuse.org +- Add libproxy-sysconfig-support.patch, to support the proxy + configuration from sysconfig. Part of bnc#655483. + Patch written by Duncan Mac-Vicar . +* Thu Sep 2 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 +* Fri Aug 20 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 2010 dimstar@opensuse.org +- Check for build_snapshot: the svn snapshot project contains + unversioned tarballs. +* Thu Aug 19 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 2010 dimstar@opensuse.org +- Add mono-devel BuildRequires to install the csharp bindings. +* Tue Jun 22 2010 dimstar@opensuse.org +- Initial work to support win32 cross building. +* Mon Jun 14 2010 dimstar@opensuse.org +- Use external libmodman: add libmodman-devel BuildRequires. +- Drop libmodman0 subpackage +* Wed Jun 9 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 2010 dimstar@opensuse.org +- Update to version 0.4.3: + + Test can now be out-compiled using BUILD_TESTING=OFF + + Fixed python binding not handling NULL pointer + + Pyhton binding now support Python version 3 + + Rewrote URL parser to comply with unit test (bnc#612007) + + Username and password are now URL encoded + + Scheme comparison is now non-case sensitive + + Fixed deadlock using WebKit as PAC runner + + Fixed OS X compilation of Perl bindings +- libmodman0_0_0 is now correctly called libmodman0, follow this + change also in baselibs.conf +* Tue May 25 2010 dimstar@opensuse.org +- Update to version 0.4.2: + + Fixed python bindings + + Workaround cmake bug with dynamic libraries in non-standard + folders. +* Tue May 18 2010 dimstar@opensuse.org +- Update to version 0.4.1: + + Improved cross-platform build + + Added Perl and Vala bindings + + Fix multiple infinite loop bugs + + Fix random crash with Gnome backend + + Standardized Gnome backend based on Mozilla and Chrome behavior + + Removed dependency to X11 in Gnome backend + + Allow disabling features at build time using WITH_* cmake + options + + Module path can now be altered using PX_MODULE_PATH environment + + pxgconf helper location can be altered using PX_GCONF + environment + + Removed proxy scheme filtering, we now trust config modules + + socks5:// and socks4:// is now allowed + + Fix crash when password is empty string + + Complete list of bug fixes: + - #19, #59, #65, #86, #87, #88, #89, #90, #91, #92, #93, #97, + [#98], #99, #100, #101, #102, #103, #106, #108, #110 + + Known issues: + + #109 - Scheme comparison is case sensitive + + #112 - Username and password are not URI encoded +* Mon Mar 29 2010 dimstar@opensuse.org +- Update to svn snapshot 626 + + No longer require xlib to detect session. +- Remove xorg-x11-libXmu-devel BuildRequires. +* Fri Mar 26 2010 vuntz@opensuse.org +- Build against mozilla-xulrunner192-devel on openSUSE > 11.2. +* Mon Mar 15 2010 dimstar@opensuse.org +- Update to svn snapshot 621 in order to fix some serious crashes + in config_gnome. This is close to what will be the 0.4.1 release. +- Drop all patches as they came from upstream and are included + in this snapshot already. +* Wed Mar 10 2010 dimstar@opensuse.org +- Do not forcibly require libmodman from the tools package. It's + pulled in by library dependencies. +* Wed Mar 10 2010 coolo@novell.com +- add libmodman0_0_0 to baselibs.conf +* Sat Mar 6 2010 dimstar@opensuse.org +- Add libproxy-gcc45.patch to fix build with gcc 4.5. Patch comes + from upstream svn, rev 599. +* Fri Feb 26 2010 dimstar@opensuse.org +- Update to version 0.4.0: + + C++ rewrite + + Small API change (px_proxy_factory_get_proxy() can now return + NULL) + + SOVERSION bump + + libmodman is now a separate library + + Migrate to cmake + + Windows support (config_w32reg, ignore_hostname; VC++ support) + + MacOSX support (config_macosx, ignore_hostname) + + Built-in modules support + + Support for chunked encoding + + Move to hidden visibility by default + + KDE's KConfig semantics are fully supported + + Removeal of all PX_* env variables (no longer needed) + + Symbol based detection of relevant pacrunner + + Reworked config_gnome to not suck (its *much* faster) + + Many other things I can't remember +- BuildRequire cmake, gccc-++ and zlib-devel +- Add libproxy-pysitelib.patch, as the python bindings are are + arch-independent +- Add libproxy-libexecpatch.patch to move library helpers to proper + libexecdir. +- Build the python-package as noarch +- sonum bump to 1, thus changing name to libproxy1 +- Split out libmodman (will not follow the versioning of libproxy + in the long run). +- Add libproxy-pkgconfig.patch to also install the .pc file. +* Tue Jan 5 2010 jengelh@medozas.de +- Package baselibs.conf +* Thu Oct 8 2009 dimstar@opensuse.org +- Update to version 0.3.1 + + Bugfixes + - config file parser reads all sections + - KDE session detection based on environment varibales, + as suggested by KDE upstream. + + KDE configuration module is the first module in C++ and + now links to libkdecore4 in order to properly detect the + configuration folder for kde. + + At the moment we're not compatible with KDE3. Sorry. + + .NET bindings can now properly be installed and it should + be possible for packagers to provide them. +- Add gcc-c++, libkde4-devel and libqt4-devel for updated kde mod. +- This update solves bnc#546199. +* Sun Aug 16 2009 dominique-obs@leuenberger.net +- Update to version 0.3.0 + + WARNING!!! Slight API change!!! see docs for + px_proxy_factory_get_proxies() + + Credentials support (see API change above) + + A complete rewrite of the module manager + + file:// as valid PAC URLs + + Sample Mono application + + Automake 1.11 shaved output + + gnome backend rewrite (now w/o thread issues) + + Test suite base functionality exists + + Many solaris build fixes + + Seamonkey support as JS pacrunner + + Bugfixes + + Compiles for MS Windows using Mingw +- Split additional modules out in separate packages. +* Wed Aug 12 2009 dominique-obs@leuenberger.net +- Use new python macros on openSUSE <= 11.1 +* Sun Aug 9 2009 coolo@novell.com +- use new python macros +* Mon Jun 22 2009 dominique-obs@leuenberger.net +- Add libproxy-svn-303_as-needed.patch to successfully build with + - -as-needed +* Tue Jun 16 2009 dominique-obs@leuenberger.net +- Extend baselibs.conf + We also need the plugins 32bit. The 32bit plugin get's installed + as soon as the 32bit librarz is installed. Same featureset is + recommended, bnc#485543 +* Wed May 13 2009 vuntz@novell.com +- Tag patches. +* Wed May 6 2009 vuntz@novell.com +- Build libproxy-plugins against mozilla-xulrunner191 on + openSUSE > 11.1. +* Thu Apr 23 2009 vuntz@novell.com +- Change Name to libproxy-plugins in libproxy-plugins.spec. +* Thu Apr 16 2009 vuntz@novell.com +- Split the build in two steps, libproxy and libproxy-plugins, to + avoid a build loop: libproxy depends on libwebkit which depends + on libsoup which depends on libproxy. So we now have a new spec + file for libproxy-plugins where the libwebkit dependency is. +* Sat Mar 14 2009 vuntz@novell.com +- Review changes. +* Sat Mar 14 2009 wr@rosenauer.org +- use correct mozilla/xulrunner dependencies +* Mon Feb 23 2009 vuntz@novell.com +- Revert the use of %%{libproxy_shnum}: there are places where the + macro cannot be used (%%files, eg), and we want don't want to mix + libproxy0 and libproxy%%{libproxy_shnum} -- too likely to forget + to update one of the two instances. +* Sun Feb 22 2009 vuntz@novell.com +- Review changes. +- Add Provides/Obsoletes after plugin packages renaming. +- Don't use %%{name} everywhere: in some places, it doesn't help + with clarity; in some others, it could be wrong in the future (in + Supplements). +* Tue Feb 17 2009 domninique-obs@leuenberger.net +- Replace the %%{name}0 all over by %%{name}%%{libproxy_shnum}, makes + it easier for future updates by linking to variables. +* Tue Feb 17 2009 vuntz@novell.com +- Review changes. +* Tue Feb 17 2009 dominique-obs@leuenberger.net +- Have the plugin sub-packages follow the shlib name. The plugins + are depending on a specific version of the lib and should be + installable in parallel together with multiple libs. + The plugins live in a versioned directory, so no conflicts can + happen. +* Mon Feb 16 2009 ro@suse.de +- added baselibs.conf + (libproxy0-32bit needed by libsoup-2_4-1-32bit) +* Fri Feb 6 2009 vuntz@novell.com +- Add missing Requires on libproxy0 for the subpackages. +* Tue Feb 3 2009 hfiguiere@suse.de +- Initial packaging. diff --git a/libproxy.spec b/libproxy.spec new file mode 100644 index 0000000..487dae1 --- /dev/null +++ b/libproxy.spec @@ -0,0 +1,440 @@ +# +# spec file for package libproxy +# +# Copyright (c) 2022-2023 ZhuningOS +# + + +%define flavor %nil +%if "%{flavor}" == "" +%define build_core_not_modules 1 +%else +%define name_suffix %{flavor} +%define dash - +%define build_core_not_modules 0 +%endif +%define build_mozjs 0 +%if 0%{?suse_version} +%bcond_without mono +%else +%bcond_with mono +%endif +%define _name libproxy +%if 0%{?build_snapshot} +%define _sourcename %{_name} +%else +%define _sourcename %{_name}-%{version} +%endif +%bcond_without python2 +%{!?_assemblies_dir: %global _assemblies_dir %(pkg-config cecil --variable=assemblies_dir)} +Name: libproxy%{?dash}%{?name_suffix} +Version: 0.4.17 +Release: 150400.1.8 +Summary: Automatic proxy configuration management for applications +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +URL: http://libproxy.github.io/libproxy/ +Source: https://github.com/libproxy/libproxy/releases/download/%{version}/%{_name}-%{version}.tar.xz +Source99: baselibs.conf +BuildRequires: cmake +BuildRequires: gcc-c++ +# netcfg is needed for the test suite. +BuildRequires: netcfg +BuildRequires: pkgconfig +BuildRequires: zlib-devel +%if !%{build_core_not_modules} +%if ! 0%{?windows} +BuildRequires: NetworkManager-devel +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 = %{version} +BuildRequires: perl +BuildRequires: python-rpm-macros +BuildRequires: python3-devel +%if %{with python2} +BuildRequires: python-devel +%endif +BuildRequires: pkgconfig(gio-2.0) >= 2.26 +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(javascriptcoregtk-4.0) +%if 0%{?sle_version} > 150200 || 0%{?is_opensuse} +BuildRequires: libKF5ConfigCore5 +%endif +%if %{build_mozjs} +BuildRequires: pkgconfig(mozjs-38) +%endif +%if %{with mono} +BuildRequires: mono-devel +%endif +%endif +%endif + +%description +libproxy is a library that provides automatic proxy configuration +management. + +%if %build_core_not_modules +%package tools +Summary: An example application using libproxy +Group: System/Libraries +Requires: libproxy1 = %{version} + +%description tools +An example application that will use libproxy to give the results that can +be expected from other applications. It can be used to debug what would +happen in various cases. + +%package devel +Summary: Development files for libproxy, a library to do PAC/WPAD +Group: Development/Libraries/C and C++ +Requires: libproxy1 = %{version} + +%description devel +libproxy is a library that provides automatic proxy configuration +management. + +This subpackage contains header files for developing applications +that want to make use of libproxy. + +%package -n libproxy1 +Summary: Automatic proxy configuration management for applications +Group: System/Libraries +%if !%{build_mozjs} +Obsoletes: libproxy1-pacrunner-mozjs <= %{version} +%endif + +%description -n libproxy1 +libproxy is a library that provides automatic proxy configuration +management. + +Proxy autoconfiguration (PAC) requires JavaScript (which most +applications do not have), and determing the PAC script location +requires a WPAD protocol implementation, which complicate proxy +support. libproxy exists to abstract this issue and provides +an answer how to reach a certain network resource. + +%else + +%package -n libproxy1-config-gnome3 +Summary: Libproxy module for GNOME3 configuration +Group: System/Libraries +Requires: libproxy1 = %{version} +Provides: libproxy-gnome = %{version} +Obsoletes: libproxy-gnome < %{version} +%if 0%{?suse_version} +Recommends: libproxy1-pacrunner = %{version} +Supplements: packageand(libproxy1:gnome-session-core) +%else +Requires: libproxy1-pacrunner = %{version} +%endif + +%description -n libproxy1-config-gnome3 + +A module to extend libproxy with capabilities to query GNOME about +proxy settings. + +%package -n libproxy1-config-kde +Summary: Libproxy module for KDE configuration +# We don't really need the library, but this package brings kreadconfig5 +Group: System/Libraries +Requires: libKF5ConfigCore5 +Requires: libproxy1 = %{version} +Provides: libproxy-kde = %{version} +Obsoletes: libproxy-kde < %{version} +# A generic KDE config loader was introduced in 0.4.12 +Obsoletes: libproxy1-config-kde4 < 0.4.12 +# The kde plugin requires 'qtpaths', which is part of libqt5-qtpaths in TW / libqt5-qttools in older releases +%if %{?suse_version} > 1320 +Requires: libqt5-qtpaths +%else +Requires: libqt5-qttools +%endif +%if 0%{?suse_version} +Recommends: libproxy1-pacrunner = %{version} +Supplements: packageand(libproxy1:libkde4) +Supplements: packageand(libproxy1:plasma5-session) +%else +Requires: libproxy1-pacrunner = %{version} +%endif + +%description -n libproxy1-config-kde +A module to extend libproxy with capabilities to query KDE4 about proxy +settings. + +%package -n libproxy1-config-pacrunner +Summary: Libproxy module for PacRunner configuration +Group: System/Libraries +Requires: libproxy1 = %{version} + +%description -n libproxy1-config-pacrunner + +A module to extend libproxy with capabilities to query PacRunner about +proxy settings. + +%package -n libproxy1-pacrunner-mozjs +Summary: Libproxy module to support WPAD/PAC parsing via the Mozilla JavaScript Engine +Group: System/Libraries +Requires: libproxy1 = %{version} +# A virtual symbol to identify that this is a pacrunner. +Provides: libproxy1-pacrunner = %{version} +%if 0%{?suse_version} +Supplements: packageand(libproxy1:libmozjs185-1_0) +%endif + +%description -n libproxy1-pacrunner-mozjs +A module to extend libproxy with capabilities to pass addresses to a +WPAD/PAC script and have it find the correct proxy. + +%package -n libproxy1-pacrunner-webkit +Summary: Libproxy module to support WPAD/PAC parsing via the WebKit JavaScript Engine +Group: System/Libraries +Requires: libproxy1 = %{version} +# A virtual symbol to identify that this is a pacrunner. +Provides: libproxy1-pacrunner = %{version} +%if 0%{?suse_version} +Supplements: packageand(libproxy1:libjavascriptcoregtk-3_0-0) +%endif + +%description -n libproxy1-pacrunner-webkit +A module to extend libproxy with capabilities to pass addresses to a +WPAD/PAC script and have it find the correct proxy. + +%package -n libproxy1-networkmanager +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 +about network configuration changes. + +%package -n python3-libproxy +Summary: Python3 bindings for libproxy +Group: Development/Languages/Python +Requires: libproxy1 = %{version} +BuildArch: noarch + +%description -n python3-libproxy +libproxy is a library that provides automatic proxy configuration +management. + +This package contains the Python 3 bindings for libproxy. + +%package -n python-libproxy +Summary: Python bindings for libproxy +Group: Development/Languages/Python +Requires: libproxy1 = %{version} +BuildArch: noarch + +%description -n python-libproxy +libproxy is a library that provides automatic proxy configuration +management. + +This package contains the Python 2 bindings for libproxy. + +%package -n perl-Net-Libproxy +Summary: Perl bindings for libproxy +Group: Development/Languages/Perl +Requires: libproxy1 = %{version} +%if 0%{?perl_requires:1} +%{perl_requires} +%else +# For Fedora at least perl = perl_version does not work. +Requires: perl >= %{perl_version} +%endif + +%description -n perl-Net-Libproxy +libproxy is a library that provides automatic proxy configuration +management. + +This package contains the Perl for libproxy. + +%package -n libproxy-sharp +Summary: .Net bindings for libproxy +Group: Development/Languages/Mono +Requires: libproxy1 = %{version} + +%description -n libproxy-sharp +libproxy is a library that provides automatic proxy configuration +management. + +This package contains the Mono/.NET for libproxy. + +%endif %dnl build_core_not_modules + +%prep +%autosetup -n %{_sourcename} -p1 +mkdir build + +%build +cd build +export CXXFLAGS="%{optflags}" +export CFLAGS="%{optflags}" +%if 0%{?windows} +export CXXFLAGS="%{optflags} -fno-stack-protector -static-libgcc" +%endif +cmake \ +%if 0%{?windows} + -DCMAKE_TOOLCHAIN_FILE=../cmake/mingw32.cmake \ + -DBUILD_TESTING=False \ + -DWITH_DOTNET=OFF \ +%else + -DWITH_VALA=yes \ +%if %{with mono} + -DWITH_DOTNET=1 \ +%endif +%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} \ + -DPYTHON_SITEPKG_DIR=%{python_sitelib} \ + -DSHARE_INSTALL_PREFIX=%{_datadir} \ + -DINCLUDE_INSTALL_DIR=%{_includedir} \ + -DPERL_VENDORINSTALL=yes \ + -DBIPR=0 \ +%if %build_core_not_modules + -DWITH_DOTNET=OFF \ + -DWITH_PERL=OFF \ + -DWITH_PYTHON2=OFF \ + -DWITH_PYTHON3=OFF \ +%endif +%if %build_core_not_modules || (! 0%{?is_opensuse} && 0%{?sle_version} <= 150200) + -DWITH_KDE=OFF \ +%endif + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_INSTALL_CONFIG_NAME=RelWithDebInfo \ + -DWITH_WEBKIT3=ON \ + -DWITH_GNOME3=ON \ +.. +make VERBOSE=1 + +%install +cd build +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-%{version} +install -d %{buildroot}%{_libdir}/%{name}-%{version}/modules +%else +# remove files that are part of the core +rm -f %{buildroot}%{_includedir}/*.h +# Delete all files that exist in the base libproxy package +rm -f %{buildroot}%{_bindir}/proxy%{?windows:.exe} +rm -f %{buildroot}%{_libdir}/libproxy.* +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 +%endif + +%check +cd build +make test + +%if %build_core_not_modules +%post -n libproxy1 -p /sbin/ldconfig + +%postun -n libproxy1 -p /sbin/ldconfig + +%files tools +%defattr(-, root, root) +%{_bindir}/proxy%{?windows:.exe} + +%files -n libproxy1 +%defattr(-, root, root) +%license COPYING +%doc README AUTHORS +%if ! 0%{?windows} +%{_libdir}/libproxy.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 +%{_datadir}/cmake/Modules/Findlibproxy.cmake +%dir %{_datadir}/vala +%dir %{_datadir}/vala/vapi +%{_datadir}/vala/vapi/libproxy-1.0.vapi +%endif + +%else +%if ! 0%{?windows} +%if 0%{?sle_version} > 150200 || 0%{?is_opensuse} +%files -n libproxy1-config-kde +%defattr(-, root, root) +%{_libdir}/libproxy-%{version}/modules/config_kde.so +%endif + +%files -n libproxy1-config-gnome3 +%defattr(-, root, root) +%{_libdir}/libproxy-%{version}/modules/config_gnome3.so +%{_libexecdir}/libproxy-%{version}/pxgsettings + +%files -n libproxy1-config-pacrunner +%{_libdir}/libproxy-%{version}/modules/config_pacrunner.so + +%files -n libproxy1-networkmanager +%defattr(-, root, root) +%{_libdir}/libproxy-%{version}/modules/network_networkmanager.so + +%files -n libproxy1-pacrunner-webkit +%defattr(-, root, root) +%{_libdir}/libproxy-%{version}/modules/pacrunner_webkit.so + +%if %{build_mozjs} +%files -n libproxy1-pacrunner-mozjs +%defattr(-, root, root) +%{_libdir}/libproxy-%{version}/modules/pacrunner_mozjs.so +%endif + +%if %{with python2} +%files -n python-libproxy +%defattr(-, root, root) +%{python_sitelib}/*.py +%endif + +%files -n python3-libproxy +%defattr(-, root, root) +%{python3_sitelib}/*.py + +%files -n perl-Net-Libproxy +%defattr(-,root,root) +%dir %{perl_vendorarch}/Net +%dir %{perl_vendorarch}/auto/Net +%dir %{perl_vendorarch}/auto/Net/Libproxy +%{perl_vendorarch}/Net/Libproxy.pm +%{perl_vendorarch}/auto/Net/Libproxy/Libproxy.so + +%if %{with mono} +%files -n libproxy-sharp +%defattr(-, root, root) +%{_assemblies_dir}/gac/libproxy-sharp +%{_assemblies_dir}/libproxy-sharp +%{_libdir}/pkgconfig/libproxy-sharp-1.0.pc +%endif +%endif +%endif + +%changelog