Compare commits

...

No commits in common. "c8" and "c10s" have entirely different histories.
c8 ... c10s

10 changed files with 246 additions and 378 deletions

12
.gitignore vendored
View File

@ -1 +1,11 @@
SOURCES/0.4.15.tar.gz /libproxy-0.*.tar.gz
/0.4.12.tar.gz
/0.4.13.tar.gz
/libproxy-0.4.14.tar.xz
/0.4.15.tar.gz
/libproxy-0.4.17.tar.xz
/libproxy-0.4.18.tar.xz
/0.5.1.tar.gz
/0.5.2.tar.gz
/0.5.3.tar.gz
/0.5.5.tar.gz

View File

@ -1 +0,0 @@
2dc0fc31cad78ce3d7a5ceb8fa8df07010f5c13e SOURCES/0.4.15.tar.gz

View File

@ -1,41 +0,0 @@
diff -up libproxy-0.4.11/libproxy/extension_pacrunner.cpp.crash libproxy-0.4.11/libproxy/extension_pacrunner.cpp
--- libproxy-0.4.11/libproxy/extension_pacrunner.cpp.crash 2010-07-29 08:14:59.000000000 -0400
+++ libproxy-0.4.11/libproxy/extension_pacrunner.cpp 2013-11-11 15:23:56.987266457 -0500
@@ -22,20 +22,10 @@ using namespace libproxy;
pacrunner::pacrunner(string, const url&) {}
-pacrunner_extension::pacrunner_extension() {
- this->pr = NULL;
-}
+pacrunner_extension::pacrunner_extension() {}
-pacrunner_extension::~pacrunner_extension() {
- if (this->pr) delete this->pr;
-}
+pacrunner_extension::~pacrunner_extension() {}
pacrunner* pacrunner_extension::get(string pac, const url& pacurl) throw (bad_alloc) {
- if (this->pr) {
- if (this->last == pac)
- return this->pr;
- delete this->pr;
- }
-
- return this->pr = this->create(pac, pacurl);
+ return this->create(pac, pacurl);
}
diff -up libproxy-0.4.11/libproxy/proxy.cpp.crash libproxy-0.4.11/libproxy/proxy.cpp
--- libproxy-0.4.11/libproxy/proxy.cpp.crash 2013-11-11 15:25:27.309271353 -0500
+++ libproxy-0.4.11/libproxy/proxy.cpp 2013-11-11 15:25:31.569271584 -0500
@@ -416,7 +416,9 @@ void proxy_factory::run_pac(url &realurl
/* Run the PAC, but only try one PACRunner */
if (debug) cerr << "Using pacrunner: " << typeid(*pacrunners[0]).name() << endl;
- string pacresp = pacrunners[0]->get(this->pac, this->pacurl->to_string())->run(realurl);
+ pacrunner* runner = pacrunners[0]->get(this->pac, this->pacurl->to_string());
+ string pacresp = runner->run(realurl);
+ delete runner;
if (debug) cerr << "Pacrunner returned: " << pacresp << endl;
format_pac_response(pacresp, response);
}

View File

