/sbin/ldconfig a nowy rpm
Jakub Bogusz
qboosh w pld-linux.org
Pią, 22 Sie 2003, 17:05:46 CEST
Ale jaja... rpm próbuje być za mądry - i mu to nie wychodzi.
Fragment kodu z rpm/lib/psm.c:
[...]
static const char * ldconfig_path = "/sbin/ldconfig";
[...]
/*
* If a successor node, and ldconfig was just run, don't bother.
*/
if (ldconfig_path && progArgv && psm->unorderedSuccessor) {
if (ldconfig_done && !strcmp(progArgv[0], ldconfig_path)) {
rpmMessage(RPMMESS_DEBUG,
_("%s: %s(%s-%s-%s) skipping redundant \"%s\".\n"),
psm->stepName, tag2sln(psm->scriptTag), n, v, r,
progArgv[0]);
return rc;
}
}
[...]
if (!progArgv) {
[...]
} else {
argv = alloca((progArgc + 4) * sizeof(*argv));
memcpy(argv, progArgv, progArgc * sizeof(*argv));
argc = progArgc;
ldconfig_done = (ldconfig_path && !strcmp(argv[0], ldconfig_path)
? 1 : 0);
}
[...i jeszcze kawałek dalej, sprawdzanie w treści skryptu]
Coś mu to przewidywanie nie wychodzi - i jeśli w jednym przebiegu
instalujemy kilka pakietów z bibliotekami, to ldconfig zostanie
uruchomiony tylko dla pierwszego z nich - dla bibliotek z następnych
pakietów symlinki już się nie utworzą...
(adgor: to była przyczyna tego przypadku z KDE!)
Ktoś ma pomysł jak to poprawić (żeby wywoływał ldconfig przy ostatnim
pakiecie, nie pierwszym?), czy wyciąć?
--
Jakub Bogusz http://cyber.cs.net.pl/~qboosh/
Więcej informacji o liście dyskusyjnej pld-devel-pl