Sypiący się poldek 0.30-0.rc1.5

Adam Osuchowski adwol at zonk.pl
Sun Dec 5 05:03:25 CET 2010


Od jakiegoś czasu mam problem z poldkiem. Sypie się przy komendzie `freshen'
bez parametru --greedy:

    poldek:/all-avail> freshen -t b*
    Processing dependencies...
    boost-program_options-1.42.0-2.x86_64 obsoleted by boost-program_options-1.44.0-1.x86_64
    Something wrong, something not quite right with 0.30 (beta)
    Assertion 'message' failed, requirements.c:349
    Please report this bug to <mis w pld-linux.org>.

    Aborted

Obejrzałem źródła w okolicy problematycznego miejsca i wygląda na to, że
istnieją przypadki, że w funkcji try_to_upgrade_orphan() zmienna lokalna
message jest równa NULL, a asercja wymaga, żeby coś zawierała.
Założyłem, że w przypadku braku wartości zmiennej message, po prostu nie
trzeba jej wypisywać (podobnie jak kilka linii wyżej). Patch w załączniku.
-------------- następna część ---------
--- poldek-0.30/install3/requirements.c.orig	2010-12-05 04:49:09.955189580 +0100
+++ poldek-0.30/install3/requirements.c	2010-12-05 04:50:43.357199418 +0100
@@ -346,8 +346,8 @@
     } else {
         struct i3pkg *i3tomark = i3pkg_new(sucpkg, 0, pkg, req, I3PKGBY_GREEDY);
 
-        n_assert(message);
-        tracef(indent, "- %s: upgrading orphan (%s)", pkg_id(sucpkg), message);
+        tracef(indent, "- %s: upgrading orphan%s%s%s", pkg_id(sucpkg),
+               message ? " (":"", message ? message:"", message ? ")":"");
         i3_process_package(indent, ictx, i3tomark);
     }
 


More information about the pld-devel-pl mailing list