Fedora 19 released

Fedora 19 has been released a few hours ago.  This is one of the most interesting releases, feature-wise, for me personally.  Have a look at the announcement, and scroll through the full list of features that made it through.  Here is what I’m going to be looking at first thing tomorrow:

  • MATE Desktop 1.6.  After numerous switches from Gnome to KDE and back, MATE is now my desktop of choice, both at work and home.  Hopefully new version will fix a few minor glitches that I’ve noticed.
  • Developers Assistance.  Not that I need it for my own projects, but it might be useful for bringing more standardization to the office.
  • PHP 5.5.  The latest and the greatest version of the programming language I use on a daily basis.
  • Node.js and npm package manager.  It’s been long overdue.  Node.js is extremely popular these days and having it as part of the standard distribution is mighty useful.  Finally, Fedora users can take advantage of all those numerous projects on GitHub without any additional installation headache.
  • BIND10.  This has been a complete rewrite, and it now includes both DNS and DHCP. That’s interesting.  And probably not too backward compatible. We’ll see.

Yet again huge thanks to everyone who made this release possible.   You guys are awesome, no matter how much or how little ranting will come in the next few days.

The future of package management in Fedora

The future of package management in Fedora

It’s nice to see there is hope for a better package management in Fedora…

  • YUM upstream will soon be considered deprecated, and we will move into a DNF/hawkey/librepo-based future. This includes PackageKit. I’m going to be building a hawkey based backend with help from the maintainer, and he is is aware of what PK does and any unusual tasks that are performance critical.
  • We should keep old versions of metadata on the server to stop metadata refresh explosions happening where yesterdays primary gets updated because a transaction only has todays filelists installed. This will significantly reduce the amount of bandwidth used by the metadata updates.
  • We should keep old versions of packages on the mirrors, to avoid the case where we depsolve fine, get 404 on the package download and then have to re-download MD, depsolve, etc. YUM apparently has issues with multiple versions of a package being present in the metadata, so we should probably only reference the latest packages in the MD (which also keeps the MD to sane size).
  • We should ship the per-arch solv files in the repo MD. This avoids SAT solutions like libsolv from spending 20 seconds+ per repo rebuilding .solv files from sqlite or xml metadata, and allows us to kill the dnf cron job
  • We should teach rpm to update it’s own SAT database, which we can do with an RPM plugin.
  • We want a software center, and fedora-tagger can provide the ratings/comments information. We might need an OCS server for screenshots, or can tie in screenshots with automated QA somehow.
  • We are going to teach koji about appstream data, so a simple extract script (to be written by me) can produce a .tar file of icons and a .xml file of translated descriptions at the end of each koji build
  • We are going to teach the compose tools to xmlmerge all the appstream .xml files and ship as appstream.xml
  • We are going to teach the compose tools to join all the tar files and ship as appstream-data.tar.gz
  • We are going to investigate the use of meta-desktop files to install a super-set of applications, e.g. KDE, or “Python developer” which allows for screenshots, ratings and all that stuff.

Fedora for short-lifespan server instances

Fedora for short-lifespan server instances

Let’s come back to the odd fact that Fedora is both a precursor to RHEL, and yet almost never used in production as a server OS. I think this is going to change. In a world where instances are deployed constantly, instances are born and die but the herd lives on. Once everyone has their infrastructure encoded into a configuration management system, Fedora’s short release cycle becomes much less of a burden. If I have service foo deployed on a Fedora X instance, I willnever be upgrading that instance. Instead I’ll be provisioning a new Fedora X+1 instance to run the foo service, start it, and throw the old instance in the proverbial bitbucket once the new one works.

Via LWN.

Fedora 19 alpha is a Go

Fedora 19 alpha version will be released next Tuesday.  I’ve been busy with other things recently, so that was a surprising announcement for me. Is it that time of the year again?  Apparently.  We are still a good three month away from the final release, but it’s still good to hear that there is progress.  Looking over the features for this release, I find these interesting:

  • Bind 10 – completely rewritten from scratch, and bringing both DNS and DHCP in one handy package.
  • Developers Assistant – the description is rather vague, but overall it sounds useful.
  • KScreen – finally I won’t have to reconfigure the second monitor every time I reboot the laptop.
  • MATE Desktop – I loved Gnome 2.  If Gnome 3 and KDE 4 won’t get significantly better by the time of the release, I will probably switch to MATE.
  • Node.js – I wanted to play around with it for a while now, but never got the time to get it on my box.  Maybe now I will.
  • PHP 5.5 – new PHP is better PHP.
  • Replace MySQL with MariaDB – that’s an interesting move. I wonder how much trouble this will create with MySQL still being on the servers.
  • Ruby 2.0 – Similar to Node.js, this just makes it so much easier to try new things.

So, this looks like a busy release.