@ -1,57 +0,0 @@
From a83dae404feac517695c23ff43ce1e116e2bfbe0 Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@gnome.org>
Date: Wed, 9 Sep 2020 11:12:02 -0500
Subject: [PATCH] Rewrite url::recvline to be nonrecursive
This function processes network input. It's semi-trusted, because the
PAC ought to be trusted. But we still shouldn't allow it to control how
far we recurse. A malicious PAC can cause us to overflow the stack by
sending a sufficiently-long line without any '\n' character.
Also, this function failed to properly handle EINTR, so let's fix that
too, for good measure.
Fixes #134
---
libproxy/url.cpp | 28 ++++++++++++++++++----------
1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/libproxy/url.cpp b/libproxy/url.cpp
index ee776b2..68d69cd 100644
--- a/libproxy/url.cpp
+++ b/libproxy/url.cpp
@@ -388,16 +388,24 @@ string url::to_string() const {
return m_orig;
}
-static inline string recvline(int fd) {
- // Read a character.
- // If we don't get a character, return empty string.
- // If we are at the end of the line, return empty string.
- char c = '\0';
-
- if (recv(fd, &c, 1, 0) != 1 || c == '\n')
- return "";
-
- return string(1, c) + recvline(fd);
+static string recvline(int fd) {
+ string line;
+ int ret;
+
+ // Reserve arbitrary amount of space to avoid small memory reallocations.
+ line.reserve(128);
+
+ do {
+ char c;
+ ret = recv(fd, &c, 1, 0);
+ if (ret == 1) {
+ if (c == '\n')
+ return line;
+ line += c;
+ }
+ } while (ret == 1 || (ret == -1 && errno == EINTR));
+
+ return line;
}
char* url::get_pac() {

View File

@ -1,93 +0,0 @@
From 4411b523545b22022b4be7d0cac25aa170ae1d3e Mon Sep 17 00:00:00 2001
From: Fei Li <lifeibiren@gmail.com>
Date: Fri, 17 Jul 2020 02:18:37 +0800
Subject: [PATCH] Fix buffer overflow when PAC is enabled
The bug was found on Windows 10 (MINGW64) when PAC is enabled. It turned
out to be the large PAC file (more than 102400 bytes) returned by a
local proxy program with no content-length present.
---
libproxy/url.cpp | 44 +++++++++++++++++++++++++++++++-------------
1 file changed, 31 insertions(+), 13 deletions(-)
diff --git a/libproxy/url.cpp b/libproxy/url.cpp
index ee776b2..8684086 100644
--- a/libproxy/url.cpp
+++ b/libproxy/url.cpp
@@ -54,7 +54,7 @@ using namespace std;
#define PAC_MIME_TYPE_FB "text/plain"
// This is the maximum pac size (to avoid memory attacks)
-#define PAC_MAX_SIZE 102400
+#define PAC_MAX_SIZE 0x800000
// This is the default block size to use when receiving via HTTP
#define PAC_HTTP_BLOCK_SIZE 512
@@ -478,15 +478,13 @@ char* url::get_pac() {
}
// Get content
- unsigned int recvd = 0;
- buffer = new char[PAC_MAX_SIZE];
- memset(buffer, 0, PAC_MAX_SIZE);
+ std::vector<char> dynamic_buffer;
do {
unsigned int chunk_length;
if (chunked) {
// Discard the empty line if we received a previous chunk
- if (recvd > 0) recvline(sock);
+ if (!dynamic_buffer.empty()) recvline(sock);
// Get the chunk-length line as an integer
if (sscanf(recvline(sock).c_str(), "%x", &chunk_length) != 1 || chunk_length == 0) break;
@@ -498,21 +496,41 @@ char* url::get_pac() {
if (content_length >= PAC_MAX_SIZE) break;
- while (content_length == 0 || recvd != content_length) {
- int r = recv(sock, buffer + recvd,
- content_length == 0 ? PAC_HTTP_BLOCK_SIZE
- : content_length - recvd, 0);
+ while (content_length == 0 || dynamic_buffer.size() != content_length) {
+ // Calculate length to recv
+ unsigned int length_to_read = PAC_HTTP_BLOCK_SIZE;
+ if (content_length > 0)
+ length_to_read = content_length - dynamic_buffer.size();
+
+ // Prepare buffer
+ dynamic_buffer.resize(dynamic_buffer.size() + length_to_read);
+
+ int r = recv(sock, dynamic_buffer.data() + dynamic_buffer.size() - length_to_read, length_to_read, 0);
+
+ // Shrink buffer to fit
+ if (r >= 0)
+ dynamic_buffer.resize(dynamic_buffer.size() - length_to_read + r);
+
+ // PAC size too large, discard
+ if (dynamic_buffer.size() >= PAC_MAX_SIZE) {
+ chunked = false;
+ dynamic_buffer.clear();
+ break;
+ }
+
if (r <= 0) {
chunked = false;
break;
}
- recvd += r;
}
} while (chunked);
- if (content_length != 0 && string(buffer).size() != content_length) {
- delete[] buffer;
- buffer = NULL;
+ if (content_length == 0 || content_length == dynamic_buffer.size()) {
+ buffer = new char[dynamic_buffer.size() + 1];
+ if (!dynamic_buffer.empty()) {
+ memcpy(buffer, dynamic_buffer.data(), dynamic_buffer.size());
+ }
+ buffer[dynamic_buffer.size()] = '\0';
}
}

View File

@ -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 .

View File

@ -1,209 +1,151 @@
# When we are bootstrapping, we drop some dependencies. * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.3-5
# Set this to 0 after bootstrapping. - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
%{!?_with_bootstrap: %global bootstrap 0}
Name: libproxy * Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.3-4
Version: 0.4.15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
Release: 5.5%{?dist}
Summary: A library handling all the details of proxy configuration
Group: System Environment/Libraries * Thu Nov 02 2023 David King <amigadave@amigadave.com> - 0.5.3-3
License: LGPLv2+ - Install a versioned library symlink (#2247508)
URL: https://libproxy.github.io/libproxy/
Source0: https://github.com/libproxy/%{name}/archive/%{version}.tar.gz
# Taken from the Debian package.
Source1: proxy.1
Patch1: libproxy-0.4.11-crash.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1880350 * Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.3-2
Patch2: libproxy-0.4.15-fix-CVE-2020-25219.patch - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
# https://bugzilla.redhat.com/show_bug.cgi?id=1883584 * Fri Jul 07 2023 David King <amigadave@amigadave.com> - 0.5.3-1
Patch3: libproxy-0.4.15-fix-pac-buffer-overflow.patch - Update to 0.5.3
BuildRequires: libmodman-devel >= 2.0.1 * Sun Jun 18 2023 David King <amigadave@amigadave.com> - 0.5.2-1
BuildRequires: cmake >= 2.6.0 - Update to 0.5.2
%if ! 0%{?bootstrap} * Wed May 24 2023 David King <amigadave@amigadave.com> - 0.5.1-1
# gnome - Update to 0.5.1
BuildRequires: pkgconfig(gio-2.0) >= 2.26
# NetworkManager
BuildRequires: pkgconfig(libnm)
BuildRequires: pkgconfig(dbus-1)
# webkit (gtk3)
BuildRequires: pkgconfig(javascriptcoregtk-4.0)
# Python
BuildRequires: python3-devel
%else
# Obsoletes of disabled subpackages.
Provides: %{name}-webkitgtk4 = %{version}-%{release}
Obsoletes: %{name}-webkitgtk4 < %{version}-%{release}
%endif
* Tue May 23 2023 David King <amigadave@amigadave.com> - 0.5.0-3
- Fix libproxy rpath (#2209173)
%description * Mon May 22 2023 Adam Williamson <awilliam@redhat.com> - 0.5.0-2
libproxy offers the following features: - Add missing obsolete/provide for libproxy-duktape
* extremely small core footprint (< 35K) * Tue May 16 2023 David King <amigadave@amigadave.com> - 0.5.0-1
* no external dependencies within libproxy core - Update to 0.5.0
(libproxy plugins may have dependencies)
* only 3 functions in the stable external API
* dynamic adjustment to changing network topology
* a standard way of dealing with proxy settings across all scenarios
* a sublime sense of joy and accomplishment
* Wed Feb 08 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 0.4.18-6
- Soften KDE dependency
%package bin * Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.18-5
Summary: Binary to test %{name} - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Group: Applications/System
Requires: %{name}%{?_isa} = %{version}-%{release}
%description bin * Fri Dec 16 2022 František Zatloukal <fzatlouk@redhat.com> - 0.4.18-4
The %{name}-bin package contains the proxy binary for %{name} - Rebuilt for duktape 2.7.0
%if ! 0%{?bootstrap} * Wed Jul 20 2022 Michael Catanzaro <mcatanzaro@redhat.com> - 0.4.18-3
%package -n python3-%{name} - Replace WebKitGTK pacrunner backend with duktape
Summary: Binding for %{name} and python3
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%{?python_provide:%python_provide python3-%{name}}
%description -n python3-%{name} * Tue Jul 19 2022 Milan Crha <mcrha@redhat.com> - 0.4.18-2
The python3 binding for %{name} - Change WebKitGTK API dependency to 4.1 (using libsoup3)
%package gnome * Tue Jun 21 2022 David King <amigadave@amigadave.com> - 0.4.18-1
Summary: Plugin for %{name} and gnome - Update to 0.4.18
Group: System Environment/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
%description gnome * Mon Jun 20 2022 David King <amigadave@amigadave.com> - 0.4.17-6
The %{name}-gnome package contains the %{name} plugin for gnome. - Accept Python 3.11 (#2098739)
%package networkmanager * Mon Mar 28 2022 David King <amigadave@amigadave.com> - 0.4.17-5
Summary: Plugin for %{name} and networkmanager - Fix build (#2069137)
Group: System Environment/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
%description networkmanager * Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.17-4
The %{name}-networkmanager package contains the %{name} plugin - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
for networkmanager.
%package webkitgtk4 * Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.17-3
Summary: Plugin for %{name} and webkitgtk3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Group: System Environment/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: %{name}-pac = %{version}-%{release}
%description webkitgtk4 * Mon Jun 21 2021 David King <amigadave@amigadave.com> - 0.4.17-2
The %{name}-webkitgtk4 package contains the %{name} plugin for - Rebuilt for Python 3.10 (#1898060)
webkitgtk3.
%endif * Fri May 28 2021 David King <amigadave@amigadave.com> - 0.4.17-1
- Update to 0.4.17
%package devel * Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.15-30
Summary: Development files for %{name} - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel * Mon Nov 30 2020 David King <amigadave@amigadave.com> - 0.4.15-29
The %{name}-devel package contains libraries and header files for - Tweak KDE conditionals to only apply at runtime
developing applications that use %{name}.
%prep * Mon Nov 30 2020 David King <amigadave@amigadave.com> - 0.4.15-28
%autosetup -p1 - Depend on KDE only on Fedora (#1902608)
* Tue Oct 06 2020 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.4.15-27
- Disable mozjs backend by default, obsolete it by webkit subpackage
%build * Tue Sep 29 2020 David King <amigadave@amigadave.com> - 0.4.15-26
%{cmake} \ - Fix PAC buffer overflow (#1883584)
-DMODULE_INSTALL_DIR=%{_libdir}/%{name}/%{version}/modules \
-DWITH_PERL=OFF \
-DWITH_PYTHON2=OFF \
-DWITH_KDE=OFF \
-DWITH_MOZJS=OFF \
-DBIPR=0 \
%if ! 0%{?bootstrap}
-DWITH_GNOME3=ON \
-DWITH_PYTHON3=ON \
-DWITH_WEBKIT3=ON \
%else
-DWITH_PYTHON3=OFF \
%endif
.
%make_build
* Fri Sep 18 2020 David King <amigadave@amigadave.com> - 0.4.15-25
- Fix CVE-2020-25219 (#1880350)
%install * Tue Aug 18 2020 Jeff Law <law@redhat.com> - 0.4.15-24
%make_install INSTALL="install -p" - Force C++14 as this code is not C++17 ready
#In case all modules are disabled * Tue Aug 04 2020 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.4.15-23
mkdir -p %{buildroot}%{_libdir}/%{name}/%{version}/modules - build with mozjs68
- backport use after free fix for mozjs backend
# Man page. * Tue Aug 04 2020 Frantisek Zatloukal <fzatlouk@redhat.com> - 0.4.15-22
install -Dpm 0644 %{SOURCE1} %{buildroot}/%{_mandir}/man1/proxy.1 - Fix build by switching to cmake macros instead of make
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.15-21
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
%check * Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.15-20
make test - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
%post -p /sbin/ldconfig * Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.4.15-19
- Rebuilt for Python 3.9
%postun -p /sbin/ldconfig * Thu Feb 13 2020 David King <amigadave@amigadave.com> - 0.4.15-18
- Fix build against Python 3.9 (#1791942)
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.15-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
%files * Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 0.4.15-16
%doc AUTHORS README - Rebuilt for Python 3.8.0rc1 (#1748018)
%license COPYING
%{_libdir}/*.so.*
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/%{version}
%dir %{_libdir}/%{name}/%{version}/modules
%files bin * Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 0.4.15-15
%{_bindir}/proxy - Rebuilt for Python 3.8
%{_mandir}/man1/proxy.1*
%if ! 0%{?bootstrap} * Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.15-14
%files -n python3-%{name} - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
%{python3_sitelib}/__pycache__/*
%{python3_sitelib}/%{name}.*
%files gnome * Fri Feb 08 2019 Kalev Lember <klember@redhat.com> - 0.4.15-13
%{_libdir}/%{name}/%{version}/modules/config_gnome3.so - Build with mozjs60
%{_libexecdir}/pxgsettings
%files networkmanager * Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.15-12
%{_libdir}/%{name}/%{version}/modules/network_networkmanager.so - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
%files webkitgtk4 * Thu Nov 22 2018 David King <amigadave@amigadave.com> - 0.4.15-11
%{_libdir}/%{name}/%{version}/modules/pacrunner_webkit.so - Add Obsoletes on old Python 2 subpackage (#1634211)
%endif
%files devel * Thu Sep 20 2018 David King <amigadave@amigadave.com> - 0.4.15-10
%{_includedir}/proxy.h - Remove Python 2 subpackage (#1631331)
%{_libdir}/*.so
%{_libdir}/pkgconfig/libproxy-1.0.pc
%{_datadir}/cmake/Modules/Findlibproxy.cmake
* Sun Aug 26 2018 Peter Robinson <pbrobinson@fedoraproject.org> 0.4.15-9
- Add patch and build against mozjs 52
%changelog * Fri Jul 20 2018 David King <amigadave@amigadave.com> - 0.4.15-8
* Thu Aug 15 2024 Michael Santana <msantana@redhat.com> - 0.4.15-5.5 - Provide direct path to Python 2 (#1604646)
- Bump up version number
* Tue Jul 30 2024 Michael Santana <msantana@redhat.com> - 0.4.15-5.4 * Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.15-8
- Fix PAC buffer overflow (#1869639) - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jul 30 2024 Michael Santana <msantana@redhat.com> - 0.4.15-5.3 * Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 0.4.15-7
- Fix CVE-2020-25219 (#1880349) - Rebuilt for Python 3.7
* Thu May 31 2018 Dan Winship <danw@redhat.com> - 0.4.15-5.2 * Fri May 04 2018 David King <amigadave@amigadave.com> - 0.4.15-6
- Drop pacrunner-mozjs (#1571640) - Resurrect an old patch (#1459779)
- Add BuildRequires on gcc-c++
* Wed May 30 2018 Dan Winship <danw@redhat.com> - 0.4.15-5.1 - Switch to %%ldconfig_scriptlets
- Drop python2 subpackage (#1559092) - Remove obsolete Group tags
- Drop PAC runner based on the "pacrunner" package (#1569023)
- Replace pacrunner-crash-fix patch with version from RHEL7
- Drop kde subpackage (#1538147)
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.15-5 * Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.15-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1-gating.functional}

124
libproxy.spec Normal file
View File

@ -0,0 +1,124 @@
%global _privatelibs libpxbackend-1.0[.]so.*
%global __provides_exclude ^(%{_privatelibs})$
%global __requires_exclude ^(%{_privatelibs})$
Name: libproxy
Version: 0.5.5
Release: %autorelease
Summary: A library handling all the details of proxy configuration
License: LGPL-2.1-or-later
URL: https://libproxy.github.io/libproxy/
Source0: https://github.com/libproxy/%{name}/archive/refs/tags/%{version}.tar.gz
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
# 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 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
Summary: Binary to test %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description bin
The %{name}-bin package contains the proxy binary for %{name}
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%prep
%autosetup -p1
%build
%meson \
-Dconfig-gnome=true \
-Dconfig-kde=true \
-Dconfig-osx=false \
-Dconfig-windows=false \
-Dintrospection=true \
-Dtests=true \
-Dvapi=true
%meson_build
%install
%meson_install
%check
%meson_test
%ldconfig_scriptlets
%files
%doc CHANGELOG.md README.md
%license COPYING
%dir %{_libdir}/girepository-1.0
%{_libdir}/girepository-1.0/Libproxy-1.0.typelib
%{_libdir}/libproxy.so.*
%dir %{_libdir}/libproxy
%{_libdir}/libproxy/libpxbackend-1.0.so
%files bin
%{_bindir}/proxy
%{_mandir}/man8/proxy.8*
%files devel
%{_docdir}/libproxy-1.0/
%{_includedir}/libproxy/
%{_libdir}/libproxy.so
%{_libdir}/pkgconfig/libproxy-1.0.pc
%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
%changelog
%autochangelog

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (0.5.5.tar.gz) = 101139fe6972c9b8b46a8bc5f5cea807649ad21e201a9cd7d532d2145c34eadc861d8039fc8a2bf129f364ddc99ffb1324ab8f19bb0b4b9e52eb0f6bd703c8a8