Thursday, September 1, 2011

Why is the packaging process so broken?!?

For those that do not know, I develop software for the Mythbuntu project. Over the past couple of Ubuntu releases I have been working on Mythbuntu-bare, a backup and restore utility for MythTV systems. I have been slowly adding functionality to this software which was included with the mythbuntu-common package, but due to the growing complexity of the software and size I decided it was time to move it from the mythbuntu-common package into its own set of packages. This is where my issues began.

I originally uploaded the new package to REVU (the process for getting packages into the repository) on July 19th, 2011. Feature freeze was on August 11th, 2011 so this should have been plenty of time to get the package reviewed. At the time I knew of one member of the Mythbuntu team that could review the software, and I worked with him to make sure everything was packaged correctly. Once everything was fixed I started asking for a second review in the #ubuntu-motu IRC channel, as each package needs to pass two reviews in order to be uploaded to the archive. At this point I had about 1-2 weeks left until feature freeze. Every few days I would ask in the channel without getting much of any assistance, although I was told I needed to file a needs packaging bug, which I promptly did and subscribed the requested team. However this did not seem to help much. At the beginning of August another member of the Mythbuntu team stepped forward and was able to give me the second review I needed, after a few additional changes. On August 11th (yes the day of feature freeze), my software was uploaded to what I believed to be the archive.

On Friday, August 19th, I received an email from a Canonical employee stating that my package was being rejected (with a list of reasons) and that I should feel free to adjust the package and reupload. The reasons listed in the email are either very minor issues (optionally need fixed) or do not apply to my package. I happened to be at the end of a week long vacation at this time, but fired off a reply 12 hours after receiving the email and explained why each one of the list items did not apply. Although just yesterday I tracked down the Canonical employee on IRC and they said I would get a reply that day, I still have not received that a reply.

At this point I wonder what else I could have done. I submitted my package to the REVU process with plenty of time before feature freeze. I pleaded for it to be reviewed by a MOTU in the #ubuntu-motu channel, but had to bug people I know to get it reviewed in time before feature freeze. Then even after following these rules and fixing my packaging when told to do so, it still gets rejected by an archive admin. Do that admins not trust the MOTUs to review software? If so, why is the REVU process in place? I am starting to understand why there is a lot of software that is not packaged, as the REVU process seems to just be a way to discourage people from packaging things. I will be the first to admit that I am not the best programmer, but this process seems asinine. No matter how many hoops I seem to jump though there is always one more, and nobody will answer my questions about these hoops. As Ubuntu 11.10 Beta was just released, I believe the window to get this software into 11.10 has passed.

Maybe I am wrong and I just don't understand the big picture behind why Ubuntu needs all these levels to get though just to get software into the archive. After this process, I just don't care anymore. I just want to write software.

Tuesday, July 5, 2011

Mythbuntu/MythTV updates (or I want to upgrade the distro to get the latest version of MythTV)

From time to time I have seen questions about how to upgrade to the latest version of (Myth)buntu. Reasons I hear when asking why do you want to upgrade.
  • "I want to upgrade to the latest version of MythTV"
    • This is a valid concern as new versions of MythTV often have quite a few bug fixes as well as some awesome new features. Upgrading the distribution is not necessary though as the Mythbuntu team provides a PPA with frequent builds of the latest version of MythTV, available for previous releases of (Myth)buntu.
  • "I need a newer build of MythTV to fix (bug#)
    • Again a valid concern, but one that is easily resolved by the previously mentioned PPA.
  • "The latest version of Ubuntu has (FeatureX) that I heard was awesome"
    • Mythbuntu (and most Ubuntu+MythTV systems) run slimmed down versions of the OS. This makes the installation footprint smaller and is lighter on system resources. Unless the new distribution release is adding support for new hardware there usually isn't a need to upgrade. 
  • "Ubuntu just released the latest version, so I must upgrade."
    • People tend to want DVR's that aren't a lot of upkeep, so this one baffles me. Upgrading the OS is a lot more work than keeping specific packages up to date. 
Let me be clear when I reiterate an old saying.

If it isn't broke, don't fix it.

