PIFile::readAll release

patch deploy_tool: ignore libc.so and take last dpkg dependency instead of first
This commit is contained in:
2025-09-05 21:46:44 +03:00
parent 91144ad338
commit a299ada873
5 changed files with 26 additions and 41 deletions

View File

@@ -463,11 +463,14 @@ bool procDpkg(const PIString & l) {
fi.path = l;
PIString cmd = dpkg + dpkgdir + " -S " + fi.name() + ign_err_suffix;
// PICout(true) << cmd;
PIString vs = execute(cmd);
PIString vs = execute(cmd).trim();
if (!vs.isEmpty()) {
vs = vs.left(vs.find(":"));
if (!vs.isEmpty() && !vs.endsWith("-cross")) all_deps << vs;
return true;
PIStringList lines = vs.split('\n').reverse();
for (auto l: lines) {
l = l.left(l.find(":"));
if (!l.isEmpty() && !l.endsWith("-cross")) all_deps << vs;
return true;
}
}
// piCout << "No dep on" << l;
return false;
@@ -787,7 +790,16 @@ int main(int argc, char * argv[]) {
out_dir.replaceAll("/", "\\");
#endif
PIVector<PIString> clibs = all_libs.toVector();
static PIStringList ignore_libs({"libc.so"});
for (auto l: clibs) {
bool ignore_lib = false;
for (auto il: ignore_libs) {
if (l.startsWith(il)) {
ignore_lib = true;
break;
}
}
if (ignore_lib) continue;
PIFile::FileInfo fi;
fi.path = l;
#ifdef WINDOWS