December 29, 2009
Gandhi said one has to become the change that one desires. To enable a change towards more openness, and make community generated bug fixes and improvements available to everyone who wants them, I’ve set up a community repository for updates to software that is not being maintained by anyone else. This repository hopefully can show that we are a committed group who can manage our own software distribution system and work together.
The repo is not yet public. It is currently set up on the new hardware that Nokia has generously provided us. I am looking for brave testers and for packages that might be suitable to put in our community repo. The discussion that was held at the Maemo summit in Amsterdam spoke only about SSU updates and that is all I think is really appropriate at this time, regular packages should of course end up in the usual place: extras. This does not mean that we should limit ourselves to just SSUs, but let’s start there and see what else needs to be added.
I thought I would set up a thread on Talk -> Development where we can co-ordinate our work.
Hope to see you there!
December 4, 2009
This is a short article / post on installing Web::Simple on Debian’s testing version codenamed Squeeze.
Sometimes you may not need all the powerful tools that are bundled into Catalyst, the perl web framework. But you may want to use a module or two from the CPAN that you can be reasonably sure is tested and follows some best practices. Web::Simple might be that. It is written by notorious perl gadfly Matt Trout, and whatever one says about his profane grandeloquence, one must admit he writes valuable modules for perl. So let’s take it for a spin while noting that it is new so we oughtn’t complain too loudly if things break.
The first thing we need to do is to install Web::Simple and we’ll need to go to CPAN to get it since it is not packaged for debian. I just used cpan to install;
cpan -i Web::Simple
Now, lets test it out using the synopsis! One of the great advantages of perl is that there is often working code in the synopsis of a perl module on CPAN, I am just going to take the synopsis and put it into a file, chmod the file to 755, and run it. If I run it from the command line first, like this;
I get this message:
“No path passed – use ./web-simple / for root at
/usr/local/share/perl/5.10.1/Web/Simple/Application.pm line 249.”
So I re-run my program (web-simple) the way they recommend, with a “/” and viola, a 200 status message!
HTTP/1.1 200 OK
Date: Fri, 04 Dec 2009 11:41:57 GMT
Now this might not be useful enough to write a shopping cart, but it certainly is a handy module to sketch out ideas and make some prototypes without having to set up an entire Catalyst installation. Good stuff, thanks Matt!
October 16, 2009
I subscribe to the debian policy mailing list which often has some really interesting posts. This is one that I thought people would like to see, it needs wider distribution. The reason is that it is a pretty clear set of graphs showing how a package gets installed on debian and the consequences of installer scripts.
Go directly to the post by Manoj to read more about this. He is going to continue work on the graphs but in the state they are in now they are pretty useful to describe what happens.
September 17, 2009
While interesting articles from Reuters are one way to measure the hype around the new Maemo device, another way is to measure developer participation.
There is some data to go on, though a lot is anecdotal. Firstly, I think we have seen increased traffic on the IRC channel (irc.freenode.net #maemo) with lots of new users of various backgrounds. That is an easy thing to do, to show up on IRC and ask some questions, but there are other signs of increased developer interest. Firstly, we are seeing lots of new apps come into garage, Maemo’s development platform. That is a positive thing. Not only new applications, but applications that have been around for a while are returning as well. People are fixing bugs, uploading new packages, and generally getting their software ready to put on the devices.
Another significant measure is the traffic on the developer’s list. Already through the first two weeks of September, there has been more email to the list than any other month this year except for May. In May we had 430 emails to the developer list for the entire month; sin September we have had 381 emails to the list and the month is only half over.
So taking these little data points into account, I am willing to predict the platform is going to be a big success, maybe bigger than we imagined.
August 24, 2009
Benjamin Mako Hill has written a great deal on Ubuntu and Debian and has been around both projects for a while. I just discovered a new article written by him and Kyle Rankin called
Package Management in Ubuntu Server. It appears to be part of a book although I can’t tell which one.
At first it might seem pretty straight forward and something that many of the people who read Planet Maemo would know already, but once I got past the first page I saw that the authors went into some pretty good detail.
The site also has some other interesting articles for Ubuntu and Debian admins and users.
August 21, 2009
It’s a normal day, I am being bombarded by twitter, facebook, the intertubes, et. al. and I come across a tweet from @debian mentioning the new packages available from the last few weeks. I look at what has come into debian for something interesting and there is a lot, like an ofono package.
What catchse my eye is vala-terminal since vala is something I would like to learn more about. Clicking on the vala-link in the debian packages web interface shows another interesting link to some web site called freesmartphone.org. I click there to find that the same people behind the freesmartphone.org site have created a commercial entity that used to be funded by OpenMoko. So its good to see that the OpenMoko stuff has found its way into the community and that these tools are making there way into debian which is upstream for Maemo.
Things move so quickly nowadays, it’s just amazing to watch the ecosystem for free software expand.
July 24, 2009
On the debian developers mailing list madduck asked about various package checking tools in debian. The resulting discussion revealed how many tools there are in debian to check packages; tools like piuparts, PET, and packagecheck. In contrast to Maemo, debian hackers seemed to be obsessed with the quality of their packages. The mantra “Policy is your friend” is ubiquitous in debian.
I don’t want to place the differences between the two projects in a negative light since the goals are so different. Debian aims to be an easy to use operating system whereas Maemo is a device. Maemo developers often want the device to do cool things, for them packaging is an after-thought. This is why there is a maemo.org debmaster of course; to help developers with packaging and integrate into the operating system so they can focus on cool features and libraries.
Having a debian background I am constantly thinking about the overall system, trying to assure that packages install well, that things “just work” for users. This sometimes makes me wonder if I am doing everything I can for maemo developers and what is the most effective way to encourage best practices and assure quality. While I am excited by the work Niels has done with package promotion and the potential that maemian has, I feel there is more that one can do. While I am sure it is boring to many developers, packaging policy is critical for building the kind of tools that Niels has built. You need to know that the developer has submitted the right email address, declared the correct dependencies, etc. Policy truly is your friend.
I hope to get the chance to speak about packaging at the Maemo Summit, I have submitted a talk anyway, we’ll see if it gets accepted. I also would like to encourage developers who target the Maemo platform to think more about making life easier for their users – after all, it will bring you more users if you can easily install and use your application. I would also like to know more specifically where the pain is, what sucks about the QA process, what sucks about packaging (aside from having to do it at all. ) Let’s make packaging policy a tool to make everyone’s life easier.
May 22, 2009
This post is an introduction to some of the higher level concepts of packaging, more about the whys than the hows. I plan to start a series of posts on the anatomy of your average deb for Maemo, but before that I wanted to go through some of the reasons for packaging so that the details fit into a larger purpose. That purpose is simply to make life easier for your users by doing the hard work for them.
The hard work is compiling, determining dependencies, and building for the chip architecture of your software. All this stuff is quite esoteric to the average user – they just want to know: how do I install? Does it work with my tablet? With packaging we can answer in the affirmative the latter question and we can make install painless. That makes users of your software happy and more likely to use it.
Debian has as part of its mission the goal of putting users first, this makes Nokia’s choices of debian as an operating system fortuitous. Debian has worked really hard at making software easy to install and their success has made it one of the most popular linux distros out there. Debian’s user-centric focus created the APT (Advanced Packaging Tool) system, with apt-get and aptitude, which Maemo has inherited. This means that maemo packages can take advantage of all the well tested debian tools and the infrastructure which debian has built.
Building packages correctly allows you to insert software onto a variety of architectures, Maemo supports two and Debian supports at least eight.
Packaging has some fringe benefits as well, it forces a certain amount of discipline upon the developer and alerts them to the needs of their users. This is unfortunately something that we as programmers forget to do – to put the user at the center of the experience. Software should be written with users and usability in mind, otherwise no matter how good it is, no one will use it. Packaging helps to enforce best practices which make the installation and upgrade of software standardized. By standardizing distribution of software we are realizing the spirit of the GPL and bringing some pretty amazing technology to everyone, not just the alpha geeks who know their way around a C compiler.
Quick recap: Packaging allow us to
- Build software for numerous architectures
- Make software easy to install
- Follow best practices in the development and distribution of software
So that is the point of packaging; to make software easy to install. It’s good to remember this when you are jumping through the hoops of dpkg and its various tools.
May 14, 2009
I wanted to do a quick blog post with some resources for packaging python apps for Maemo. The resources I’ll post here are going to be debian related since maemo packages are based on debian packages. Later on I’ll go into more detail on the differences between debian python packages and maemo python packages, but I think you’ll find these resources to be useful for getting started or for tracking down a problem in your python app’s deb.
The first resource is a link to the debian wiki entry for the Python Modules Team;
These folks package a lot of python modules for debian, so their documentation will be pretty authoritative and looking at their packages will probably teach you a lot.
The next link is to the Python policy. Boring I know, but you will be directed there for answers to various questions, so you might as well have a handy link to it.
Here is an interesting and pretty darn good screencast and tutorial showing how to package a simple python application as a deb on Ubuntu!
Ubuntu also has a Packaging guide which might be useful, I haven’t read all of it and it is more general than just python programming.
Hopefully that is enough to get started. I hope for follow up with more info on packaging python apps for maemo and for debian.
May 12, 2009
Nokia announced on a Maemo developers list that together with Intel that they have released a platform for “building mobile telephony (GSM/UMTS) applications.” The code is under the GPL2 license, so it is free software.
This is really exciting. Now I want someone to run out an build a web to sms gateway.