Why not upgrade? Upgrading the entire OS is a large and fairly involved process that can occasionally cause some breakage. Unless the reason to upgrade is to fix a known issue outside of MythTV (and you haven't already deployed a workaround) it is much easier to upgrade just the MythTV packages through other means.

My Recommendations
My recommendation is instead of upgrading the entire OS, use a long term supported (LTS) OS and just upgrade the packages. Stick with an LTS release (such as 10.04) and then either clean install or upgrade only to LTS releases. Keep the MythTV software up to date using the Mythbuntu-repos package to activate the MythTV updates PPA and get bug fixes and new MythTV releases via regular system updates.

For LTS releases, new MythTV releases are provided by the Mythbuntu team for each LTS release up until the next LTS release. This means if 10.04 shipped with MythTV 0.23 and MythTV 0.27 doesn't get released until June 2012 that 10.04 would have received MythTV builds for each MythTV release (0.23, 0.24, 0.25, and 0.26) via the MythTV-updates PPA. The builds in this PPA are built frequently from the corresponding upstream MythTV fixes branch, so even if your distribution released with the current version of MythTV, it is beneficial to use the MythTV-updates PPA to get bug fixes.

Wednesday, June 29, 2011

Google Plus!

Finally a social network backed by a big company and already has enough users that it can be considered an alternative to Facebook. I've been waiting for this for a long time and it has everything I want. Great features such as Circles, Photos and a Home page, along with lesser known features like Profiles, Hangouts and Sparks. It's got a plain white background with some paint on it and some videos showing some other stuff happening. Even though it has all of that, I must say that my favorite feature is:

Oops... you need a Google profile to use this feature.
Google Profiles is not available for your organization.

Fail. As you may have figured out by now, I can't actually use Google Plus. This is unfortunate as I am pretty pro-Google and anti-Facebook (I did have a Facebook account at one time and deleted it). You see, I made the mistake (as many others have) of buying into the idea that Google Apps is a good thing (you know, tying all of my Google services to my own domain and administering it for multiple users). Unfortunately Google Profiles aren't available for Google Apps accounts, and it doesn't look like it's coming in the near future. Oh sure, we were told just yesterday that it should be available in the coming months, but we were also told at the end of March that it would be a few weeks. Maybe it's my fault for having the crazy idea of wanting my own domain and to have all of my families Google accounts administered from a single place.

My only hope is that since Google bonuses are tied to social that it might light a fire for someone to get it to the Google Apps users. I won't be holding my breath though. I guess it just gives me more time to work on Mythbuntu stuff instead of ogling the latest Google feature.


Friday, June 3, 2011

Hello there Planet Ubuntu!

<insert customary first Planet Ubuntu post>

Hello everyone! For those that don't know me my name is Thomas Mashos, I live in Salem, OR, USA and I work on the Mythbuntu project. For those that do know me yes, I do know I've been a Ubuntu member for over 2 years and have just gotten around to starting a blog and adding it to Planet Ubuntu. What can I say, I've been busy :)

I'm super involved in the Mythbuntu project so this blog will probably have more of my Mythbuntu stuff than anything else. If you want to get involved in this project drop me a comment. ( Note: You don't have to know how to code to contribute )

Wednesday, June 1, 2011

New Blog!

I've always thought it would be pretty neat to have my own domain name and control my own website and email addresses. While it is cheap enough for anyone to do so my attempts in the past have been short lived. I never really liked the domain names I had chosen, and the ones I had wanted were always already taken. Until yesterday.

With how easy it is to have a blog and not have to rent and maintain the server, I finally decided to bite the bullet and have a web presence beyond my work on Ubuntu/Mythbuntu. I had previously looked into purchasing (my last name) and every time found it was already owned by someone else (presumably so they could do some sort of 'Mash OS'). This time was no different except that I decided to do something about it. I contacted the previous owner of this domain to see if they would be willing to give it up. Luckily for me he was (he even looked me up on Launchpad as we both have accounts there). This nice chap gave me the domain for free and it was all transfered over in a matter of hours.

I'm currently in the process of setting everything up. In the next couple of days I'll be migrating over what I can to my new Google Apps account and be using my new email address for everything. I'll add this blog to Planet Ubuntu as well (I've been a member since March 2009). It will be a pain for a bit, but should be the last time I ever have to change any of this.