Smart upgrading algorithm

One of the known issues in I’ve been trying to address in Smart for a while is the freezing effect that happens when a very complex upgrading situation (such as a full distribution upgrade) results in a combinatory explosion due to the number of choices to be analysed. Unfortunately, I never had time to really put in practice a reasonable solution for the problem. At this point, the beauty of open source software starts to shine.

A few weeks ago, Eran Tromer got close to the project and started researching and discussing about the issue. Not only that, but he produced actual patches that change the algorithm to prune the search space and find resonable solutions in acceptable timings. These patches were applied into the development version, and included in release 0.50rc1.

The preliminary results are quite impressive. David Farning has tested Smart 0.50rc1 with Fedora in several situations, and reported:

fc4->fc5, fc4->fc6, fc4->devel, fc5->fc6, all calculate updates and upgrades in a few minutes on a vm with 512M, using standard repos + Freshrpms and Dries. Much quicker than with 0.42.

This is really awesome. Thanks Eran!

This entry was posted in Project, Python. Bookmark the permalink.

5 Responses to Smart upgrading algorithm

  1. Luca Ferrari says:

    I’m Luca Ferrari, the founder of FoXLinux
    i sent you an email few days ago but you didn’t send me a responde…

    In my site you can find the new project i’ve founded. I’ve just made an Qt interface for your great Smart… take a look… it is in an early stage but in a few days a will complete it….

    please of you read this, send me an email… thanks!

    bye bye!

    go on with smart…. it’s fantastic…


  2. Hello Luca,

    I’m looking forward to having a nice qt-based interface being available for Smart. Thanks for working on it!

  3. tabgal says:


    I thought there was an speed improvement between 0.39 and 0.42, apparently, not so :)

    Anyway, the biggest improvement in .42 for me has to be the channels remove-all :)

  4. Luca Ferrari says:

    You are welcome! The interface is quite complete…

  5. Luca Ferrari says:

    Hi Gustavo,
    i’ve send you my smart-0.50rc1 with qt interface, have you received?

Leave a Reply

Your email address will not be published. Required fields are marked *