With the change to the new server infrastructure, we also changed the way developers can use dput to upload their source packages to the autobuilder. We created a special host named drop.maemo.org for uploads using dput (and scp). The uploading to Extras wiki page has been updated with the correct information. Short story: replace garage.maemo.org with drop.maemo.org and continue like before.
Another change we had to make was how packages are promoted from diablo Extras-devel to Extras. The old promoter was no longer suitable for the current setup and needed to go. Promotion now works the same way as it works for fremantle Extras-devel to Extras-testing (direct promotion). The package interface for diablo Extras-devel can be found here.
There are still a few features missing for the diablo part of the packages interface, but promotion should work. I'll add build logs and context sensitive searches at a later point.
Friday, January 29, 2010
Monday, January 18, 2010
Backwards compatibility broken PR1.1 SDK
I've been discussing this issue with some people before as hypothetical case, but now it seems that we run into it: Compiling and application against the PR1.1 SDK creates packages which can not be installed on earlier firmware releases.
In this case we have have a libosso version which is higher than the one in previous releases. As this dependency gets automatically added when compiling in the PR1.1 SDK this poses a problem.
The autobuilder uses the repository.maemo.org repository, so it automatically uses newer packages when they are available.
For Extras this means that install of an application which is compiled against the new SDK fails without any description we can expect an end-user to understand. This is something which should be prevented.
How can we work around this problem:
1: Only compile against the original SDK.
This prevents new features from ever be available to developers, but should work until there is real API/ABI breakage in a new firmware.
2: Use version specific repositories
This needs Application Manager support as we need to fetch from a separate repository every time. Also requires us to build against every sdk version known to man.
3: Depend on >= mp-fremantle-generic-pr | maemo-version
We would need a hack in the autobuilder to add depends to pr and maemo version. This way a user needs to upgrade to at least the required firmware image. I think this will make it easier for an end-user to understand what is happening.
We could, with help of the AM team, even detect in the AM that a firmware upgrade is required and give a the end user a nice warning/description.
Currently the AM doesn't have any means to detect which firmware version a package requires. Option 3 solve that issue at the same time.
If you have an alternative solution on how to go about fixing this
issue, then please let me know.
Discussions on the maemo-developers list or talk.
In this case we have have a libosso version which is higher than the one in previous releases. As this dependency gets automatically added when compiling in the PR1.1 SDK this poses a problem.
The autobuilder uses the repository.maemo.org repository, so it automatically uses newer packages when they are available.
For Extras this means that install of an application which is compiled against the new SDK fails without any description we can expect an end-user to understand. This is something which should be prevented.
How can we work around this problem:
1: Only compile against the original SDK.
This prevents new features from ever be available to developers, but should work until there is real API/ABI breakage in a new firmware.
2: Use version specific repositories
This needs Application Manager support as we need to fetch from a separate repository every time. Also requires us to build against every sdk version known to man.
3: Depend on >= mp-fremantle-generic-pr | maemo-version
We would need a hack in the autobuilder to add depends to pr and maemo version. This way a user needs to upgrade to at least the required firmware image. I think this will make it easier for an end-user to understand what is happening.
We could, with help of the AM team, even detect in the AM that a firmware upgrade is required and give a the end user a nice warning/description.
Currently the AM doesn't have any means to detect which firmware version a package requires. Option 3 solve that issue at the same time.
If you have an alternative solution on how to go about fixing this
issue, then please let me know.
Discussions on the maemo-developers list or talk.
Wednesday, October 7, 2009
Maemo 5 Downloads now available

