/usr/share/doc/libcupt4-doc/examples/show-available/show-available.cpp is in libcupt4-doc 2.9.9.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | /**************************************************************************
* Copyright (C) 2015 by Eugene V. Lyubimkin *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License *
* (version 3 or above) as published by the Free Software Foundation. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU GPL *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA *
**************************************************************************/
/// prints all package versions available in the metadata cache
#include <cupt/config.hpp>
#include <cupt/cache.hpp>
#include <cupt/cache/binarypackage.hpp>
#include <algorithm>
#include <iostream>
using std::cout;
using std::make_shared;
int main()
{
cupt::Version::parseInfoOnly = false;
cupt::Version::parseRelations = false;
auto config = make_shared<cupt::Config>();
auto cache = make_shared<cupt::Cache>(config, false, true, false);
auto packageNames = cache->getBinaryPackageNames().asVector();
std::sort(packageNames.begin(), packageNames.end());
for (const auto& packageName: packageNames)
{
cout << packageName << ": [";
auto package = cache->getBinaryPackage(packageName);
size_t index = 0;
for (auto elem: cache->getSortedVersionsWithPriorities(package))
{
if (index++ > 0)
{
cout << ", ";
}
cout << elem.version->versionString;
}
cout << "]\n";
}
}
|