Mailinglist Archive: opensuse (3337 mails)

< Previous Next >
Re: [opensuse] openSUSE @ Google Summer of Code 2006
  • From: Pascal Bleser <pascal.bleser@xxxxxxxxx>
  • Date: Fri, 28 Apr 2006 12:54:09 +0200
  • Message-id: <4451F451.3050604@xxxxxxxxx>
Christoph Thiel wrote:
> On Thu, 27 Apr 2006, Christoph Thiel wrote:
>> openSUSE has just been accepted at Google Summer of Code 2006!
> ...
>> We are now looking for ideas, proposals, projects, etc. around openSUSE
>> and SUSE Linux, that could be worked on in Google Summer of Code. As the
>> period of application for SoC is already very short, we need to get our
>> proposals for project online May 1st, 2006, at the latest.
>> So, for example, if you are missing a certain YaST module, or a special
>> feature in the distribution, speak up now!
> I know quite some people are using the SMART Package Manager these days:
> So, I'm going to propose some extensions to SMART to handle the new
> rpm-md+ based update channels for SUSE Linux, including deltarpm support,
> etc. Maybe a QT GUI for SMART would be a nice feature as well, eh? Is
> there anything else that you are missing in SMART that could be addressed
> by a SoC project?

I was about to mention that ;)

Maybe a YaST2 module frontend for Smart ? i.e. "Software Management
(that works)" ? ;P

Smart is 100% Python and well written, I think it should be an
attractive project.

What about a "software central" application like I mentioned once, in
Python, based on the Smart engine ?
A single view that would display
- new security updates
- new packages from configured channels (including 3rd party, of course)
- updates to installed packages
- single-click installation/upgrade
- possibly even downgrading to older versions from the UI

The Smart engine could be used as an operating core for that, as it
already provides all the operations for managing channels, refreshing
channels, getting potential upgrades, and of course performing
installation/removal/upgrade of packages with an excellent dependency


1) coding the UI (either PyGTK or PyQT, or even both.. or... hmm.. a
web interface ? (there are embeddable lightweight webservers for
Python), a YaST2 module ? a Jabber bot ? ;)

2) adding some stuff to Smart itself, i.e. some history management
(e.g. for new packages that have shown up after each channel update:
smart reports that data when you do "smart update" (= re-fetches and
updates the repository metadata, it does *not* perform a package
upgrade) but doesn't keep history of that information)

3) possibly enhancing rpm-md with even more metadata, e.g. such as
- links to screenshots that would be embedded in the view (à la,
- quality/stability labels (whether a given release of a package is
"stable", "testing" or "experimental", or something similar) and
giving the end-user the choice to install/upgrade to the latest stable
or to the latest bleeding-edge version of a package (and do that per
package or package sets), e.g. I want the latest stable KDE version
but I want the latest bleeding-edge version of GIMP

... endless possibilities (such as push-based package management for
remote nodes) ;)

The advantages of smart:
- pure Python
- already supports a large number of repository formats
- doesn't rely on any dependencies except Python (obviously), and
rpm-python for RPM-based distributions
- already supports mirrors
- has the best dependency resolver of all package management frontends
- is biarch-capable
- works on RPM and Debian/dpkg based distributions (even seems that
Ubuntu will switch to smart)
- the code is pretty clean and well-structured (definitely when
comparing to yum or rpm)
- the maintainer (Gustavo Niemeyer) is very experienced (he was the
maintainer of apt-rpm and implemented a lot of synaptic) and very friendly

As far as business value is concerned and in case you wondered "why
should Novell support the development of a cross-distribution killer
application like this that would be better than YaST2", I think that
the added value of YaST2 is not in the package manager, but in the
other configuration modules and in the installer.

-o) Pascal Bleser
/\\ <pascal.bleser@xxxxxxxxx> <guru@xxxxxxxxxxx>
_\_v FOSDEM 2006 -- 25+26 February 2006 in Brussels

< Previous Next >