For Maemo 5 applications which managed to reach the Extras repository through the community QA testing queue, maemo.org Downloads now has a home.
The Download catalog automatically imports all information for applications in Fremantle Extras. The only thing you need to add is a nice screenshot. (Or more if you want.)
There are quite some applications in the QA testing queue which are almost ready for promotion to Extras. We should see more entries after the Summit.
If you are coming to the Maemo Summit in Amsterdam, see you there!
Thursday, August 27, 2009
Proposal: XSBC-Bugtracker in debian package
While implementing the maemo.org packages interface, I wanted to add a link to the bugtracker for a package or project. Eventually integrating bug reporting/searching, but more on that later. As all information is gathered from the debian packages themselves, it would make sense to have the bugtracker URL available in the control file.
There doesn't seem to be a default field in debian control files for and URL of the bugtracker which the project is using. Therefor I want to propose introducing the XSBC-Bugtracker field.
XSBC-Bugtracker:
The URL of the bugtracker for this package, preferably (when applicable) the URL where you can directly file a bug. The content of this field is a simple URL without any surrounding characters such as <>.
Example:
XSBC-Bugtracker: https://bugs.maemo.org/enter_bug.cgi?product=Wormux
By putting the bugtracker URL inside the package, people always have a way to find out where to file bugs. This could even be used for filing bugs through an application interface or crash reporter in the future.
When this feature is accepted, it should be added to the Packaging Policy too.
Please let me know what you think. Discussion at talk.maemo.org.
There doesn't seem to be a default field in debian control files for and URL of the bugtracker which the project is using. Therefor I want to propose introducing the XSBC-Bugtracker field.
XSBC-Bugtracker:
The URL of the bugtracker for this package, preferably (when applicable) the URL where you can directly file a bug. The content of this field is a simple URL without any surrounding characters such as <>.
Example:
XSBC-Bugtracker: https://bugs.maemo.org/enter_bug.cgi?product=Wormux
By putting the bugtracker URL inside the package, people always have a way to find out where to file bugs. This could even be used for filing bugs through an application interface or crash reporter in the future.
When this feature is accepted, it should be added to the Packaging Policy too.
Please let me know what you think. Discussion at talk.maemo.org.
Wednesday, July 29, 2009
Fremantle maemo-select-menu-location change
While working on the maemo.org package interface, I noticed that quite a few package's developers didn't notice the changes in Fremantle regarding maemo-select-menu-location.Fremantle changes the way applications are visible in the menu. There are no sub menus like "Extra" or "Utility" anymore. All installed 3rd party software will be visible under "Applications" by default.
This means that maemo-select-menu-location is obsolete and has been removed from the SDK. More info about the removal can be found in this bug.
There are currently about 60 package instances in Fremantle Extras-devel that depend or pre-depend on this obsolete package. These packages can not be promoted to Extras-testing until their author updates the package.
Daniel has started working on a Porting to Fremantle QA wiki page, which should point out some changes needed when porting to Fremantle. I hope this will help developers with the problems they encounter for now.
Tuesday, July 14, 2009
Introducing maemo.org packages

Starting with Fremantle, packages can now be managed by developers through the maemo.org packages interface. Community testers can help in the QA process by testing applications in the queue and giving thumbs up/down for a package.
At the same time we open the extras-testing and extras repositories for Fremantle for promotion through the interface.
The interface has the following features:
- Package search
- Package listings per repository
- Only allow maintainers to promote a package
- Request package maintainership
- Automatic package maintainership assignment on first upload of a package
- Automatic dependency tree checking
- QA queue for testing repository
- Promotion unlock to stable (Extras) repository based on karma score
- Leaving comments when you encountered problems with a package
At this moment the interface is in beta testing mode, so please be aware that there might be some rough edges. Promotion will happen manually for the first few promotions, so we can make sure that everything is working. Feel free to file bugs in bugzilla, if you encounter any.
Improvements will come in the next few weeks. More integration with the autobuilder is already coming next week.
In a later post, I will discuss the new promotion process for Fremantle a bit more in depth. This is still something that needs to be refined a bit.
Monday, January 26, 2009
Improving maemo.org Downloads
As part of my tasks in the January 2009 Sprint for maemo.org, I want to gather improvement ideas for downloads.maemo.org. A list of improvements that I have come up with can be found at the wiki page. If you have ideas on how we can make Downloads work better for you or have some cool feature you want to have added, please add them to this wiki page.
At the end of this Sprint, I will pick some of the ideas to which I will commit for the next Sprint. Some items that have been added to the wiki page already are:
At the end of this Sprint, I will pick some of the ideas to which I will commit for the next Sprint. Some items that have been added to the wiki page already are:
Category reorg
We had long discussions about what packages categories to use. Implementation and deployment is currently blocked by bug #1805. The current catalog still shows a mostly randomly-selected list of categories. It should be reorganized to use the official list of categories agreed on by the community.OS200x vs Maemo x
In the past Nokia referred to OS releases OS2007, OS2008, etc. The use of OS200x has been deprecated in favor of Maemo x (e.g., Fremantle is Maemo 5). The catalog is currently organized by OS200x, this needs to be changed to the new versioning scheme.Automatically create entries in Downloads when package in Extras has user/* section
At the moment not all applications which are available in Extras are listed in Downloads. A script could gather basic information for all user applications in Extras and create entries in the catalog. These entries can later be updated by users to give more details about the application.Add Application Manager install failures feedback to downloads
There is a plan to integrate install status feedback into the Application Manager. Downloads could use statistics from installation failures to display the "quality" of a package.
Subscribe to:
Posts (Atom)