Compare commits

..

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

10 changed files with 378 additions and 246 deletions

12
.gitignore vendored
View File

@ -1,11 +1 @@
/libproxy-0.*.tar.gz SOURCES/0.4.15.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

1
.libproxy.metadata Normal file
View File

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

View File

@ -0,0 +1,41 @@
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

@ -0,0 +1,57 @@
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

@ -0,0 +1,93 @@
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';
}
}

23
SOURCES/proxy.1 Normal file
View File

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

View File

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

View File

@ -1,124 +0,0 @@
%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

View File

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