diff --git a/0.5.3.tar.gz b/0.5.3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..b300f6a19e2f36d6f97a15de94e2fab2372564f4 Binary files /dev/null and b/0.5.3.tar.gz differ diff --git a/libproxy-0.4.18.tar.xz b/libproxy-0.4.18.tar.xz deleted file mode 100644 index f44dbea43893ffc26aab508982eb787b5859e20f..0000000000000000000000000000000000000000 Binary files a/libproxy-0.4.18.tar.xz and /dev/null differ diff --git a/libproxy-0.5.3-library-version-symlink.patch b/libproxy-0.5.3-library-version-symlink.patch new file mode 100644 index 0000000000000000000000000000000000000000..8a60558771ef5067e16074c4baa519e782f52319 --- /dev/null +++ b/libproxy-0.5.3-library-version-symlink.patch @@ -0,0 +1,33 @@ +From a1e6c95fe6b3eaf558274f5a6234d022b7da4002 Mon Sep 17 00:00:00 2001 +From: David King +Date: Thu, 2 Nov 2023 09:10:46 +0000 +Subject: [PATCH] Specify library version more completely + +If the library version is not specified, meson installs the shared +object using only the soversion, and tis causes ldconfig to emit a +warning that the shared object is not a symlink. Specifying a version +that matches the project version means that version is used for the +shared object, and the soversion-named file is then a symilnk to that, +which is common across other libraries, and avoids the warning from +ldconfig. + +https://bugzilla.redhat.com/show_bug.cgi?id=2247508 +--- + src/libproxy/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/libproxy/meson.build b/src/libproxy/meson.build +index 343b645..558719c 100644 +--- a/src/libproxy/meson.build ++++ b/src/libproxy/meson.build +@@ -29,6 +29,7 @@ libproxy = shared_library( + link_args : vflag, + link_depends : mapfile, + soversion: '1', ++ version: meson.project_version(), + install: true, + install_rpath: pkglibdir, + ) +-- +2.41.0 + diff --git a/libproxy.spec b/libproxy.spec index 91b9d41f5627327129d6e70680bca29e995e4a79..491dfe9900a735d4cc32c9d1005e3aadc8c626b0 100644 --- a/libproxy.spec +++ b/libproxy.spec @@ -1,91 +1,79 @@ -%define anolis_release 3 +%define anolis_release 1 -%bcond_with bootstrap -%bcond_with pacrunner +%global _privatelibs libpxbackend-1.0[.]so.* +%global __provides_exclude ^(%{_privatelibs})$ +%global __requires_exclude ^(%{_privatelibs})$ Name: libproxy -Version: 0.4.18 +Version: 0.5.3 Release: %{anolis_release}%{?dist} -Summary: A library that provides automatic proxy configuration management. -License: LGPLv2+ -URL: https://libproxy.github.io/libproxy/ -Source0: https://github.com/libproxy/%{name}/releases/download/%{name}-%{version}.tar.xz -Source1: proxy.1 - -BuildRequires: gcc gcc-c++ cmake >= 2.6.0 -BuildRequires: automake autoconf +Summary: A library handling all the details of proxy configuration -%if %{without bootstrap} -BuildRequires: pkgconfig(gio-2.0) >= 2.26 pkgconfig(libnm) pkgconfig(dbus-1) pkgconfig(duktape) +License: LGPL-2.1-or-later +URL: https://libproxy.github.io/libproxy/ +Source0: https://github.com/libproxy/%{name}/archive/refs/tags/%{version}.tar.gz +# https://bugzilla.redhat.com/show_bug.cgi?id=2247508 +# https://github.com/libproxy/libproxy/pull/259 +Patch0: libproxy-0.5.3-library-version-symlink.patch + +BuildRequires: gcc +BuildRequires: meson +BuildRequires: /usr/bin/gi-docgen +BuildRequires: /usr/bin/vapigen + +BuildRequires: pkgconfig(duktape) +BuildRequires: pkgconfig(gio-2.0) >= 2.71.3 +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(libcurl) BuildRequires: python3-devel -%endif +# For config-gnome +BuildRequires: pkgconfig(gsettings-desktop-schemas) + +# Folded into main package in 0.5.0. Remove in F41. +Provides: python3-%{name} = %{version}-%{release} +Provides: %{name}-pac = %{version}-%{release} + +# Obsoletes of subpackages prior to 0.5.0 rewrite. Remove in F41. +Provides: %{name}-gnome = %{version}-%{release} +Obsoletes: %{name}-gnome < %{version}-%{release} +Provides: %{name}-kde = %{version}-%{release} +Obsoletes: %{name}-kde < %{version}-%{release} +Provides: %{name}-mozjs = %{version}-%{release} +Obsoletes: %{name}-mozjs < %{version}-%{release} +Provides: %{name}-pacrunner = %{version}-%{release} +Obsoletes: %{name}-pacrunner < %{version}-%{release} +Provides: %{name}-webkitgtk4 = %{version}-%{release} +Obsoletes: %{name}-webkitgtk4 < %{version}-%{release} +Provides: %{name}-duktape = %{version}-%{release} +Obsoletes: %{name}-duktape < %{version}-%{release} %description -libproxy is a library that provides automatic proxy configuration management. +libproxy offers the following features: + + * extremely small core footprint + * minimal dependencies within libproxy core + * only 4 functions in the stable-ish external API + * dynamic adjustment to changing network topology + * a standard way of dealing with proxy settings across all scenarios + * a sublime sense of joy and accomplishment + -%package bin +%package bin Summary: Binary to test %{name} -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description bin -The libproxy-bin package contains the proxy binary for libproxy. +%description bin +The %{name}-bin package contains the proxy binary for %{name} %package devel Summary: Development files for %{name} -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. -%if %{without bootstrap} -%package -n python3-%{name} -Summary: Binding for libproxy and python3 -Requires: %{name} = %{version}-%{release} -BuildArch: noarch -%{?python_provide:%python_provide python3-%{name}} - -%description -n python3-%{name} -The python3 binding for libproxy - -%package gnome -Summary: Plugin for %{name} and gnome -Requires: %{name} = %{version}-%{release} - -%description gnome -The libproxy-gnome package contains the libproxy plugin for gnome. - -%package duktape -Summary: Plugin for libproxy and duktape -Requires: %{name} = %{version}-%{release} -Provides: %{name}-pac = %{version}-%{release} -Obsoletes: %{name}-mozjs <= %{EVR} -Obsoletes: %{name}-webkitgtk4 <= %{EVR} - -%description duktape -The libproxy-duktape package contains the libproxy plugin for -duktape. - -%package networkmanager -Summary: Plugin for %{name} and networkmanager -Requires: %{name} = %{version}-%{release} - -%description networkmanager -The libproxy-networkmanager package contains the libproxy plugin for networkmanager. - -if %{with pacrunner} -%package pacrunner -Summary: Plugin for %{name} and PacRunner -Requires: %{name} = %{version}-%{release} -Provides: %{name}-pac = %{version}-%{release} -Requires: pacrunner - -%description pacrunner -The %{name}-pacrunner package contains the %{name} plugin for -ConnMan's PacRunner. -%endif - %package doc Summary: Documentation files for %{name} Requires: %{name} = %{version}-%{release} @@ -97,87 +85,59 @@ The %{name}-doc package contains documentation files for %{name}. %prep %autosetup -p1 + %build -export CXXFLAGS="-std=c++14 $RPM_OPT_FLAGS" -%cmake \ - -DMODULE_INSTALL_DIR=%{_libdir}/%{name}/%{version}/modules \ - -DBIPR=OFF \ - -DWITH_GNOME=OFF \ - -DWITH_MOZJS=OFF \ - -DWITH_PERL=OFF \ - -DWITH_PYTHON2=OFF \ - -DWITH_WEBKIT=OFF \ - -DWITH_WEBKIT3=OFF \ - -DWITH_KDE=OFF \ -%if %{without bootstrap} - -DWITH_DUKTAPE=ON \ - -DWITH_GNOME3=ON \ - -DWITH_PYTHON3=ON \ -%else - -DWITH_DUKTAPE=OFF \ - -DWITH_GNOME3=OFF \ - -DWITH_PYTHON3=OFF \ -%endif - %{nil} -%cmake_build +%meson \ + -Dconfig-gnome=true \ + -Dconfig-kde=true \ + -Dconfig-osx=false \ + -Dconfig-windows=false \ + -Dintrospection=true \ + -Dtests=true \ + -Dvapi=true +%meson_build -%install -%cmake_install -mkdir -p %{buildroot}%{_libdir}/%{name}/%{version}/modules -mkdir -p %{buildroot}/%{_mandir}/man1 -install -m 0644 -p %{SOURCE1} %{buildroot}/%{_mandir}/man1/proxy.1 -%if %{without pacrunner} -rm -rf %{buildroot}%{_libdir}/%{name}/%{version}/modules/config_pacrunner.so -%endif +%install +%meson_install %check -%ctest +%meson_test + +%ldconfig_scriptlets + %files %license COPYING +%dir %{_libdir}/girepository-1.0 +%{_libdir}/girepository-1.0/Libproxy-1.0.typelib %{_libdir}/libproxy.so.* -%dir %{_libdir}/%{name} -%dir %{_libdir}/%{name}/%{version} -%dir %{_libdir}/%{name}/%{version}/modules +%dir %{_libdir}/libproxy +%{_libdir}/libproxy/libpxbackend-1.0.so %files bin %{_bindir}/proxy -%{_mandir}/man1/proxy.1* - -%if %{without bootstrap} -%files -n python3-%{name} -%{python3_sitelib}/__pycache__/* -%{python3_sitelib}/%{name}.* - -%files gnome -%{_libdir}/%{name}/%{version}/modules/config_gnome3.so -%{_libexecdir}/pxgsettings - -%files networkmanager -%{_libdir}/%{name}/%{version}/modules/network_networkmanager.so - -%files duktape -%{_libdir}/%{name}/%{version}/modules/pacrunner_duktape.so - -%if %{with pacrunner} -%files pacrunner -%{_libdir}/%{name}/%{version}/modules/config_pacrunner.so -%endif -%endif +%{_mandir}/man8/proxy.8* %files devel -%{_includedir}/proxy.h -%{_libdir}/*.so +%{_docdir}/libproxy-1.0/ +%{_includedir}/libproxy/ +%{_libdir}/libproxy.so %{_libdir}/pkgconfig/libproxy-1.0.pc -%{_datadir}/cmake/Modules/Findlibproxy.cmake +%dir %{_datadir}/gir-1.0 +%{_datadir}/gir-1.0/Libproxy-1.0.gir +%dir %{_datadir}/vala/vapi/ +%{_datadir}/vala/vapi/libproxy-1.0.deps +%{_datadir}/vala/vapi/libproxy-1.0.vapi %files doc -%doc AUTHORS README - +%doc CHANGELOG.md README.md %changelog +* Fri Dec 22 2023 mgb01105731 - 0.5.3-1 +- update to version 0.5.3 + * Mon Apr 10 2023 chen_yu_ao - 0.4.18-3 - change spec file format @@ -189,4 +149,3 @@ rm -rf %{buildroot}%{_libdir}/%{name}/%{version}/modules/config_pacrunner.so * Thu Apr 07 2022 mgb01105731 - 0.4.17-1 - Init from upstream version 0.4.17 - diff --git a/proxy.1 b/proxy.1 deleted file mode 100644 index a8c2d83079e24470e66c4f801f1d877de7939639..0000000000000000000000000000000000000000 --- a/proxy.1 +++ /dev/null @@ -1,23 +0,0 @@ -.TH PROXY "1" "September 2013" "libproxy" "User Commands" -.SH NAME -proxy \- Display the proxy server that should be used to reach a given a network resource -.SH SYNOPSIS -proxy -.SH DESCRIPTION -Display the proxy server that should be used to reach a given a network resource. -.PP -libproxy is a library that provides automatic proxy configuration management -using different backends. -.SH EXAMPLE -.B echo http://www.example.com/ | proxy - http://webcache:3128 direct:// -.SH AUTHOR -This manual page was written by -.MT bigon@debian.org -Laurent Bigonville -.ME , -for the Debian GNU/Linux system (but may be used by others). -.SH SEE ALSO -.UR http://code.google.com/p/libproxy/ -libproxy -.UE .