Putting the mugshot client in fedora-extras

Owen Taylor otaylor at redhat.com
Sat Oct 21 17:27:33 UTC 2006


So, for a while we've been thinking about adding the client software
for Mugshot (http://mugshot.org) to fedora-extras. Both the client
and server are GPL software, so the client is definitely within the
scope of fedora-extras. We see various advantages to us and our users
from having it there:

 - Building our Fedora Core packages within a real build system, rather
   than on an ad-hoc basis.

 - Providing packages for multiple architectures.

 - Providing packages for multiple distributions (the client requires
   firefox-devel or hacks to build, so right now FC6 is the only target,
   but FC7 will be along soon enough.)
   
*however* - updates are more of a challenge, because we're still
changing things rapidly and the client software is tightly coupled to
the server software; when we add new features, there is often both a
client part and a server part. 

The way handle this currently is that when the client connects to the
server, it queries the server for the current client version, and 
when appropriate, offers the user a chance to download a new RPM and
install it via system-install-packages.

If we put the client software into the FE build system before the
corresponding server version is pushed to the production servers, then
some users would get upgraded via yum to the new client software before
the push of the server software. Since the server backend for new
client features isn't there yet, the client will likely misbehave
in weird ways.

On the other hand, if we wait until after the server push to put the
software into the build system, there will a considerable lag before
the new client versions are available; we won't be able to offer our
users an immediate upgrade to the new version. This is a bit better
than the previous situation ... we try to make old clients work with
new servers, but still the user experience isn't what we want.

Some ideas that occur to me for handling the situation:

 - We could try to time the server push to coincide with when the
   packages appear in the fedora-extras - that is, we get the
   client ready, we get the server ready, we put the client version
   into the build system, and we sit on our browsers reload button,
   and when the software appears on download.fedora.redhat.com,
   we do the server upgrade.

   (There is an obvious conceptual problem here that this only works
   when there is one such build system - we couldn't do it for both
   Fedora Extras and Ubuntu Universe, say!)
  
   Does the daily update of the repository occur at a predictable
   time?

 - If we could simply get the mugshot client excluded from the 
   creation of the fedora-extras yum repository metadata, then we 
   could build packages ahead of time, and later offer them through our
   current upgrade process. (or through our own yum repository.)

   Would it be completely ridiculous to ask that createrepo be run 
   for the FE repository with --exclude=mugshot* ?

Do people have other ideas about how it could work?

Thanks!
					- Owen





More information about the fedora-extras-list mailing list