mirror of
https://git.yoctoproject.org/poky
synced 2026-03-12 18:29:42 +01:00
apt: Do not use std::binary_function
This feature is removed from c++17 (From OE-Core rev: 7fcf108c4e115077cf01754c37bb8ce216c24dc8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
From e91fb0618ce0a5d42f239d0fca602544858f0819 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 16 Aug 2022 08:44:18 -0700
|
||||
Subject: [PATCH] Remove using std::binary_function
|
||||
|
||||
std::binary_function and std::unary_function are deprecated since c++11
|
||||
and removed in c++17, therefore remove it and use lambda functions to get same
|
||||
functionality implemented.
|
||||
|
||||
Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/253]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
ftparchive/apt-ftparchive.cc | 33 ++++++++++-----------------------
|
||||
1 file changed, 10 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc
|
||||
index 87ce9153c..56fdc2246 100644
|
||||
--- a/ftparchive/apt-ftparchive.cc
|
||||
+++ b/ftparchive/apt-ftparchive.cc
|
||||
@@ -48,6 +48,11 @@
|
||||
using namespace std;
|
||||
unsigned Quiet = 0;
|
||||
|
||||
+auto ContentsCompare = [](const auto &a, const auto &b) { return a.ContentsMTime < b.ContentsMTime; };
|
||||
+auto DBCompare = [](const auto &a, const auto &b) { return a.BinCacheDB < b.BinCacheDB; };
|
||||
+auto SrcDBCompare = [](const auto &a, const auto &b) { return a.SrcCacheDB < b.SrcCacheDB; };
|
||||
+
|
||||
+
|
||||
static struct timeval GetTimevalFromSteadyClock() /*{{{*/
|
||||
{
|
||||
auto const Time = std::chrono::steady_clock::now().time_since_epoch();
|
||||
@@ -116,24 +121,6 @@ struct PackageMap
|
||||
bool SrcDone;
|
||||
time_t ContentsMTime;
|
||||
|
||||
- struct ContentsCompare : public binary_function<PackageMap,PackageMap,bool>
|
||||
- {
|
||||
- inline bool operator() (const PackageMap &x,const PackageMap &y)
|
||||
- {return x.ContentsMTime < y.ContentsMTime;};
|
||||
- };
|
||||
-
|
||||
- struct DBCompare : public binary_function<PackageMap,PackageMap,bool>
|
||||
- {
|
||||
- inline bool operator() (const PackageMap &x,const PackageMap &y)
|
||||
- {return x.BinCacheDB < y.BinCacheDB;};
|
||||
- };
|
||||
-
|
||||
- struct SrcDBCompare : public binary_function<PackageMap,PackageMap,bool>
|
||||
- {
|
||||
- inline bool operator() (const PackageMap &x,const PackageMap &y)
|
||||
- {return x.SrcCacheDB < y.SrcCacheDB;};
|
||||
- };
|
||||
-
|
||||
void GetGeneral(Configuration &Setup,Configuration &Block);
|
||||
bool GenPackages(Configuration &Setup,struct CacheDB::Stats &Stats);
|
||||
bool GenSources(Configuration &Setup,struct CacheDB::Stats &Stats);
|
||||
@@ -869,7 +856,7 @@ static bool DoGenerateContents(Configuration &Setup,
|
||||
else
|
||||
I->ContentsMTime = A.st_mtime;
|
||||
}
|
||||
- stable_sort(PkgList.begin(),PkgList.end(),PackageMap::ContentsCompare());
|
||||
+ stable_sort(PkgList.begin(),PkgList.end(),ContentsCompare);
|
||||
|
||||
/* Now for Contents.. The process here is to do a make-like dependency
|
||||
check. Each contents file is verified to be newer than the package files
|
||||
@@ -941,8 +928,8 @@ static bool Generate(CommandLine &CmdL)
|
||||
LoadBinDir(PkgList,Setup);
|
||||
|
||||
// Sort by cache DB to improve IO locality.
|
||||
- stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
|
||||
- stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
|
||||
+ stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
|
||||
+ stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
|
||||
|
||||
// Generate packages
|
||||
if (_config->FindB("APT::FTPArchive::ContentsOnly", false) == false)
|
||||
@@ -993,8 +980,8 @@ static bool Clean(CommandLine &CmdL)
|
||||
LoadBinDir(PkgList,Setup);
|
||||
|
||||
// Sort by cache DB to improve IO locality.
|
||||
- stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
|
||||
- stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
|
||||
+ stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
|
||||
+ stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
|
||||
|
||||
string CacheDir = Setup.FindDir("Dir::CacheDir");
|
||||
|
||||
Reference in New Issue
Block a user