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 <[email protected]>.

    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.
--- 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);
     }
 
_______________________________________________
pld-devel-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl

Odpowiedź listem elektroniczym