<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2839380439558071504</id><updated>2011-10-21T22:27:55.127+01:00</updated><category term='MeeGo'/><category term='GrandCentral'/><category term='scratchbox'/><category term='git'/><category term='OBS'/><category term='Privilege'/><category term='N900'/><category term='UML2Tools'/><category term='DRM'/><category term='OviMustImprove'/><category term='gitorious'/><category term='qemu'/><category term='UML'/><category term='Security'/><category term='Summit'/><category term='Android'/><category term='PUSH'/><category term='kerberos'/><category term='OSS'/><category term='Maemo'/><category term='Mer'/><title type='text'>Come on in...</title><subtitle type='html'>Developing for MeeGo, Mer, Maemo and other OSS systems</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>30</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-4312226071352247184</id><published>2011-08-07T00:10:00.000+01:00</published><updated>2011-08-07T00:10:11.318+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MeeGo'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><title type='text'>Restructure MeeGo : By Installments</title><content type='html'>I've just published a series of articles that reflect my thoughts on&lt;br /&gt;improving MeeGo and setting some directon. This outline should help navigate.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;dt&gt; &lt;a href="http://mer-l-in.blogspot.com/2011/08/restructuring-meego-executive-summary.html "&gt;Restructuring MeeGo : Executive Summary&lt;/a&gt;&lt;br /&gt;&lt;dd&gt; Where should MeeGo be targeted?&lt;br /&gt;&lt;br /&gt;&lt;dt&gt; &lt;a href="http://mer-l-in.blogspot.com/2011/08/meego-core-focus.html "&gt;MeeGo Core : focus&lt;/a&gt;&lt;br /&gt;&lt;dd&gt; What should MeeGo Core be delivering?&lt;br /&gt;&lt;br /&gt;&lt;dt&gt; &lt;a href="http://mer-l-in.blogspot.com/2011/08/meego-systems-and-processes.html "&gt;MeeGo: Systems and Processes&lt;/a&gt;&lt;br /&gt;&lt;dd&gt; What else should MeeGo be delivering?&lt;br /&gt;&lt;br /&gt;&lt;dt&gt; &lt;a href="http://mer-l-in.blogspot.com/2011/08/meego-evaluating-meego.html "&gt;MeeGo : Evaluating MeeGo&lt;/a&gt;&lt;br /&gt;&lt;dd&gt; How do we support MeeGo evangelists?&lt;br /&gt;&lt;br /&gt;&lt;dt&gt; &lt;a href="http://mer-l-in.blogspot.com/2011/08/meego-lead-by-example.html "&gt;MeeGo : Lead by example&lt;/a&gt;&lt;br /&gt;&lt;dd&gt; How we should walk in our customers shoes.&lt;br /&gt;&lt;br /&gt;&lt;dt&gt; &lt;a href="http://mer-l-in.blogspot.com/2011/08/meego-and-hacker-community.html "&gt;MeeGo and the hacker community&lt;/a&gt;&lt;br /&gt;&lt;dd&gt; How do we embrace the hacker community?&lt;br /&gt;&lt;br /&gt;&lt;dt&gt; &lt;a href="http://mer-l-in.blogspot.com/2011/08/meego-infrastructure.html "&gt;MeeGo : Infrastructure&lt;/a&gt;&lt;br /&gt;&lt;dd&gt; Pragmatics... what services should we run?&lt;br /&gt;&lt;br /&gt;&lt;dt&gt; &lt;a href="http://mer-l-in.blogspot.com/2011/08/meego-restructured.html "&gt;MeeGo :Restructured&lt;/a&gt;&lt;br /&gt;&lt;dd&gt; How could we approach this?&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-4312226071352247184?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/4312226071352247184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/restructure-meego-by-installments.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/4312226071352247184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/4312226071352247184'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/restructure-meego-by-installments.html' title='Restructure MeeGo : By Installments'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-83216438111804845</id><published>2011-08-03T13:33:00.001+01:00</published><updated>2011-08-04T10:25:56.068+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MeeGo'/><title type='text'>MeeGo :Restructured</title><content type='html'>Of all these posts this one is the biggest strawman. It is not a concrete proposal... more an exploration of possible structures.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Development and Maintainance Projects.&lt;/h2&gt;&lt;br /&gt;(note ... the term "native packages" is explained at the bottom)&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Core&lt;/h3&gt;&lt;br /&gt;Packages needed to create a MeeGo image that boots to a bare X/Wayland screen (with no applications) on a reference device (eg ExoPC). Middleware packages driven by the IVI, Tablet and Handset verticals are in the scope of Core. Reference UXes are not.&lt;br /&gt;&lt;br /&gt;Focus is on providing a minimal set of packages to allow a product be built upon.  Everything required for compliance and very little more.&lt;br /&gt;&lt;br /&gt;"I can build a compliant product from the source released from this area."&lt;br /&gt;&lt;br /&gt;Question: How to manage the reference device Hardware Adaptation (HA) without giving special treatment?&lt;br /&gt;&lt;br /&gt;Primarily a maintenance project with few native packages.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Tools, build-root and toolchain&lt;/h3&gt;&lt;br /&gt;Packages needed by developers to compile and create MeeGo images: gcc, spectacle, gdb, make etc.&lt;br /&gt;&lt;br /&gt;Note that some tools like mic2 that need to be supported on non-MeeGo platforms (SuSE, Debian, RHEL/Fedora, Ubuntu etc) may be better placed in the 'External Tools' project.&lt;br /&gt;&lt;br /&gt;Primarily a maintenance project with few native packages.&lt;br /&gt;&lt;br /&gt;Tied tightly to Core release schedules.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Distro : Apps + Surrounds == "MeeGo, the distro"&lt;/h3&gt;&lt;br /&gt;MeeGo isn't a distro - but for the convenience of the hacking community of users on MeeGo devices it should have one. This area provides packages for apps and upstream libraries required to support them like emacs, vim, python etc. It would  be made up from Apps and Surrounds. MeeGo should be the reference to be developing on for MeeGo&lt;br /&gt;&lt;br /&gt;Surrounds is primarily a maintenance project with few native packages. Very similar to typical distros.&lt;br /&gt;&lt;br /&gt;Apps is primarily a development project with native packages.&lt;br /&gt;&lt;br /&gt;Related to Core releases.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;SDK&lt;/h3&gt;&lt;br /&gt;Packages needed to develop Apps for MeeGo.&lt;br /&gt;&lt;br /&gt;Primarily a development project with native packages.&lt;br /&gt;&lt;br /&gt;Related to Core release schedules.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;External Tools and Systems&lt;/h3&gt;&lt;br /&gt;Packages, documentation and IT information for build and deployment systems/packages used by MeeGo and vendors. Typically intended to run on OSes other than MeeGo. Scope includes OBS, Bugzilla, BOSS, OTS, mic2, REVS, IMG&lt;br /&gt;&lt;br /&gt;A mix of maintenance and development packages.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Reference Tablet UX, Handset UX, IVI UX&lt;/h3&gt;&lt;br /&gt;Packages providing a reference UX layer that can be built on top of the Core. No Core packages can be touched. These projects are intended to be used not just as reference implemenatations but also as reference working models.&lt;br /&gt;&lt;br /&gt;Requests and bug-reports to Core from the MeeGo UX project should not be treated any differently to a customer project developing a closed UX.&lt;br /&gt;&lt;br /&gt;It would make most sense to develop the UX as an aspect of an integration project.&lt;br /&gt;&lt;br /&gt;Primarily a development project with native packages.&lt;br /&gt;&lt;br /&gt;They could have an release schedule independent to Core (as a vendor would).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Multiple Hardware Adaptation Projects&lt;/h3&gt;&lt;br /&gt;Community or openly managed packages needed to adapt or supplement Core to boot and run to the same level as Core on individual devices such as ExoPC, IdeaPad, N9* etc. Working with Core and a suitable CE project would be a good approach that would exercise problems faced by vendors with multiple hardware devices.&lt;br /&gt;&lt;br /&gt;A mix of maintenance and development packages.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Integration Projects&lt;/h2&gt;&lt;br /&gt;Eventually these projects should support MeeGo overall by highlighting and helping to resolve interoperability issues based on different MeeGo releases or form-factors.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Handset Community Edition / CE&lt;/h3&gt;&lt;br /&gt;Packages from Core, the N9* HA and one (or more) Reference UXes as well as CE-specific packages.&lt;br /&gt;&lt;br /&gt;The CE project acts as a 'Reference Vendor' http://mer-l-in.blogspot.com/2011/04/meego-de-that-is-how-you-do-it.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Tablet Edition&lt;/h3&gt;&lt;br /&gt;As with the Handset CE but using different HA projects. The ExoPC MeeGo images should be released by this project.&lt;br /&gt;&lt;br /&gt;This project too should be contributing to the 'Reference Vendor' concept.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;IVI Edition&lt;/h3&gt;&lt;br /&gt;As with the Tablet Edition but for IVI.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Futures&lt;/h2&gt;&lt;br /&gt;What else? Well how about some future gazing?&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;MeeGo Python&lt;/h3&gt;&lt;br /&gt;A set of packages supported by MeeGo. Device vendors who see the value in QML apps with python as the underlying language may include this in a "Compliant" device under an appropriate "MeeGo" label.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Mini-Glossary&lt;/h2&gt;&lt;br /&gt;&lt;h3&gt;native packages&lt;/h3&gt;&lt;br /&gt;MeeGo tends to use upstream packages wherever possible; but of course some areas will develop new software - these packages are known as 'native' packages since the code and the packaging are managed at the same time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-83216438111804845?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/83216438111804845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/meego-restructured.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/83216438111804845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/83216438111804845'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/meego-restructured.html' title='MeeGo :Restructured'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-1735774784071954650</id><published>2011-08-03T13:20:00.000+01:00</published><updated>2011-08-03T13:20:47.092+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MeeGo'/><title type='text'>MeeGo : Infrastructure</title><content type='html'>As mentioned, we want MeeGo projects to use and validate the interfaces and procedures we expect our customers to use. To support this we should provide an operating environment to enable that goal.&lt;br /&gt;&lt;br /&gt;An accident of history means the infrastructure we use is already set up in a way that would allow us to replicate some aspects of a vendor's view of MeeGo; we should take advantage of this and as well as clarifying the organisational lines between projects we should strive to replicate the technical interfaces too.&lt;br /&gt;&lt;br /&gt;In order to support this new project setup I propose we *don't* change our infrastructure in any significant way.&lt;br /&gt;&lt;br /&gt;One key objective (IMO) is to help vendors deliver MeeGo products. This means ensuring that when they deploy systems like OBS, OTS, Bugzilla, BOSS, REVS and others they can get up and running quickly. It also means that they should be able to interoperate smoothly with the MeeGo projects identified above.&lt;br /&gt;&lt;br /&gt;We have 2 OBS deployments - we should expand this to include additional systems such as Bugzilla and we should live through the "remote system" issues we expect customers to face.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-1735774784071954650?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/1735774784071954650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/meego-infrastructure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/1735774784071954650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/1735774784071954650'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/meego-infrastructure.html' title='MeeGo : Infrastructure'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-1884873015370934753</id><published>2011-08-03T13:17:00.001+01:00</published><updated>2011-08-03T13:28:58.918+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MeeGo'/><title type='text'>MeeGo and the hacker community</title><content type='html'>We know that : "The MeeGo project provides a Linux-based, open source software platform for the next generation of computing devices." &lt;a href="https://meego.com/about"&gt;(https://meego.com/about)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So from that I suggest our target customers are pretty obvious: Device manufacturers. Not individual OSS community hackers.&lt;br /&gt;&lt;br /&gt;I suggest that we hackers (I consider myself a community hacker as well as a paid MeeGo contributor) should approach MeeGo by recognising that:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;MeeGo is not aimed at us --  Sorry but it's not.&lt;/b&gt;&lt;/blockquote&gt;&lt;br /&gt;Think about it - we don't want it to be aimed at us. We want devices running MeeGo that we can hack. So lets help make it super-attractive to device vendors; then we get to buy their hardware and do what we do best ... hack on it!&lt;br /&gt;&lt;br /&gt;Having another Debian/openSuSE/Fedora isn't going to help - if device vendors wanted this then they already exist. MeeGo *has* to be different.&lt;br /&gt;&lt;br /&gt;But this doesn't stop us from building cool stuff using MeeGo. Nothing is stopping us from contributing back.&lt;br /&gt;&lt;br /&gt;However, by letting MeeGo Core focus on delivering to device vendors we in the hacker community can set up projects like the N900 CE where we have *much* more freedom to construct a real distro. MeeGo Core by itself is not much fun - CE is where the cool stuff happens ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-1884873015370934753?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/1884873015370934753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/meego-and-hacker-community.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/1884873015370934753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/1884873015370934753'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/meego-and-hacker-community.html' title='MeeGo and the hacker community'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-8336128761516514512</id><published>2011-08-03T13:14:00.000+01:00</published><updated>2011-08-03T13:14:08.842+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MeeGo'/><title type='text'>MeeGo : Lead by example</title><content type='html'>One of MeeGo's biggest failings IMHO is related to its customers.&lt;br /&gt;&lt;br /&gt;We expect our customers to work with us and against our systems: OBS, BZ etc - but do we even know how that 'work with us' is supposed to work?&lt;br /&gt;&lt;br /&gt;We expect our customers to track bugs in our Bugzilla and link to their private Bugzilla. How exactly?&lt;br /&gt;&lt;br /&gt;When a problem is seen in MeeGo we expect a bug report and/or a patch - yet we can't even make that work ourselves; our UX team are granted special rights that customers don't have. Certain patches appear referencing private bug trackers (eg B.O.O bugs) - if Intel can't get this right then our customers have no chance.  The only way to solve this problem, and to keep on top of it, is to ensure that significant parts of the MeeGo project act as if they were external customers - still very much a part of the open community but experiencing the social and technical interfaces that we expect customers to use.&lt;br /&gt;&lt;br /&gt;I propose we handle this in 2 ways:&lt;br /&gt;&lt;ul&gt; &lt;li&gt; CE, UX and Tools to become discretely scheduled MeeGo Projects&lt;br /&gt; &lt;li&gt; Seperate OBS, BZ and REVS infrastructure for Projects and Core&lt;br /&gt;   (reviewed in more detail later)&lt;br /&gt; &lt;li&gt; No special handling of any Projects (eg UX)&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;A more powerful long term solution is to take the opportunity that the Community Edition project offers to fulfill the role of a 'reference vendor' and openly demonstrate how effectively MeeGo can deliver. We should use this to explain, demonstrate - and validate - how real vendors should interact with the MeeGo project at all levels: features, bugs, processes, release management, communication and even infrastructure.&lt;br /&gt;&lt;br /&gt;Essentially we should make "How to be a MeeGo Product Builder" a MeeGo Project deliverable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-8336128761516514512?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/8336128761516514512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/meego-lead-by-example.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/8336128761516514512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/8336128761516514512'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/meego-lead-by-example.html' title='MeeGo : Lead by example'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-7078477337449707852</id><published>2011-08-03T13:12:00.000+01:00</published><updated>2011-08-03T13:12:00.079+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MeeGo'/><title type='text'>MeeGo : Evaluating MeeGo</title><content type='html'>MeeGo is most likely to enter an organisation via an exhaustive evaluation process.&lt;br /&gt;&lt;br /&gt;We need to understand where those performing the evaluation will have come from. Clearly many will have significant experience in the embedded space and there are some good projects in MeeGo supporting these experienced developers in establishing a prototype MeeGo port to their hardware.&lt;br /&gt;&lt;br /&gt;What we're missing though is a solution that allows this 'one man hacker' type evaluation to scale into a multi-person team evaluation and demonstrate MeeGo's suitability for an international, multi-team, delivery organisation with hundreds of people.&lt;br /&gt;&lt;br /&gt;MeeGo can do this already - for free. So why aren't we shouting about it?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-7078477337449707852?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/7078477337449707852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/meego-evaluating-meego.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/7078477337449707852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/7078477337449707852'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/meego-evaluating-meego.html' title='MeeGo : Evaluating MeeGo'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-3390181743300964079</id><published>2011-08-03T13:10:00.000+01:00</published><updated>2011-08-03T13:10:45.583+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MeeGo'/><title type='text'>MeeGo: Systems and Processes</title><content type='html'>Vendors need much more than lots of source code and a toolchain: they need clarity, consistency, guidance, processes and systems.&lt;br /&gt;&lt;br /&gt;Whilst we've looked at clarity at the package level there are a lot more areas where guidance would be welcome; setting up an end-to-end delivery system with various organisational units is a daunting task.&lt;br /&gt;&lt;br /&gt;MeeGo has knowledge in this area and can - and should - be delivering more of what device manufacturers (and those in the ecosystem around them) need to prepare themselves to make these MeeGo based products.&lt;br /&gt;&lt;br /&gt;Whilst relatively straightforward, probably the most valuable initial delivery would be a consistent set of terminology. This will establish a baseline for communication and improve comprehension of the entities in the MeeGo world and how they relate to previous experiences.&lt;br /&gt;&lt;br /&gt;We already provide and suggest some systems: OBS, OTS, BOSS, Bugzilla, IMG, GIT, REVS - the next step is to suggest how these are deployed and configured. This would improve deployment speed and reduce "time to productivity".&lt;br /&gt;&lt;br /&gt;Following on from this we can provide information to support sizing estimates for various aspects of the deployment; from build and test systems to training.&lt;br /&gt;&lt;br /&gt;Finally we can outline proven approaches to integration; handling code flows from GIT to OBS; bug handling strategies; managing daily and weekly snapshots; MeeGo synchronisation schedules.&lt;br /&gt;&lt;br /&gt;This area is likely to be seen as the domain of SIs - however MeeGo will benefit from establishing a reasonably consistent approach across the board; having a 'preferred' deployment/integration solution will reduce variation and hence support costs (both to MeeGo and upstream tools like the OBS); confusion is less likely to arise from mismatched expectations; Vendors and SIs will be able to interoperate more easily;&lt;br /&gt;&lt;br /&gt;Proposal:&lt;br /&gt; &lt;li&gt; Support the MINT (MeeGo Integration Tools) project&lt;br /&gt; &lt;li&gt; Deliver a Vendor Manual&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-3390181743300964079?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/3390181743300964079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/meego-systems-and-processes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/3390181743300964079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/3390181743300964079'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/meego-systems-and-processes.html' title='MeeGo: Systems and Processes'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-283520150911111390</id><published>2011-08-03T13:07:00.000+01:00</published><updated>2011-08-03T13:07:54.162+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MeeGo'/><title type='text'>MeeGo Core : focus</title><content type='html'>MeeGo does deliver a great set of packages which experienced teams can use as an excellent baseline for building product.&lt;br /&gt;&lt;br /&gt;What is not needed is yet another general purpose linux distro where each vendor has to interpret the structure and determine for themselves exactly which packages belong where.&lt;br /&gt;&lt;br /&gt;Instead we should be clear about what packages the MeeGo project delivers : A tight baseline which can be relied on when delivering a commercial product.&lt;br /&gt;&lt;br /&gt;When approaching MeeGo it is not at all clear what is required for compliance and what is part of the sample distribution that vendors are expected to either replace or significantly change.&lt;br /&gt;&lt;br /&gt;I suggest MeeGo package areas are clarified and redefined and that interfaces between them (especially reference projects) are made more explicit.&lt;br /&gt;&lt;br /&gt;In particular MeeGo should offer a Core which provides a minimal set of packages - enough to build a compliant product. The processes used in Core must obviously be appropriate for MeeGo development - but they *must* also be appropriate for customers too. Around the Core MeeGo will have a number of associated projects forming a well-defined structure around a "bullseye" and not a fuzzy melting pot. These are very much part of the MeeGo project but may only be loosely tied to the release schedule of Core.&lt;br /&gt;&lt;br /&gt;Tasks :&lt;br /&gt; &lt;li&gt; rip out what's not neeeded from Core&lt;br /&gt; &lt;li&gt; create UX and Tools projects&lt;br /&gt; &lt;li&gt; create an open MeeGo distro built on these projects&lt;br /&gt;&lt;br /&gt;Benefits:&lt;br /&gt; &lt;li&gt; Smaller groups are easier to manage&lt;br /&gt; &lt;li&gt; Permits properly exploring the vendor:MeeGo relationship at the&lt;br /&gt;   operational level&lt;br /&gt; &lt;li&gt; Much easier for alternative 'reference' solutions to take root&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-283520150911111390?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/283520150911111390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/meego-core-focus.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/283520150911111390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/283520150911111390'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/meego-core-focus.html' title='MeeGo Core : focus'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-6137189561851704775</id><published>2011-08-03T12:57:00.000+01:00</published><updated>2011-08-03T12:57:59.082+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MeeGo'/><title type='text'>Restructuring MeeGo : Executive Summary</title><content type='html'>Whilst the MeeGo Project has the potential to be incredibly beneficial to the linux device market it can and must do more to fulfill that aspiration.&lt;br /&gt;&lt;br /&gt;MeeGo is in danger of becoming "Yet Another Linux Distro".  As with any venture; in order to succeed MeeGo must first identify and focus on satisfying its customers.&lt;br /&gt;&lt;br /&gt;Identification is not too hard : organisations involved in building devices based on MeeGo.&lt;br /&gt;&lt;br /&gt;Satisfying them is harder : these organisations are not your typical linux hackers, nor are they linux-friendly IT teams. They are software product delivery professionals. They care about more than just the source that comes out of MeeGo - they care about managing their build and delivery environments. The last thing these people want is to re-invent the wheel; they are under pressure and need as much help as they can get - automation, QA, progress reporting, minimising overhead and cookie-cutter deployments.&lt;br /&gt;&lt;br /&gt;Delivering a repo full of packages is a great start but it's not enough .. not by a long shot.&lt;br /&gt;&lt;br /&gt;This is the first in a series of few articles that make some concrete proposals.&lt;br /&gt;&lt;br /&gt;(Thanks to the community people who've helped review this : I'll put the text onto the MeeGo wiki for further comment and editing).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-6137189561851704775?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/6137189561851704775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/restructuring-meego-executive-summary.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/6137189561851704775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/6137189561851704775'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2011/08/restructuring-meego-executive-summary.html' title='Restructuring MeeGo : Executive Summary'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-5209570216680315863</id><published>2011-04-27T12:48:00.001+01:00</published><updated>2011-04-27T13:10:03.432+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MeeGo'/><category scheme='http://www.blogger.com/atom/ns#' term='N900'/><category scheme='http://www.blogger.com/atom/ns#' term='Summit'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><title type='text'>MeeGo DE - *THAT* is how you do it ....</title><content type='html'>Over the past several weeks I've been hitting one concept over and over again: "reference".&lt;br /&gt;&lt;br /&gt;I'm talking here about the idea of a reference implementation; and I don't mean something so comprehensive that it's almost useless... rather a manageable set of information aimed at easing entry into a project.&lt;br /&gt;&lt;br /&gt;I've been accused of being a bit long-winded :) So let me offer a short proposal:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Justify the DE project by extending the "DE Project Vision" to include "Be a reference vendor". Extend the deliverables to include documentation about processes, organisational layout and tool usage. Test, challenge and improve the MeeGo &lt;-&gt; Vendor interface.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;I put this to Carsten and Jukka a while ago and they were very positive about it - so if it sounds intriguing then here's my thinking:&lt;br /&gt;&lt;br /&gt;MeeGo is (or should be) aimed at vendors. So what is a vendor? Or perhaps, in this context, what aspects of a vendor are we interested in?  I think the following three areas are relevant:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; The Veneer ("Value Add Layer" if you're marketing a device)&lt;br /&gt;&lt;li&gt; Hardware Adaptation&lt;br /&gt;&lt;li&gt; Contributing Back (A phb may prefer to hear: "Influencing MeeGo's direction")&lt;br /&gt;&lt;/ul&gt;As a vendor newly arriving at MeeGo I am going to need to work in one or more of these areas - so what do I do? What systems do I need? How do I setup teams, OBS projects? How do they interact with MeeGo? What testing processes should I use? What tools and systems are already available? How do I avoid re-inventing the wheel? How do I link to the core OBS? How do I get a feature included in the core?&lt;p&gt;Answering these questions correctly is vital if a vendor is to effectively assess the cost of operating in the MeeGo ecosystem; and that assesment should influence their decision to work with MeeGo. Quite simply: the lower we can make barriers to entry, the more vendors will join MeeGo. Not only that; if we can identify and resolve problems with them then that will improve satisfaction. It is also worth remembering that many vendors will be new to working in the open - using the reference project may help to overcome 'shyness' be it cultural or confidentiality based.&lt;p&gt;This is not just about vendors either. MeeGo as a project has to support the vendor ecosystem - and whilst we do want a diverse community out there, we don't want to support needless variations in process or even terminology. Providing a "suggested way of working" and ensuring that all our tools and processes work with it means that we can minimise the cost of these interactions from MeeGo's point-of-view.&lt;p&gt;MeeGo also provides interfaces to these vendors - but has no real mechanism for reviewing or testing them (although I'd like to address that in my &lt;a href="http://sf2011.meego.com/program/sessions/bof-fixing-meego-setting-open-vendor-ecosystem"&gt;BoF session at MeeGo 2011&lt;/a&gt;). For example&lt;ul&gt;&lt;li&gt; the handling and communication of significant API changes during development;&lt;br /&gt;&lt;li&gt; simple operational communication;&lt;br /&gt;&lt;li&gt; how are vendor products supported *after* a MeeGo release? &lt;br /&gt;&lt;li&gt; how should vendors operate near releases (forks);&lt;br /&gt;&lt;li&gt; I need a change to a MeeGo component : it's not going to be accepted this release; what do I do?&lt;br /&gt;&lt;/ul&gt;DE operates in all of the layers I mentioned but it's not clear what activity is related to what layers. I'd like to see:&lt;ul&gt;&lt;li&gt; DE provide some clarity around the three roles: particularly a review of the OBS project structure and role-specific processes.&lt;br /&gt;&lt;li&gt; Clear product-oriented and release-managed deliverables in the veneer layer with testing and automation&lt;br /&gt;&lt;li&gt; Documentation of a requirements driven approach to MeeGo core contributions&lt;br /&gt;&lt;li&gt; Documentation of a requirements driven approach to hardware adaptation&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Of course the objective of these deliverables is to support new vendors and contributors to DE/MeeGo; not to overburden the contibutors. bearing in mind that&lt;br /&gt;&lt;br /&gt;I think the success criteria in this ares would be if any organisation can quickly and easily setup a new initiative to thoroughly evaluate MeeGo for a new product.&lt;br /&gt;&lt;br /&gt;There are other areas where we can support vendors by pursuing this model; the use of the MeeGo community OBS mimics the separation between the MeeGo OBS and the vendor's internal OBS. This allow issues dealing with the relationship to MeeGo to be examined openly: what is the recommended link to the core OBS; how are vendors impacted by downtime; what's the best approach to provide a reasonably stable MeeGo base to build the 'veneer layer' on during a sprint whilst still allowing the vendor to be aware of emerging issues in Trunk.&lt;br /&gt;&lt;br /&gt;MeeGo also has other system tools: BOSS, REVS, IMG and OTS are freely available and were designed at Nokia using their product building  expertise - how can we offer these to the MeeGo vendor ecosystem to once again reduce cost and probably more importantly: time to market. These tools are used in MeeGo core - but they are not documented or discussed (and are probably not relevant to vendors anyway since their business goals are different). Using them in DE allows increased public scrutiny.&lt;br /&gt;&lt;br /&gt;So here's another success criteria (for both DE and MeeGo tools): is DE using MeeGo tools to deliver their product? Do the managment reports from REVS provide useful data? Is BOSS automation effective and sufficiently low-overhead? Does OTS work in resource-limited environments?&lt;br /&gt;&lt;br /&gt;Finally - you have to ask what the point of the DE project is? I think if it can be held up as an example of "How to work with MeeGo" and has real deliverables beyond supporting an aging device then it provides a tangible benefit to everyone in MeeGo.&lt;br /&gt;&lt;br /&gt;A little post-script too : whilst I've focused on DE here this concept applies to a lot of what's done around MeeGo. Opensource succeeds because we stand on the shoulders of midgets - a *lot* of midgets. We should each aim to ensure that when we 'deliver' something to the opensource community we ask "how easy have I made it to let someone else improve on this?"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-5209570216680315863?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/5209570216680315863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2011/04/meego-de-that-is-how-you-do-it.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/5209570216680315863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/5209570216680315863'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2011/04/meego-de-that-is-how-you-do-it.html' title='MeeGo DE - *THAT* is how you do it ....'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-3766204953159358238</id><published>2011-02-12T09:59:00.001Z</published><updated>2011-02-12T13:51:07.833Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='MeeGo'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><title type='text'>What now for MeeGo?</title><content type='html'>So Nokia has  dramatically reduced commitment to MeeGo  and has cited,amongst other thinks, MeeGo's inability to deliver a focussed baselinewith sufficient speed. I happen  to agree with this failure (and givenNokia  was a  significant part  of  MeeGo's management  I don't  thinkthere's a blame issue - more a how do we fix it issue)&lt;h2&gt;Assumptions and observations:&lt;/h2&gt;&lt;ul&gt;&lt;li&gt; MeeGo is intended to provide a viable but focussed baseline upon    which vendors can build compliant products; not to be an expansive    and 'complete' linux distribution.&lt;li&gt; MeeGo has limited dedicated resourcs and focusing them on a    reduced MeeGo core will improve quality.&lt;li&gt; MeeGo's main customers are not end-users - they are device    vendors : they should be the focus of our core engineering team's    design, delivery and QA effort.&lt;li&gt; MeeGo core does not appreciate the difficulties a vendor has in    tracking MeeGo;&lt;li&gt; A visibly secure development model is important to the perceived    integrity of MeeGo - so visibly restricting write access to the    core is important.&lt;/ul&gt;&lt;h2&gt;Proposal:&lt;/h2&gt;&lt;ul&gt;&lt;li&gt; MeeGo Core is confirmed as not being a linux distribution&lt;li&gt; An open MeeGo project (openMeeGo?) is created on the community    infrastructure to provide a reference MeeGo distribution&lt;li&gt; Packages not *essential* to the delivery of a compliant MeeGo    Core are moved into the community OBS (emacs, vi etc - maybe even    the reference UXes) where they are available for use by    development teams and end users.&lt;li&gt; "openMeeGo" acts as a reference vendor and provides a forum for    reviewing and improving the processes MeeGo uses to communicate    releases&lt;li&gt; MeeGo community (which includes core developers) has a    significantly lower barrier to entry.&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-3766204953159358238?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/3766204953159358238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2011/02/what-now-for-meego.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/3766204953159358238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/3766204953159358238'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2011/02/what-now-for-meego.html' title='What now for MeeGo?'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-1889185637793286034</id><published>2011-01-27T01:19:00.000Z</published><updated>2011-01-27T01:19:11.683Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='MeeGo'/><category scheme='http://www.blogger.com/atom/ns#' term='OSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='OBS'/><title type='text'>MeeGo Community Development: Apps, Surrounds and the Community OBS</title><content type='html'>So... lets say we have some device that run MeeGo; what else canit do? Where are the apps?&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;Apps - the area formerly known as "Extras"&lt;/h3&gt;Borrowing &lt;a href="http://lists.meego.com/pipermail/meego-community/2010-December/003021.html"&gt;Andrew Flegg (Jaffa)'s mission statement&lt;/a&gt; for MeeGo CommunityApps: we need to ensure a vibrant and quality area for community opensource software.  &lt;br/&gt;&lt;br/&gt;So MeeGo Apps is the community app store and follows on from thesuccesful &lt;a href="http://maemo.org/downloads/Maemo5"&gt;Maemo Extras.&lt;/a&gt; &lt;br/&gt;&lt;br/&gt;It allows app developers to build MeeGo compliant (and other) apps anddistribute them to users.  &lt;br/&gt;&lt;br/&gt;What makes Apps different from a 'random repository' is the communityQA process that is applied; the objective of this QA process is topermit users to trust the apps and to deliver a collection of appsthat a commercial vendor could enable on a shipping device (as Nokiadid with 'Maemo Extras' on the N900).  &lt;br/&gt;&lt;br/&gt;Clearly then, there needs to be some processes (and automation) todefine how QA checks are carried out and what to do when certainevents occur. We already have a process automation sytem (called BOSS- it's is being developed by Nokia and is essentially an integrationof various OSS libraries) - now we need to decide what processes andcriteria we use to manage and promote apps. Initially I suggest westart with &lt;a href="http://wiki.maemo.org/Extras_repository_process_definition"&gt;the Maemo Extras process&lt;/a&gt; and refine that.  &lt;br/&gt;&lt;br/&gt;When we talk about process we are also talking about policy. I'vediscussed this below and quite a few of the points apply to Apps.&lt;br/&gt;&lt;br/&gt;Now, it's not yet clear what OBS targets Apps should buildagainst. Currently &lt;a href="https://build.pub.meego.com/project/list_public"&gt;we have&lt;/a&gt;:&lt;ul&gt;&lt;li&gt; MeeGo:1.1:Core&lt;li&gt; MeeGo:1.1:Core:Handset&lt;li&gt; MeeGo:1.1:Core:IVI&lt;li&gt; MeeGo:1.1:Core:Netbook&lt;/ul&gt;These correspond to the MeeGo Core and then a number of UXes. Howeverthere are plans to consolidate them in the main MeeGo OBS - but howshould the Apps area look?  Should a handset user be presented with appswhich were only intended to run on a netbook? OTOH is this anything todo with the repo and build target - should it be determined bymetadata and selectively presented by the download application?&lt;br/&gt;&lt;br/&gt;Well, until this is resolved, an app developer simply needs to enableeach target that the app supports to make it available in thatrepository.&lt;br/&gt;&lt;br/&gt;I think the discussion up to this point is fairly simple anduncontentious; we can start to address the issues mentioned and &lt;a href="http://wiki.meego.com/Community_Application_Support"&gt;just get on with it&lt;/a&gt; and start to deliver MeeGo Apps :)&lt;br/&gt;&lt;br/&gt;However, as mentioned, the Apps area allows both MeeGo-compliant andMeeGo-extra applications. &lt;i&gt;MeeGo-compliant&lt;/i&gt; apps are those which onlyuse libraries in MeeGo core/UX; &lt;i&gt;MeeGo-extra&lt;/i&gt; apps have a little extraopen-source goodness sprinkled in... Surrounds.&lt;h2&gt;MeeGo: The Linux Distro&lt;/h2&gt;Before I tackle 'Surrounds' lets step back a little:&lt;br/&gt;&lt;br/&gt;Since MeeGo was announced around a year ago I've been interested inhow development happens around MeeGo as well as in the centre. Thefollowing is intended to be a discussion document; there are clearlysome large gaps and I expect some of my proposals to be shot down -but I really hope that only happens when better ones are proposed!&lt;br/&gt;&lt;br/&gt;In order to address this I think it's important to ask... what is thepoint of MeeGo? Well, IMHO, MeeGo is primarily a modern linux baselineupon which commercial mobile computer products can be delivered.MeeGo's main customers are not end-users - they are device vendors;*they* should be the focus of our core engineering team's design,delivery and QA effort.  &lt;br/&gt;&lt;br/&gt;So MeeGo clearly has a focused development area with the main OBSsupporting the development and delivery of the MeeGo core systemsoftware and reference UXes.  &lt;br/&gt;&lt;br/&gt;Of course MeeGo is also capable of being a wonderful and open linuxdistro in its own right. However I personally think that to be asuccess, the MeeGo core needs to focus on the primary goal and allowmore of the "linux distro" side to be managed as a surroundingproject.  &lt;br/&gt;&lt;br/&gt;Incidentally, in my day job I care a lot about how MeeGo presentsitself to us as a vendor. I think it would be a good thing for MeeGoto have it's own "reference product" built around the core that itoffers to vendors. This would expose issues like:&lt;ul&gt;&lt;li&gt; How does MeeGo communicate significant upcoming changes to it'scustomers?&lt;li&gt; How do we deal with package naming clashes?&lt;li&gt; How much of MeeGo is needed for compliance vs the parts that areneeded to make a reference implementation?&lt;li&gt; With more than one community product: how connected are devices?&lt;/ul&gt;So, 'Surrounds' is a proposal that aims to provide a collection ofopen source libraries, tools and applications that support thebuilding of collaborative bazaar-style applications and yes, maybeeven MeeGo distributions. &lt;br/&gt;&lt;br/&gt;Whilst I don't think this is an immediate change, I do think it's aninteresting direction for MeeGo to take that may allow more focus onthe core deliverables.&lt;br/&gt;&lt;br/&gt;In the meantime lets look at this "extra open-source goodness" Ipromised:&lt;h2&gt;Surrounds&lt;/h2&gt;As we know, the open source world is a world of sharing; we regularlystand on the shoulders of our peers and it's considered very bad tasteto just 'bundle' a library into a monolithic application. (Notice howI didn't mention any kind of compliance programme by name - aren't Igood!) &lt;br/&gt;&lt;br/&gt;Surrounds provides a collection of libraries and tools that encouragesthis &lt;b&gt;best practice&lt;/b&gt; way of working in MeeGo and delivers &lt;i&gt;MeeGo-extra&lt;/i&gt;apps. The most obvious area would be for languages like perl, pythonand ruby. These languages have large numbers of useful libs thatclearly are not going to be present in core MeeGo. Of course therewill be many other tools and applications that would also be at homein Surrounds. &lt;br/&gt;&lt;br/&gt;Over time, packages may migrate into core MeeGo and equally, some aregoing to be deprecated. Hopefully Surrounds makes both of thoseactions a little easier but we do need to decide how we handledeprecation/promotion of applications/libs between core and Surrounds.&lt;br/&gt;&lt;br/&gt;There are many complexities when dealing with a collection of packageslike this:&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;QA and Releases&lt;/h3&gt;The fundamental question is "How is Surrounds QA'ed and released?".&lt;br/&gt;&lt;br/&gt;This is a significant undertaking and needs a lot of resource andusers. This alone means that Surrounds should probably start offslowly and ramp up as MeeGo users and developers arrive in largernumbers. The important thing is to prepare for the main issues we'relikely to face.&lt;br/&gt;&lt;br/&gt;I propose that Surrounds is actually only populated on an "as needed"basis; tools can be submitted directly but libraries have to be neededby a tool or by an application submitted to the Apps area.&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;Upgrades and concurrent installations&lt;/h3&gt;For example: let's look at a device that has MeeGo 1.2 installed on itand an application "Wowee" built against an imaginary libvisual-1.0which is in the Surrounds-1.2-A stable release of Surrounds.&lt;br/&gt;&lt;br/&gt;9 months later many libraries have been updated and developerswant to use the latest versions... it's time to release a newversion of Surrounds-1.2. Sadly libvisual is up to version 1.0awith a minor tweak which would break Wowee; not only that butthe Wowee developer has gone awol (so there's no-one to testit) and no-one's stepped up to update it. Even worse there are50,000 users using Wowee which is working like a dream.&lt;br/&gt;&lt;br/&gt;Looking at the large number of apps in Maemo Extras I thinkproblems like this will arise and are beyond the resources ofthe community to handle at this point.&lt;br/&gt;&lt;br/&gt;A technical solution may be that when Surrounds-1.2-A is installed itgoes into /opt/surrounds/1.2-A/... and any apps use the appropriatepath to find their dependencies.  &lt;br/&gt;&lt;br/&gt;This allows apps that use libraries from Surrounds-1.2-A andSurrounds-1.2-B to be installed concurrently even if they usedifferent versions.&lt;br/&gt;&lt;br/&gt;I'm not sure how Surrounds-1.2 handles upgrades from MeeGo 1.2 to 1.3.&lt;br/&gt;&lt;br/&gt;The message however is that there are many issues like this that itwould be good to identify in advance. Just ask a maemo developer aboutthe &lt;a href="http://wiki.maemo.org/Opt_Problem"&gt;"optification"&lt;/a&gt; hack :)&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;Porting vs Maintaining : A MeeGo partner&lt;/h3&gt;When it comes to populating Surrounds we need to look to the largerlinux ecosystem.&lt;br/&gt;&lt;br/&gt;Some tools and libraries will have comitted maintainers who have timeto monitor their packages and fix bugs and security issues in a timelymanner.  &lt;br/&gt;&lt;br/&gt; This is the classic distribution 'maintainer'role.  &lt;br/&gt;&lt;br/&gt;Some libraries won't. Developers will simply need a particular libraryand 'grab' a source rpm that looks like it's good-enough. They throwit at the OBS and a few minutes later have an installable package fortheir application. This is what happens in Maemo Extras.  &lt;br/&gt;&lt;br/&gt;I call this activity 'porting'.  &lt;br/&gt;&lt;br/&gt;The problem arises when another developer does the same thing afew weeks later with a slightly different version of thepackage. This may cause the original app to fail.&lt;br/&gt;&lt;br/&gt;Equally, none of those developers want to commit to maintainingthe library. So when a security issue arises, no-one is readyto update the package.&lt;br/&gt;&lt;br/&gt;I'm actually a little concerned about prolific porting - and sadlythis is the bit that gets the fame and glory : "look how many packageshe's ported". The truth is that this doesn't bode well for MeeGo inthe long run.  &lt;br/&gt;&lt;br/&gt;My suggestion for this group of packages is to nominate an upstream orpartner distro with a good security record and a wide base ofpackages. Surrounds releases would closely track this distro (and willlikely differ from core MeeGo). Packages taken from this distro wouldbe fast tracked as 'ported' rather than 'maintained' and only minimalpackaging changes would be allowed. This would allow Surrounds toleverage the partner-distro's security efforts (and hopefully offerbenefits to the partner in return).  &lt;br/&gt;&lt;br/&gt;For obvious reasons I propose openSuse as the partner distro. (For therecord I'm a Debian guy - but lets be sensible here!) &lt;br/&gt;&lt;br/&gt;For equally obvious reasons this is a political minefield :)&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;Some random policy questions:&lt;/h3&gt;There are a lot of policy considerations for the community; some Iwrote in a bit of rant (forgive me Shane). Some apply to Surrounds andApps, some to the OBS in general &lt;br/&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt; Licenses: OSI only licenses? GPL3 (considering the "promotionto core" target).&lt;li&gt; People: What's the process for absent devs?  If someone says"hey, lbt, let me upload a new version of that library Shaneuploaded" ... do I just let her?  What if there's a securityissue in it?  What if you've not been seen in 3 months? Domaintainers need to demonstrate reliability to handle timelyupdates?&lt;li&gt; Legal : Do we accept mp3 players? libdecss? What about porn?What about apps with a rather rude splash screen?  Any patentissues? (Don't forget the system physically lives in the"land of the free" so is subject to state seizure by theRIAA).&lt;li&gt; Commercial: I've had commercial organisations enquire about usingthe community OBS. I've had them ask to sponsor it. How do we dealwith this? My first reaction is "no commercial work"... but why not?&lt;li&gt; Quality: Do we insist on a valid bugtracker being identifiedfor all Surrounds packages?  Must it proxy via a bmc#?&lt;li&gt; Packages scope: Where's the ITP?&lt;li&gt; Can we rebuild MeeGo with some different compiler flags (thinknon-ssse3 ... yay ... I can run MeeGo on my AMD desktop at last!)&lt;li&gt; Do we sign any of the community repos? What does that mean?&lt;li&gt; Acceptable Use Policy : at what point do we ask users to stopdoing what they're doing?&lt;li&gt; Non-MeeGo targets? When Smeegol becomes Sogmeel will we allow itto be a target?&lt;/ul&gt;Again the message is "there's a lot to think about".&lt;h2&gt;The Community OBS&lt;/h2&gt;We have a &lt;a href="http://build.pub.meego.com"&gt;MeeGo Community OBS&lt;/a&gt; already; and it builds apps for MeeGo.&lt;br/&gt;&lt;br/&gt;It is currently managed by Niels Breet (X-fade) and I (lbt) - but weneed more help. In part this whole post is a way to structure whatwe'd like to achieve and to make it easier to identify tasks.&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;Structure&lt;/h3&gt;So what project structure do we need? We've not assumed MeeGo at thetop level namespace to allow us to support additional distros such asFremantle and hopefully others.&lt;br/&gt;&lt;br/&gt;One common use for structure is to provide a QA route. Packages gofrom some sub-project in a developer's home: area to a 'Team' area andthen into a Testing area. Each transition is subject to policy andquality checks. Defining these workflows and structures correctly willmake life easier.&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;Team Areas&lt;/h3&gt;It makes sense for teams to have collaboration for things like KDE,Gnome, Python, LibreOffice, Emacs etc. This would allow more thoroughtesting to take place before releasing either to Surrounds or Apps&lt;br/&gt;&lt;br/&gt;However, what's needed to form a team? Can anyone just step up andclaim Team:KDE or should we ask for some relationship with upstream?Do we just want to assess a proposal? Who does the assesment? Do weannounce this and give time for the community to raise objections orconsiderations?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;PPAs&lt;/h3&gt;The general policy for *home* projects is "OSI, nothing illegal anddon't take the piss". We may (or may not) need a more formal one :)&lt;br/&gt;&lt;br/&gt;Certainly these PPAs offer developers a huge amount of freedom. Theycan start by uploading and building a package in a "home" directory(which can have a structure underneath it for multiple projects). Thiswill allow them to build against any of the main targets; anygroup/community projects or even any other community member homeprojects. Oh, and they can use each others code as a baselinetoo. Once built the packages are automatically published to a repo onthe community downloads server.&lt;br/&gt;&lt;br/&gt;AFAIUI this is a lot like the Ubuntu PPA solution (hence the heading).&lt;br/&gt;&lt;br/&gt;At that point developers can stop if they want. They have a completeset of repositories (1 per subproject). No painful QA processes forthem and no 'fragmentation' for the MeeGo community. But equally theserepo(s) will needed to be manually added to a device in order for itto appear in any apt-get/zypper/yum etc. Oh, and the Apps downloaderteam really should pay attention here.&lt;br/&gt;&lt;br/&gt;A huge benefit here is that to for a user to get at a developmentversion of an application they use a specific repository, not amishmash of randomly unstable packages (like the Maemo Extras-develarea).&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;MeeGo Targets&lt;/h3&gt;What MeeGo targets do we support?&lt;br/&gt;&lt;br/&gt;MeeGo 1.0? Really? Does anyone use that?&lt;br/&gt;&lt;br/&gt;MeeGo 1.1 and above make sense. But what architectures? As released isfine - but what if there are community rebuilds of non-ssse3?&lt;br/&gt;&lt;br/&gt;Also, when MeeGo releases distro updates, do we just rebuild all apps?What happens to QA at this point?&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;MeeGo Snapshots&lt;/h3&gt;One area to look at is how often we import MeeGo snapshots - and incurthe rebuild cost for any projects targetting them.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;MeeGo Rebuilds&lt;/h3&gt;Frankly I'm a bit fed up that after a year I can't run MeeGo on mydesktop. It has an AMD phenom chip and an ATI card - both wellsupported in the opensource world. It's time to build a communityMeeGo :)&lt;br/&gt;&lt;br/&gt;Do we need a community version targetting the DublinBook? What aboutthe O2 Joggler? Are there any policy issues here? Can anyone ask forthis - there's potentially a lot of resource tied up doing this kindof rebuild.&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;Surrounds&lt;/h3&gt;What projects are needed in the Surrounds area?  Certainly someunstable-&gt;testing-&gt;stable cycle makes sense; but this is not likely tobe finalised until the workflow is understood.&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;Fremantle&lt;/h3&gt;The Fremantle migration. Mmmm. Well it might happen at some point :)&lt;h1&gt;Actions and Ideas&lt;/h1&gt;&lt;ul&gt;&lt;li&gt; Establish a task-force/group to coordinate and deliver activity andto act as a communications hub.&lt;li&gt; Design and implement OBS project structures and targets for Surrounds,Apps, Teams and (suggestions for) home areas&lt;li&gt; Design and communicate process/policy for putting packages intothese projects and migrating them&lt;li&gt; How do packages move from Community OBS into MeeGo core&lt;li&gt; Implement and automate stuff&lt;li&gt; Structure and enrich the outstanding issues outlined above&lt;li&gt; Design project structures&lt;li&gt; Work up a proposal which sees MeeGo split into Core and Distro&lt;li&gt; Copy this list into a Wiki so it's actually useful&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-1889185637793286034?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/1889185637793286034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2011/01/meego-community-development-apps.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/1889185637793286034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/1889185637793286034'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2011/01/meego-community-development-apps.html' title='MeeGo Community Development: Apps, Surrounds and the Community OBS'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-995054233477846048</id><published>2010-08-11T20:14:00.003+01:00</published><updated>2010-08-11T20:57:11.753+01:00</updated><title type='text'>Are Intel subverting MeeGo.com?</title><content type='html'>Well... there's a "challenging" blog title :)&lt;br /&gt;&lt;br /&gt;Please read on and allow me to explain.&lt;br /&gt;&lt;h2&gt;Intro&lt;/h2&gt;So what's making me risk offending one of the powerhouses behind MeeGo?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;First off, let me say that I think the answer is "No"; but I do think there's a problem and it should be solved.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So having hopefully gotten your attention; what's the problem? Well, quelle surprise, it's that inconvenient "openness" again.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MeeGo is an open distribution; I don't think that's really in doubt. However there have been many discussions on what makes something open and I'd like to add another: "Inclusiveness".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For the record : In the remainder of this post I've included issues that I've seen raised that I may not personally support.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Issue&lt;/h2&gt;The question is ... who gets to use the builds that are produced at meego.com?  Well, technically "anyone", but practically "only people who've bought recent Intel hardware".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Why? Because the MeeGo.com builds are optimised for the Intel Atom processor; not a generic x86.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So what's the impact of this?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pros: Less CPU usage for some functions (3D and audio codecs AFAIUI get +20% performance on certain tasks)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.... that's it&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cons. Well machines with a non-Atom CPU running MeeGo netbook edition may boot up but often fail to run. Additionally non Atom machines can't easily develop for MeeGo (eg the image building app uses ssse3 instructions inside somewhere.)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Impact&lt;/h2&gt;If a developer wanders over to look at MeeGo and sees that she needs to buy an Atom netbook to run it then: "Oh, I need special HW to run it? Ubuntu just runs on my laptop. Bye MeeGo, hello Ubuntu."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Making it hard to use MeeGo is *not* inclusive.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Details&lt;/h2&gt;&lt;br /&gt;The way MeeGo is built any binary could contain SSSE3 instructions; however which ones actually do depends on the optimisation flags used, the compiler version and the source code and and a change in any of them can add or remove instructions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Essentially it's "random" - or at least not humanly determinable if a given application will suddenly choke on non-Atom hardware.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In irc Thiago scanned the Qt binaries to try and find any SSSE3 instructions. When he ran a quick and dirty analysis he couldn't find any SSSE3 instruction in QtCore and QtWebKit; and found a total of 4 SSSE3 instructions on QtGui - that's many 10s or 100s of Mb of binary code and only a handful of instructions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So given the entirety of Qt uses *4* instructions there was a challenge to the "performance benefit" it offers by using these options "across the board".&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Postition&lt;/h2&gt;&lt;br /&gt;Given MeeGo.com is supposed to be open and to minimise barrier to entry this exclusion seems wrong.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MeeGo is managed by the Linux Foundation and I was under the impression that we had a Linux Foundation managed build service at build.meego.com; so why are we building for exclusivity and not inclusivity?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Fairness&lt;/h2&gt;&lt;br /&gt;My understanding of the business model is that Nokia and other vendors would have an internal OBS to allow them to tailor and optimise MeeGo for their commercial product&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MeeGo's model is that Intel, Nokia and others (as vendors) have their own internal build service (OBS) to optimise for a commercial product so why does Intel get to optimise for Atom on the MeeGo.com build service?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Why do we optimise for only Atom machines on the MeeGo.com builder? Why isn't that done on build.meego.intel.com?  Is Intel essentially using MeeGo.com to make "the Intel MeeGo" not "the community MeeGo"?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Obviously, as a fallback the community OBS is a potential place for this generic build but that was *not* the point. We have often been told that MeeGo *is* the community.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Counters&lt;/h2&gt;&lt;br /&gt;One point has been of the "cost" of the shared infrastructure and Intel employees having said that Intel should not be burdened with the cost of supporting other arch/platforms/builds.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There's some validity to this - and I don't think the community would object in the slightest to seeing optimisations for Atom made available *as well* as a generic build.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One question is: Is MeeGo an open and inclusive distro?  Who dictates the commercial aspects of the "shared resources" and who gets to dictate what is and is not on the agenda.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One argument has been "Intel contributed the hardware and they want it optimised for their platform"; However that's not a community platform; that's a vendor specific build platform.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And are we seriously saying that a vendor producing a version of MeeGo for a non-Intel based x86 device is going to have a problem rebuilding with appropriate gcc flags?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Proposal&lt;/h2&gt;&lt;br /&gt;Add a 'generic x86' target to the MeeGo.com build architectures. This will form the basis for more inclusive MeeGo variants.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Allow the builder to create targetted binaries for some hardware; this is going to become a requirement as more hardware appears.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As we know: 'optimized for Atom' sells and attracts developers to the platform and a set of development hardware, etc..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But surely we can be "optimized for Atom" without excluding non-Atom users.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This means anyone with a non-Atom device could at least start MeeGo on  eg an AMD desktop. As Arjan says: "I and several of my coworkers run MeeGo to develop MeeGo" "it's still very much intended to be a quite complete *client* PC linux"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lists.meego.com/pipermail/meego-dev/2010-April/001318.html"&gt;http://lists.meego.com/pipermail/meego-dev/2010-April/001318.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://lists.meego.com/pipermail/meego-dev/2010-April/001392.html"&gt;http://lists.meego.com/pipermail/meego-dev/2010-April/001392.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Works for everyone&lt;/h2&gt;Well, isn't that the job of MeeGo.com?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MeeGo.com is supposed to be open and to minimise barrier to entry - lets help it do that&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Conclusion&lt;/h2&gt;The point is that MeeGo should be doing a generic i586 build&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Not Intel, MeeGo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-995054233477846048?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/995054233477846048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2010/08/are-intel-subverting-meegocom.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/995054233477846048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/995054233477846048'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2010/08/are-intel-subverting-meegocom.html' title='Are Intel subverting MeeGo.com?'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-1574076030484417441</id><published>2010-06-16T14:18:00.000+01:00</published><updated>2010-06-16T14:18:46.523+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MeeGo'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='OBS'/><title type='text'>Open Letter / Proposal to allow Maemo on the MeeGo Community OBS</title><content type='html'>This is an open letter to the whole MeeGo community and on behalf of the Maemo development community. The purpose of this letter is to ask the MeeGo community for their permission to bring Maemo build targets (currently Fremantle eventually Harmattan, Diablo, Chinook?) to the MeeGo Community OBS and to ask the Maemo development community for their support in this project.&lt;br /&gt;&lt;br /&gt;*&lt;a href="http://lists.meego.com/pipermail/meego-community/2010-June/001041.html"&gt;Please discuss on meego-community mailing list&lt;/a&gt;*&lt;br /&gt;&lt;br /&gt;I would like to emphasise that this is a Maemo Community initiative and is not being pushed by Nokia.&lt;br /&gt;&lt;br /&gt;At this point we are not aware of any similar initiatives related to the Moblin community but we would fully support any that arise.&lt;br /&gt;&lt;br /&gt;The Maemo community has built up around Nokia devices which, in many ways, are amongst the most open devices available in their class. There is a passion for openness in the Maemo community and we know that the future for this family of devices lies with MeeGo.&lt;br /&gt;&lt;br /&gt;Many of us are looking forward to MeeGo and are keen to transition as smoothly as possible.&lt;br /&gt;&lt;br /&gt;However our devices are not fully open and developing for them has dependencies on vendor proprietary binaries which would need to be available on the build service. This would mean putting closed binaries on the MeeGo OBS and having a part of the MeeGo Community OBS functionality being 'restricted' to Maemo developers.&lt;br /&gt;&lt;br /&gt;Naturally we recognise and respect that MeeGo is an open source project and there may be ideological issues in allowing closed binaries into the ecosystem (even though they're just for build/linking). We also recognise the risk of "opening the door" to closed binaries and suggest that this arrangement could be agreed as a one-time "grandfathering in" (http://en.wikipedia.org/wiki/Grandfather_clause) situation for the Maemo community.&lt;br /&gt;&lt;br /&gt;However we also feel that the benefits of supporting a smooth transition for the vibrant Maemo development community would be worthwhile both for MeeGo and Maemo:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;developers would be able to use the OBS' natural ability to target Fremantle, Harmattan and MeeGo from a single location. This would bring more developers and their applications to MeeGo sooner. &lt;/li&gt;&lt;li&gt;many of the same people in the Maemo and MeeGo community teams look after the Maemo Autobuilder and the MeeGo application OBS. Our limited volunteer time would be used more effectively on a single platform instance.&lt;/li&gt;&lt;li&gt;resources earmarked for Maemo could be added to the MeeGo estate and would naturally be used at peak efficiency as Maemo demand decreases and MeeGo demand rises.&lt;/li&gt;&lt;li&gt;new Maemo community Quality Assurance processes would evolve around the shared OBS and could assist the development of MeeGo QA processes.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;and perhaps most important of all:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;users of existing devices could expect a significantly longer maintainable life from products built on a consolidated build service and could look forward to their applications being available on MeeGo as soon as devices become available.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The maemo.org buildservice already has a 'proof of concept' instance of the OBS which allows the Fremantle target to co-exist with a MeeGo target and we already intend to use this as a basis for the MeeGo community OBS.&lt;br /&gt;&lt;br /&gt;The proposed solution *must* allow MeeGo community users to use the MeeGo Community OBS without any reference to Nokia closed binaries; this facet of the service should be entirely optional.&lt;br /&gt;&lt;br /&gt;Equally the legal issues around the closed binaries require an EULA related to demonstrated possession of a relevant device. This can be handled in a similar manner to the Maemo Autobuilder service; ie registration of a serial# to a developer account.&lt;br /&gt;&lt;br /&gt;The proposal therefore is:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;To provide the closed binaries as a build-target repository (probably DoD for those who know and care) on the community OBS.&lt;/li&gt;&lt;li&gt;To grant ACL based access to this repository based on acceptance of an EULA&lt;/li&gt;&lt;li&gt;To *not* require any such EULA for 'MeeGo-only' accounts on the service&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I've run this by Tero Kejo in Nokia and he's very supportive of the idea.&lt;br /&gt;&lt;br /&gt;From:&lt;br /&gt;&lt;br /&gt;David Greaves / lbt&lt;br /&gt;&amp;nbsp;&amp;nbsp; Community Member and build systems guy.&lt;br /&gt;Niels Breet / X-Fade&lt;br /&gt;&amp;nbsp;&amp;nbsp; maemo.org webmaster and autobuild owner   &lt;br /&gt;Carsten Munk / Stskeeps&lt;br /&gt;&amp;nbsp;&amp;nbsp; maemo.org distmaster&lt;br /&gt;Andrew Flegg / Jaffa&lt;br /&gt;&amp;nbsp;&amp;nbsp; on behalf of the Maemo Community Council&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-1574076030484417441?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/1574076030484417441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2010/06/open-letter-proposal-to-allow-maemo-on.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/1574076030484417441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/1574076030484417441'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2010/06/open-letter-proposal-to-allow-maemo-on.html' title='Open Letter / Proposal to allow Maemo on the MeeGo Community OBS'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-6802022495047839698</id><published>2010-05-23T22:54:00.000+01:00</published><updated>2010-05-23T22:54:34.907+01:00</updated><title type='text'>I like crashes like that...</title><content type='html'>So I'm ssh'ed into my kerberos kdc server and at the same time I'm playing with nfsv4 and I clearly push the boundary somewhere and my NFS server has a kernel BUG and goes wibbly... ctrl-alt-sysreq S-U-B wibbly...&lt;br /&gt;&lt;br /&gt;Now the kerberos kdc is a VM on the nfs server; which also holds the home directory for my desktop. So my desktop hangs hard.... toast.&lt;br /&gt;&lt;br /&gt;I wander over to the nfs server and shut it down as best I can and reboot it.&lt;br /&gt;&lt;br /&gt;It comes back... and as it does my desktop wanders into life, my ssh session to the VM is still active; nothing happened.&lt;br /&gt;&lt;br /&gt;I like crashes like that :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-6802022495047839698?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/6802022495047839698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2010/05/i-like-crashes-like-that.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/6802022495047839698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/6802022495047839698'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2010/05/i-like-crashes-like-that.html' title='I like crashes like that...'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-6858931487017590475</id><published>2010-05-22T22:00:00.000+01:00</published><updated>2010-05-22T22:00:21.606+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kerberos'/><title type='text'>Kerberos and ssh</title><content type='html'>So you're setting up Kerberos and you've got a ticket with kinit&lt;br /&gt;&lt;br /&gt;the target has a host/&lt;dns name&gt;@REALM&lt;br /&gt;&lt;br /&gt;but ssh fails with:&lt;br /&gt;&lt;pre&gt;debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password&lt;br /&gt;debug1: Next authentication method: gssapi-keyex&lt;br /&gt;debug1: No valid Key exchange context&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Well the first thing to realise is that you're probably not using gssapi-keyex, you're probably using gssapi-with-mic (see http://www.ietf.org/rfc/rfc4462.txt if you want to know more).&lt;br /&gt;&lt;br /&gt;Running:&lt;br /&gt;&lt;pre&gt;/usr/bin/sshd -D -ddd -e&lt;br /&gt;&lt;/pre&gt;may give&lt;br /&gt;&lt;pre&gt;debug2: input_userauth_request: try method gssapi-with-mic&lt;br /&gt;debug3: mm_request_send entering: type 38&lt;br /&gt;debug3: mm_request_receive_expect entering: type 39&lt;br /&gt;debug3: mm_request_receive entering&lt;br /&gt;debug3: monitor_read: checking request 38&lt;br /&gt;debug1: Unspecified GSS failure.  Minor code may provide more information&lt;br /&gt;Key table entry not found&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The problem I has was a typical one in kerberos setups... DNS and name resolution has to work.&lt;br /&gt;In this case a simple entry in the hosts file with a non-fqdn and there are very few clues.&lt;br /&gt;&lt;br /&gt;So maybe you'll google some of that and it'll help... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-6858931487017590475?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/6858931487017590475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2010/05/kerberos-and-ssh.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/6858931487017590475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/6858931487017590475'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2010/05/kerberos-and-ssh.html' title='Kerberos and ssh'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-7037851033907006632</id><published>2010-05-16T11:38:00.000+01:00</published><updated>2010-05-16T11:38:03.487+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='OBS'/><title type='text'>OBS and Fremantle ... huge success :)    and HELP!!!!</title><content type='html'>As you may know I recently volunteered to setup a community OBS in my "spare time" (hah, right!). This is a progress report because I've reached a significant milestone... the following 193 applications have been built from 'Extras' most on both ARM and X86:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;blockquote&gt;accdisplay, acl, actman, adblock-plus-1.0, adflashblock-css, alienblaster, anarchism, attitude, attr, audiofile, avahi, battery-eye, belltower, blubbels, bluetooth-dun, bluezwitch, brainparty-data, burgerspace, catorise, clutter, clutter-gtk, copernicium, crimson, currencyconverter, datetoday-home-widget, dbus-python, de-lite, dialcentral, doom-wad-shareware, easy-deb-chroot, easypark, ejpi, fapn, feedingit, feedparser, flac, flatzebra, fm-boost, fmradio, freecell4maemo, fschedule, fuse, gboggle, glibmm2.4, glogarchive, gnome-python, gonvert, goocanvas, gpe-icons, gpodder-icon-theme, greekiradio, gst-plugins-good0.10-flv, gst-plugins-good0.10-mkv, gst-plugins-good0.10-ogg, gst0.10-python, gstreamer0.10-ffmpeg, gtk+extra2, gweled, headphoned, healthcheck, hex-a-hop, host, irssi, jamaendo, json-glib, kernel-power-settings, libart-lgpl, libcap, libdaemon, libevent, libffi, libgnomecanvas, libgnomeprint, libgtkhtml2, libliqbase, libmad, libmicrofeed, libmodplug, libraw-lite, librsvg, libsidplay, libsigc++-2.0, libsoup2.26-1, libxinerama, liqflow, lirc, lybniz, lzma, lzo2, madbomber, maemo-optify, mafw-lastfm, mancala, mastory, masudoku, mauku, mclock, meanwhile, mediabox, microfeed, microfeed-providers-unstable, microfeed-utils, milkyway-wallpaper, mirror, mplayer, mspede, mutagen, mygpoclient, n900-fmrx-enabler, n900fly, nako, ncalc, nmap, notify-python, omweather, openvpn, openvpn-applet, panucci, pedometerhomewidget, pexpect, polipo, poppler, proximityd, pycairo, pycurl, pygame, pygobject, pygtk, pygtkeditor, pyinotify, pymaemo-optify, pypianobar, pyrecipe, python-central, python-dbus, python-evolution, python-facebook, python-gdata, python-gtkhtml2, python-imaging, python-location, python-numeric, python-support, python-twitter, python-xml, python-ystockquote, qtsixa, quickbrownfox, quicknote, recaller, reflect, rfk, rmz-helsinki-wallpaper, rmz-senaatintori-wallpaper, rootsh, rsync, sdl-net1.2, sdl-ttf2.0, sdlgfx, sdlpango, sense, sgt-puzzles, shortcutd, sip4, sleeper, solarwolf, sopwith, sqlite, ssh-status, stockthis, storageusage, supertux-stable, systeminfowidget, tar, tennix, thai-ttf, tickstill, tor, touchsearch, tsocks, uqm-3do-data, uqm-data, uremote, ussd-common, ussd-widget, vim, vor, vultures, wget, witter, worldtv99, xkblayouts-rx51-ru, zoutube&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;There are a lot that don't build but I think we're at the point where I need help from some experts and it's time to open the beta service up to early adopters. You can see what I've done &lt;a href="http://wiki.maemo.org/OpenSuse_Build_Service/Fremantle_Setup"&gt;to setup Fremantle on the OBS&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;As I said &lt;/span&gt;&lt;span style="font-size: x-large;"&gt;HELP&lt;/span&gt;&lt;br /&gt;I now need to fix build issues like:&lt;br /&gt;&lt;pre&gt;installing hildon-update-category-database&lt;br /&gt;/usr/bin/hildon-update-category-database: I don't have write permission on /usr/share/mime.&lt;br /&gt;Try rerunning me as root.&lt;br /&gt;dpkg: error processing hildon-update-category-database (--install):&lt;br /&gt; subprocess post-installation script returned error exit status 1&lt;br /&gt;Errors were encountered while processing:&lt;br /&gt; hildon-update-category-database&lt;br /&gt;exit ...&lt;br /&gt;&lt;/pre&gt;which blocks a large number of applications&lt;br /&gt;&lt;br /&gt;and package specific ones like this in libogg:&lt;br /&gt;&lt;pre&gt;automake: configure.in: installing `./mkinstalldirs'&lt;br /&gt;Makefile.am:3: require version 1.6, but have 1.4-p6&lt;br /&gt;include/ogg/Makefile.am:6: invalid variable `nodist_ogginclude_HEADERS'&lt;br /&gt;autoreconf: automake failed with exit status: 1&lt;br /&gt;make: *** [configure-stamp] Error 1&lt;br /&gt;dpkg-buildpackage: failure: debian/rules build gave error exit status 2&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I can fix almost all of them myself but that's not the point - we need a team to make this work. Please get in touch and help.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-7037851033907006632?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/7037851033907006632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2010/05/obs-and-fremantle-huge-success-and-help.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/7037851033907006632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/7037851033907006632'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2010/05/obs-and-fremantle-huge-success-and-help.html' title='OBS and Fremantle ... huge success :)    and HELP!!!!'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-8261804581386415316</id><published>2010-05-16T10:28:00.000+01:00</published><updated>2010-05-16T10:28:02.468+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MeeGo'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='OBS'/><title type='text'>Community Building for Maemo and MeeGo - What does the OBS *Do*?</title><content type='html'>In a closed environment you use what's in the SDK and you get your own little space; talking to others is discouraged and sharing and re-use outside the blessed area is frowned upon. This dictatorial style has the advantage of making life easier for the vendor. In an open world we have more interactions... and as students of networks know: increased connectivity brings increased complexity as well as increased benefits.&amp;nbsp; So this is an initial proposal for the organisation of OBS build projects and packages to support a QA process into an app-store / Extras or garage-like environment.   I'll introduce some basic OBS concepts and then describe how this might work. I would like this to raise awareness of some potential complexities that we may face and get some thoughts on how to deal with them. ...... Oh, and this is about both Maemo and MeeGo.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;First an OBS Intro&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;  It's a build system (fully local) and a build service (like the autobuilder).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  You put source into it and say "use this repository"  and it spits binary packages out.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; It builds a minimal and "clean" SDK using the repository you told it to use&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  It has packages - a package corresponds to a tarball and a spec/dsc&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  It has projects - a project is like a directory with packages&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  Packages are 'published' into a corresponding repository (which can be shared with others)&lt;br /&gt;&lt;/li&gt;&lt;li&gt; The published repositories can also be used by devices to download binary packages.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;There is a lot more to it; scheduling, dependency based building, multiple architecture support, home projects, package signing...&lt;br /&gt;&lt;br /&gt;The 'trick' then, is to set up a structure of projects that we can use to support the publishing and sharing activities that we need.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;So What are our Goals?&lt;/span&gt;&lt;br /&gt;We want:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  to allow freedom for developers to develop;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  to provide a great build service and SDK&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  to work with the core distro as much as possible&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  to provide excellent quality assured applications for our "app store";&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  and for MeeGo, to extend the core distro with a community supported area for libraries and packages that are depended upon by more than one application. &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;First thing we get: Individual Homes and PPAs&lt;/span&gt;&lt;br /&gt;You'll start by uploading and building a package in your "home" directory (which can have a structure underneath it for multiple projects). This will allow you to build against any of the main distros; any group/community projects or even any other community member home projects. Oh, and they can use your code as a baseline too. Once built your code is automatically published to a repo on the&lt;br /&gt;community downloads server.&lt;br /&gt;&lt;br /&gt;This is a lot like the Ubuntu PPA solution.&lt;br /&gt;&lt;br /&gt;At that point you can stop if you want. You have a complete set of repositories (1/subproject). No painful QA processes. No 'fragmentation'. But equally your repo(s) will needed to be manually added to a device in order for it to appear in any apt-get/zypper/yum etc.&lt;br /&gt;&lt;br /&gt;A huge benefit here is that to get at a development version of an application you use a specific repository, not a mishmash of randomly unstable packages like Extras-devel.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;For the pros: Community QA'ed Repository - Extras&lt;/span&gt;&lt;br /&gt;If you'd like your application to appear in the Extras repo which is pre-installed on devices then you can submit to the QA process.&lt;br /&gt;&lt;br /&gt;First you register for the package name, then submit your code to the distro promoter; there it is QA checked, copied to Extras:Testing, built, QA'ed again and becomes available in the Testing repository.&lt;br /&gt;&lt;br /&gt;&amp;lt;here be dragons&amp;gt; The community testers then approve your code. &amp;lt;/dragons&amp;gt;&lt;br /&gt;&lt;br /&gt;(I know that's a contentious point - and I don't have an answer. I do however have confidence that we can solve the problem through collaboration and co-operation.)&lt;br /&gt;&lt;br /&gt;Once approved the code is copied to the Extras:Stable repository for publication.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Much of this text is online at: &lt;br /&gt;  &lt;a href="http://wiki.maemo.org/OpenSuse_Build_Service"&gt;http://wiki.maemo.org/OpenSuse_Build_Service&lt;/a&gt;&lt;br /&gt;(I really hate it when things get locked up in blog posts and forums)&lt;br /&gt;&lt;br /&gt;How can you help?&lt;br /&gt;&lt;br /&gt;Some tasks needed to get the OBS running:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  OBS Installation - a detailed guide on how the system was setup.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  Application QA Process on the OBS - a proposal&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  Setting up Fremantle - WIP - post to follow&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  Fixing the Fremantle SDK - mmmm&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  Setting up cross-building - started, not imported yet&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  An OBS Autobuilder queue - not started&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  Reporting - not started &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Also see:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  &lt;a href="http://wiki.meego.com/Proposal_for_Community_Application_Support"&gt;http://wiki.meego.com/Proposal_for_Community_Application_Support&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;  &lt;a href="http://wiki.meego.com/Proposal_for_a_Repository_working_group"&gt;http://wiki.meego.com/Proposal_for_a_Repository_working_group&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-8261804581386415316?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/8261804581386415316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2010/05/community-building-for-maemo-and-meego.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/8261804581386415316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/8261804581386415316'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2010/05/community-building-for-maemo-and-meego.html' title='Community Building for Maemo and MeeGo - What does the OBS *Do*?'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-8013783331389723298</id><published>2010-05-07T18:20:00.003+01:00</published><updated>2010-05-07T18:27:08.610+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MeeGo'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='OBS'/><title type='text'>It was the Dawn of the 3rd Age...</title><content type='html'>...and not only is the Shadow War over but it looks like we &lt;span style="font-size: small;"&gt;&lt;b&gt;will&lt;/b&gt;&lt;/span&gt; have a community OBS thanks to the team formerly known as maemo.org infrastructure :)&lt;br /&gt;&lt;br /&gt;I'm really excited as I see this as a way for the Maemo and Moblin development communities to transition smoothly into a MeeGo future; we should eventually be able to offer an easy way to build applications for Fremantle, Harmattan, MeeGo and future device OSes too.&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;So what's happened?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A while ago the &lt;a href="http://wiki.meego.com/Proposal_for_a_Repository_working_group"&gt;RWG proposal&lt;/a&gt; was begun and we've been pushing it ever since. Tero, Mike, Neils and others have been working on the &lt;a href="http://wiki.meego.com/Proposal_for_Community_Application_Support"&gt;CAT proposal&lt;/a&gt; as well as the RWG. We got together on irc and had a chat about the scope and how to proceed.&lt;br /&gt;&lt;br /&gt;Last week &lt;a href="http://trac.tspre.org/meetbot/meego-meeting/2010/meego-meeting.2010-05-05-18.58.html"&gt;the TSG agreed&lt;/a&gt; we need something (kinda!) - so we decided that we'd go ahead and do it.&lt;br /&gt;&lt;br /&gt;We now (thanks to Tero &amp;amp; Nokia?) have a test machine behind a firewall and I've setup an OBS (&lt;a href="http://wiki.maemo.org/OpenSuse_Build_Service/Installation"&gt;more than you ever wanted to know... but you said to work in the open, right?&lt;/a&gt;) to prototype how we'd deploy it for community use. This has a link to the MeeGo OBS and successfully builds MeeGo packages.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Where are we going?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I don't know yet; but here's what I'm proposing (my ideas tempered with some input from others):&lt;br /&gt;&lt;br /&gt;Initially we should offer a MeeGo OBS and a Maemo OBS. There are corporate issues around this and whilst my personal aim is a single build system able to build debs and rpms against any M[aemG]*o distro, that isn't the first step.&lt;br /&gt;&lt;br /&gt;The MeeGo OBS will probably offer home directories and a way to build against the MeeGo weekly snapshots. We may be able to offer a 'live' feed if some OBS bugs are resolved and we have the build resources.&lt;br /&gt;&lt;br /&gt;The Maemo OBS will provide an alternative to the autobuilder for Fremantle and, eventually, for Harmattan. This makes sense as our longer term future with MeeGo is clearly the OBS.&lt;br /&gt;&lt;br /&gt;One thing I dread is having to go to each device vendor's build system to make build my app for their community app store; so maybe off into the future we'll even provide a neutral place where we can support multiple vendors: a single build system that can build community   MeeGo apps for devices from any vendor that participate.&lt;br /&gt;&lt;br /&gt;Another area of interest to me is something I call "Surrounds" (yes, Quim, I know... it needs work). This isn't my idea... lots of software products and distros have it. It's that chaotic area around a product where 'outsiders' or community people contribute their "unsupported" bits and pieces. Actually this deserves a post on its own. Anyhow, I think the OBS will make managing this a lot easier for the community.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;There is still a lot to do...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We've asked a few community devs to join (and please come and talk to us if you feel you can help - bear in mind that we need documentation and build system process experience more than development skills).&lt;br /&gt;&lt;br /&gt;A big task is the setup of an OBS build system for Fremantle. I managed to get this 80% done a while ago so that work needs digging up and finishing off. Once that's done we will need a lot of help validating all the Extras apps.&lt;br /&gt;&lt;br /&gt;Yet more work is required on my cross-compilation system used by the OBS. That was deployed for Mer and we need to redeploy it for Fremantle too.&lt;br /&gt;&lt;br /&gt;There is work on reporting systems and QA automation systems going on that we can re-use which will help in transforming the autobuilder promotion type processes and figuring out what is and isn't needed in the OBS world.&lt;br /&gt;&lt;br /&gt;Speaking of which ... do we take this opportunity to tweak the Extras promotion policy?&lt;br /&gt;I think we need something like the Devel-&amp;gt;Testing-&amp;gt;Stable process for Maemo apps - but maybe we should be working with the CAT guys to figure this one out?&lt;br /&gt;&lt;br /&gt;Finally please don't ask me when you'll get to use it, we don't have a schedule yet :(&lt;br /&gt;&lt;br /&gt;However, do feel free to ask me what we're working on or what we've done or what you can help with.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-8013783331389723298?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/8013783331389723298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2010/05/it-was-dawn-of-3rd-age.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/8013783331389723298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/8013783331389723298'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2010/05/it-was-dawn-of-3rd-age.html' title='It was the Dawn of the 3rd Age...'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-1358751361841230284</id><published>2009-12-22T12:30:00.000Z</published><updated>2009-12-22T12:30:32.178Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='N900'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><title type='text'>N900 and Mozilla on the BBC</title><content type='html'>Here's the &lt;a href="http://news.bbc.co.uk/1/hi/technology/8425906.stm"&gt;BBC Technology story&lt;/a&gt; it's good that the N900 is being seen as an open system at this level.&lt;br /&gt;&lt;br /&gt;snippets:&lt;br /&gt;&lt;blockquote&gt;The browser, codenamed Fennec, will initially be available for Nokia's N900 phone, followed by other handsets. &lt;br /&gt;&lt;/blockquote&gt;&amp;nbsp;and&lt;br /&gt;&lt;blockquote&gt;&amp;nbsp;Apple is very restrictive. It doesn't allow other browsers.&lt;br /&gt;&lt;/blockquote&gt;which is all promoting the core values the community loves about Maemo...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-1358751361841230284?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/1358751361841230284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2009/12/n900-and-mozilla-on-bbc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/1358751361841230284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/1358751361841230284'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2009/12/n900-and-mozilla-on-bbc.html' title='N900 and Mozilla on the BBC'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-1271990730865802802</id><published>2009-11-06T23:51:00.000Z</published><updated>2009-11-06T23:51:50.555Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android... is it Linux ?</title><content type='html'>This i just something that I saw on LWN (from Harald Welte) and felt needed a little more visibility here at maemo.&lt;br /&gt;&lt;blockquote&gt;The presentation shows how Google has simply thrown 5-10 years of Linux userspace evolution into the trashcan and re-implemented it partially for no reason.  Things like hard-coded device lists/permissions in object code rather than config files, the lack of support for hot-plugging devices (udev), the lack of kernel headers.  A libc that throws away System V IPC that every unix/Linux software developer takes for granted. The lack of complete POSIX threads.  I could continue this list, but hey, you should read those slides. now! &lt;br /&gt;&lt;/blockquote&gt;&amp;nbsp;&lt;a href="http://tree.celinuxforum.org/CelfPubWiki/ELCEurope2009Presentations?action=AttachFile&amp;amp;do=get&amp;amp;target=Mythbusters_Android.pdf"&gt;The slides&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As usual the &lt;a href="http://lwn.net/Articles/360343/"&gt;commentary&lt;/a&gt; at LWN raises some interesting counters.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-1271990730865802802?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/1271990730865802802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2009/11/android-is-it-linux.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/1271990730865802802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/1271990730865802802'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2009/11/android-is-it-linux.html' title='Android... is it Linux ?'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-7264465332576379396</id><published>2009-10-27T12:51:00.000Z</published><updated>2009-10-27T12:51:20.225Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='OviMustImprove'/><title type='text'>Ovi Maps... Really? Is this the best we can do?</title><content type='html'>I got caught in a nasty traffic jam tonight just a few miles from home.&lt;br /&gt;&lt;br /&gt;There was a road that I've never been down - windy country lanes, right general direction...&lt;br /&gt;&lt;br /&gt;I grin and whip out my N900 and give it to my wife to navigate us - just the ticket?&lt;br /&gt;&lt;br /&gt;No.&lt;br /&gt;&lt;br /&gt;An hour later we've been lost several times, argued and are generally very annoyed and unhappy. My wife thinks that *I* think she's stupid 'cos she can't use a map application. She hates that. I hate that.&lt;br /&gt;&lt;br /&gt;The maps UI sucks. It is unusable to a novice. The GPS seems to update randomly every 10 mins or so. It blocks the screen with messages. It tries to connect to GPRS when there's no signal (and clearly no need). Mostly it just completely fails to meet its purpose.&lt;br /&gt;&lt;br /&gt;As we hit a road we recognised I realised that I was so pissed off with this experience that if I were a consumer who'd paid retail for this device &lt;span style="font-size: large;"&gt;I would want my money back &lt;/span&gt;- and as someone who has breathed Maemo for almost a year now, that makes me very, very sad.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/96141280@N00/4048158716/" title="Ovi Maps is Crap by davidmg, on Flickr"&gt;&lt;img alt="Ovi Maps is Crap" height="376" src="http://farm3.static.flickr.com/2464/4048158716_49c82da6be.jpg" width="500" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-7264465332576379396?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/7264465332576379396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2009/10/ovi-maps-really-is-this-best-we-can-do.html#comment-form' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/7264465332576379396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/7264465332576379396'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2009/10/ovi-maps-really-is-this-best-we-can-do.html' title='Ovi Maps... Really? Is this the best we can do?'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2464/4048158716_49c82da6be_t.jpg' height='72' width='72'/><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-6840982549466479580</id><published>2009-10-12T18:54:00.000+01:00</published><updated>2009-10-12T18:54:12.595+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='Privilege'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><title type='text'>Maemo Security - Lockdown or Liberation?</title><content type='html'>At the Maemo2009 Summit Nokia shared a great deal of information about the security mechanisms that would be available and/or mandated in upcoming platforms.&lt;p&gt;The concepts outlined include well established favourites in the OSS world (like privilege management) as well as some that are rather less well regarded - such as relatives of the Trusted Computing Platform and DRM.&lt;p&gt;Inevitably there will be a significant amount of interest and concern about how this affects the open nature of the Maemo platform.&lt;br /&gt;&lt;br /&gt;I'd like to highlight that there is a specific boot-path &lt;b&gt;designed in&lt;/b&gt; to allow a community kernel to be booted with, as far as I could tell, no loss of functionality other than access to DRM content. That's amazingly positive.&lt;br /&gt;&lt;br /&gt;For what it's worth I will say that I was massively sceptical as soon as I saw "Trusted Computing" and "DRM"; however after listening and thinking about it I came to the conclusion that this solution could be a huge benefit to the OSS community. Certainly Nokia can abuse it - but that's not the point. The point is do we - and should we - trust them.&lt;br /&gt;&lt;br /&gt;We certainly &lt;b&gt;need&lt;/b&gt; more security. Right now when I download an application from Extras-Devel it can do &lt;b&gt;anything&lt;/b&gt; to my device; on an N800 that's not so bad - on an N900 that can incur significant cost and could conceivably (and almost trivially) be used to  &lt;style type="text/css"&gt;p, li { white-space: pre-&lt;/style&gt;perpetrate fraud. I'd &lt;b&gt;like&lt;/b&gt; to be able to say "no, scrabble game, you can't access my contacts data or make phonecalls - what on earth do you need to do that for?" An open security infrastructure would make me feel a whole lot more comfortable.&lt;br /&gt;&lt;br /&gt;As a starting point to a rational response I think a sensible thing to do is to brainstorm the key questions we need to ask Nokia in order to gather the data needed to come to a conclusion.&lt;br /&gt;&lt;br /&gt;The presentation was a great start - as was Elena's offer to continue the discussion on the mailing lists and respond to our queries and concerns (Thanks Elena).&lt;br /&gt;&lt;br /&gt;So,I have started a &lt;a href="http://wiki.maemo.org/MaemoSecurity"&gt;Maemo Security&lt;/a&gt; page on the wiki which I hope can capture community questions (and, eventually I hope, Nokia's answers) about these issues.&lt;br /&gt;&lt;br /&gt;The first questions are draft (I just landed and I'm tired!) to get people thinking. Certainly I want to re-watch Elena's presentation video several times before going much further.&lt;br /&gt;&lt;br /&gt;I suggest we initially add questions to the&amp;nbsp; &lt;a class="new" href="http://wiki.maemo.org/Talk:MaemoSecurity" title="Talk:MaemoSecurity discussion"&gt;Maemo Security discussion&lt;/a&gt; page and&amp;nbsp; and once they've been refined and consolidated, we'll add them onto the main page.Obviously discussion needs to happen on talk, email and irc too.&lt;br /&gt;&lt;br /&gt;I'll wrap up with a plea - &lt;span style="font-size: large;"&gt;please don't over-react&lt;/span&gt;&amp;nbsp; - jumping to conclusions and misleading the rest of the OSS community before we know the facts can only hurt what has so far been the most amazingly open phone device I could have dreamt of!&lt;br /&gt;&lt;br /&gt;PS The Summit was brilliant!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-6840982549466479580?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/6840982549466479580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2009/10/maemo-security-lockdown-or-liberation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/6840982549466479580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/6840982549466479580'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2009/10/maemo-security-lockdown-or-liberation.html' title='Maemo Security - Lockdown or Liberation?'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-5420165932004641142</id><published>2009-10-06T23:22:00.001+01:00</published><updated>2009-10-06T23:39:43.087+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Summit'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><title type='text'>Important Summit Announcement</title><content type='html'>Well, it's important if you arrive for the Summit on Thursday and want to meet up for a beer (or, if Copenhagen was anything to go by... an ice-cream) in the evening.&lt;br /&gt;&lt;br /&gt;More details here: &lt;br /&gt;&amp;nbsp; http://wiki.maemo.org/Maemo_Summit_2009/Schedule&lt;br /&gt;&lt;br /&gt;Meet up at 19:00 (so after early registration closes).&lt;br /&gt;&lt;br /&gt;There will be free beer available&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if someone offers to buy it ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-5420165932004641142?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/5420165932004641142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2009/10/important-summit-announcement.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/5420165932004641142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/5420165932004641142'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2009/10/important-summit-announcement.html' title='Important Summit Announcement'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-7454325623565824704</id><published>2009-09-21T09:54:00.000+01:00</published><updated>2009-09-21T09:54:36.281+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mer'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='PUSH'/><title type='text'>Want to PUSH... need a kickstart?</title><content type='html'>So one problem with the &lt;a href="http://blogs.nokia.com/pushn900/"&gt;PUSH&lt;/a&gt; is that it's a bit tough for us software nerds to get into the real world. What would be cool is a nice easy "apt-get install HARDWARE" ... interested? read on...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.velleman.eu/images/products/0/k8055.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://www.velleman.eu/images/products/0/k8055.jpg" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;A few years ago I bought a couple of these boards for about £25.&lt;br /&gt;&lt;br /&gt;They provide: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span id="Description"&gt;5 digital input channels&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="Description"&gt;8 digital output channels&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="Description"&gt;2 analogue inputs&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="Description"&gt;2&lt;/span&gt;&lt;span id="Description"&gt; analogue outputs (8 bit resolution)&lt;/span&gt;&lt;span id="Description"&gt; &lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span id="Description"&gt; You can also have up to 4 of these plugged in via a usb hub&lt;/span&gt;&lt;span id="Description"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="Description"&gt;So, I thought... how hard can it be... and actually it is quite easy. The source is on sourceforge and I'm packaging it so you can pull&lt;/span&gt;&lt;span id="Description"&gt; libvelleman from garage, plug in a board and PUSH :) &lt;/span&gt;&lt;br /&gt;&lt;span id="Description"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="Description"&gt;As you can see the test program implements K.I.T.T. for you...&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/xPXyES0-9-Q&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/xPXyES0-9-Q&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;So now all we need is someone with an N900 to help me test it...&lt;br /&gt;&lt;br /&gt;(Warning: Don't get your hopes up - it appears that the N900 can't (yet?) act as a normal USB host; so no plugging in printers....)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-7454325623565824704?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/7454325623565824704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2009/09/want-to-push-need-kickstart.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/7454325623565824704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/7454325623565824704'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2009/09/want-to-push-need-kickstart.html' title='Want to PUSH... need a kickstart?'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-8371007952420769794</id><published>2009-09-04T16:56:00.000+01:00</published><updated>2009-09-04T16:56:53.457+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mer'/><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='gitorious'/><title type='text'>The Summit: Git/Gitorious - Untracked talks: consider adding them...</title><content type='html'>I proposed a talk at the summit on DVCS and git and it has not been accepted (or rejected) by the talk selection group. This isn't a complaint&amp;nbsp; :)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . . . . . &amp;nbsp; however I do worry that it &lt;b&gt;might&lt;/b&gt; worth pushing ... what do you think? (Breaking news... sounds like there has been an acceptance - also it may make sense to do a BOF session after any presentations). I still would appreciate feedback - what' important to you?&lt;br /&gt;&lt;br /&gt;This message is just to solicit opinions and hopefully will validate their decision. If it causes a rethink then that's fine too. &lt;br /&gt;&lt;br /&gt;Heh - I could do without the extra work involved!! &lt;br /&gt;&lt;br /&gt;I personally thing think that as a development community with git on garage and gitorious.org we should be making efforts to understand how best to use DVCS processes to collaborate.&lt;br /&gt;&lt;br /&gt;Maybe it's just me but I see a lot of devs who are new to DVCS and very few community guidelines on how to use DVCS. Qt uses it but, as we've recently been discussing, it could be going better.&lt;br /&gt;&lt;br /&gt;Frankly I don't care which 'good practice' I use - I can go out and find lots of them. But it strikes me that as a community we should at least say "hey, quite a few of us are using this approach - if you don't have any strong preferences then you can use it too"&lt;br /&gt;&lt;br /&gt;So why now?&lt;br /&gt;&lt;br /&gt;Well, real soon now (I hope) we're going to have 3 different versions to support.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fremantle&lt;/li&gt;&lt;li&gt;Diablo&lt;/li&gt;&lt;li&gt;Mer&lt;/li&gt;&lt;/ul&gt;They'll each have different capabilities and some apps just won't care - they'll support Fremantle or Diablo and ignore the others. That's fine. &lt;br /&gt;(Although being open-source you might find patches being sent in to add support for another flavour - how will you cope? Wouldn't you like some help in doing the boring stuff?)&lt;br /&gt;&lt;br /&gt;Other apps will decide to embrace that diversity from the start.&lt;br /&gt;&lt;br /&gt;So how do we (you) manage the build-variations (ie debian/* may well vary for each of them. Maybe ./configure too)? Do we use branches? How?&lt;br /&gt;&lt;br /&gt;Now how do we manage adding features and back-porting simple bug fixes to the stable release whilst you work on that big new feature set.&lt;br /&gt;&lt;br /&gt;How are contributions and teams handled?&lt;br /&gt;&lt;br /&gt;It sounds horrendous - and it can be!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But actually this is all fairly simple stuff with DVCS once you have it explained and once you grok it - but it's bloody hard to figure out from scratch and it's also very unlikely that you'll arrive at the same solution as another team.&lt;br /&gt;&lt;br /&gt;Which means if you're a member of multiple teams you might find they each have different approaches - "whoo hoo!" - not! &lt;br /&gt;&lt;br /&gt;So anyway... I thought a talk would be a good idea.&lt;br /&gt;&lt;br /&gt;Now at the time no-one had volunteered so I did - some of you may have noticed my name at the bottom of:&lt;br /&gt;&amp;nbsp; &lt;a href="http://www.kernel.org/pub/software/scm/git/docs/git.html"&gt;http://www.kernel.org/pub/software/scm/git/docs/git.html&lt;/a&gt;&lt;br /&gt;(yes, I'm proud of that contribution)&lt;br /&gt;&lt;br /&gt;Now you may think that qualifies me to offer this talk - you'd be wrong ;)&lt;br /&gt;&lt;br /&gt;I was hanging around the kernel lists at the time, got interested and acted as an 'editor' pulling together words of wisdom. Since then I've used git a little but it wasn't until we started to need it in Mer that I reviewed the state-of-play and tried to pull in other people's good ideas - so that's what I'd use as a base.&lt;br /&gt;&lt;br /&gt;However we also have Johan Sørensen who wrote &lt;a href="http://gitorious.org/"&gt;Gitorious.org&lt;/a&gt; - I think having him speak on using git and gitorious would be an opportunity that we shouldn't miss.&lt;br /&gt;&lt;br /&gt;Equally there must be developers in Nokia/Trolltech who could say "we know this stuff and this is how we think you might want to do it."&lt;br /&gt;&lt;br /&gt;So... speak now...&lt;br /&gt;&lt;br /&gt;PS If anyone fancies collaborating and doing a multi-person presentation then I'm up for it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-8371007952420769794?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/8371007952420769794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2009/09/summit-gitgitorious-untracked-talks.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/8371007952420769794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/8371007952420769794'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2009/09/summit-gitgitorious-untracked-talks.html' title='The Summit: Git/Gitorious - Untracked talks: consider adding them...'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-3849946079864974308</id><published>2009-09-04T15:00:00.001+01:00</published><updated>2009-09-04T17:05:27.102+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UML2Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Mer'/><category scheme='http://www.blogger.com/atom/ns#' term='UML'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='GrandCentral'/><title type='text'>GrandCentral for Mer... connecting the components</title><content type='html'>First, I'm sorry but this isn't an N900 post :) instead I've been looking at one of the areas that's holding back Mer. It's fairly simple conceptually: just handling interaction between various parts of the system; and by this I mean things like screen dimming; what happens when you press the power key; shutting down when the battery is low; waking up for an alarm... Things that should just work.&amp;nbsp; Well, I think I have a potential solution. (Oh, and some of you may be interested... I also found out how far eclipse has come in the UML modelling space too!)&lt;br /&gt;&lt;br /&gt;Currently this is handled by &lt;code&gt;powerlaunch&lt;/code&gt;; it is really not a bad bit of code and does most of its job well.&lt;br /&gt;&lt;br /&gt;Sadly it &lt;b&gt;really sucks&lt;/b&gt; at being configurable!&lt;br /&gt;&lt;br /&gt;Here's a snippet:&lt;br /&gt;&lt;code&gt; global_key_press_power = timer_set _key_power_long $powerkey_longdelay; timer_set _key_power_medium $powerkey_mediumdelay; set powerkey_short 1; call _key_press_power_short&lt;br /&gt;global_key_release_power = timer_cancel _key_power_long; timer_cancel _key_power_medium; if $powerkey_short _key_release_power_short key_release_power_long&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;I don't know what it does and the only way I'd be happy changing it would be after extensive research. Frankly it scares me!&lt;br /&gt;&lt;br /&gt;Here's what I was thinking we'd do for a 'configuration' syntax in Mer:&lt;br /&gt;&lt;br /&gt;&lt;code&gt; # describe some action&lt;br /&gt;def on_wifi_up():&lt;br /&gt;&amp;nbsp;&amp;nbsp;notify "The wifi is up"&lt;br /&gt;&amp;nbsp;&amp;nbsp;os.system("mail me@gmail.com -S 'wifi is up'")&lt;br /&gt;&lt;br /&gt;connect(wifi, "Connection.up", on_wifi_up)&lt;br /&gt;&lt;br /&gt;connect(camera, "Camera.active", takePhotoAfter10Secs)&lt;br /&gt;connect(camera, "Camera.turn",&amp;nbsp;&amp;nbsp; media.play, "/home/lbt/sounds/camera_click.wav")&lt;br /&gt;connect(powerButton, "Button.longPress", powermenu.show_menu)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This uses a python signal library (like Qt or libsigc++) and provides a set of component objects that emit nice signals like "Connection.up".&lt;br /&gt;&lt;br /&gt;The benefits of this approach: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;simple syntax is nice and readable&lt;/li&gt;&lt;li&gt;interpreted so can easily be edited&lt;/li&gt;&lt;li&gt; python understood by many so can be easily extended&lt;/li&gt;&lt;li&gt;re-uses some powerlaunch code (eg powered)&lt;/li&gt;&lt;/ul&gt;Of course there are drawbacks: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;it's not a config file - it's code (but considering we want to configure functional behaviour then any config syntax needs to be a language... so use a decent one)&lt;/li&gt;&lt;li&gt;python is quite large (but it's now in memory and .so are available)&lt;/li&gt;&lt;li&gt;it's another re-write :(&amp;nbsp; (it only took a few days and I'm using powerlaunch as a prototype for config rules - if I can understand them!!)&lt;/li&gt;&lt;/ul&gt;So anyway, as I said, I found eclipse Modelling edition...&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/96141280@N00/3881800833/" title="GrandCentral UML diagram by lbt"&gt;&lt;img alt="GrandCentral" src="http://farm4.static.flickr.com/3456/3881800833_aa24c71895_o.png" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This says (well, I hope it says):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;There is a system and a user dispatcher&lt;/li&gt;&lt;li&gt;They're based on a common Dispatcher&lt;/li&gt;&lt;li&gt;Which contains components (such as Headphone, Menu etc) that can&lt;/li&gt;&lt;ul&gt;&lt;li&gt;send signals (eg when the camera on the N800 is turned)&lt;/li&gt;&lt;li&gt;take requests (dim the screen)&lt;/li&gt;&lt;li&gt;provide state information (a headphone is connected)&lt;/li&gt;&lt;li&gt;be accesed on D-Bus&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;The Dispatcher creates Connections which&lt;/li&gt;&lt;ul&gt;&lt;li&gt; listen() for Components to emit signals (also listening on D-Bus)&lt;/li&gt;&lt;li&gt;run Scriptlets which &lt;b&gt;might&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;run arbitary code&lt;/li&gt;&lt;li&gt;make requests to components&lt;/li&gt;&lt;li&gt;emit signals that (other) Connections can listen() for&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Scriptlets are part of the Dispatcher&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;Oh, and the good news is that it's up and running... I'll put the code on gitorious RSN.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-3849946079864974308?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/3849946079864974308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2009/09/grandcentral-for-mer-connecting.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/3849946079864974308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/3849946079864974308'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2009/09/grandcentral-for-mer-connecting.html' title='GrandCentral for Mer... connecting the components'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-4772385806143956311</id><published>2009-09-03T10:00:00.025+01:00</published><updated>2009-09-03T10:00:00.870+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mer'/><category scheme='http://www.blogger.com/atom/ns#' term='OSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><title type='text'>Do you take contributions?  or is it "Beware of the Leopard"</title><content type='html'>Open source is about opening things up... right?&lt;br /&gt;Well, yes.&lt;br /&gt;But I think there's more to it than that.&lt;br /&gt;&lt;br /&gt;Think about the kernel and how that works. A wide open mailing list (and source repository) with people getting on with it. Fedora? Ubuntu? The same. SGI's XFS filesystem; in fact any number of projects out there.&lt;br /&gt;&lt;br /&gt;But what does that even mean? "Getting on with it?"&lt;br /&gt;&lt;br /&gt;To me it means discussions, proposals, code, designs, bugs. If you care you can watch; you can even attempt to join in. You can certainly learn about what's happening and why.&lt;br /&gt;&lt;br /&gt;So here's the question...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Where's the 'Contribute to Maemo' on maemo.org?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Fremantle is coming out - but it just appears on the download servers. There's no opportunity for the community to contribute. Where are the mailing list archives or the commit logs so I can find who committed that change, when and why?&lt;br /&gt;&lt;br /&gt;Opensource means you can't be shy; open doesn't mean "behind closed doors"; it doesn't mean "you get it when we're done".&lt;br /&gt;&lt;br /&gt;Open means "this is what we're doing". And "we" includes the community.&lt;br /&gt;&lt;br /&gt;I hope we're doing it &lt;a href="http://wiki.maemo.org/Mer/Awareness"&gt;the right way in Mer&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;irc is our main collaboration area and that's open and logged. Not terribly useful as an archive though. We have the chatter mailing list which gives a pretty good summary of key events.&lt;br /&gt;&lt;br /&gt;What we do to activate incoming developers to make it easy for them to contribute? Well, we've adopted gitorious as our DVCS and I think the process and UI there makes that a good call. I've also put &lt;a href="http://wiki.maemo.org/Mer/Build"&gt;some effort into describing our 'internal' build processes&lt;/a&gt; and what we (ultimately) expect DVCS contributions to look like.&lt;br /&gt;&amp;nbsp;Carsten has setup a &lt;a href="http://trac.tspre.org:9010/"&gt;neat little tracker&lt;/a&gt; of outstanding tasks so potential contributors can pick up things to work on.&lt;br /&gt;&lt;br /&gt;We have some design statements on the wiki and we know that 'track Fremantle and predict Harmattan' are our tenets.&lt;br /&gt;&lt;br /&gt;I wondered what Android does?&lt;br /&gt;Hmm : &lt;a href="http://source.android.com/roadmap"&gt;http://source.android.com/roadmap&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;The Android Open Source Project will publish roadmaps forupcoming releases. The roadmaps will be developed with input from thiscommunity, Project Leads, and the Open Handset Alliance&lt;/blockquote&gt;Sounds good.. and the code is up there.&lt;br /&gt;&lt;br /&gt;What about contributions?&lt;br /&gt;Well... &lt;a href="https://review.source.android.com/#change,11544"&gt;say no more!&lt;/a&gt; A random click got me that gem.&lt;br /&gt;&lt;br /&gt;Nokia and Maemo5 .... well, to be frank it looks a lot more like Microsoft.&lt;br /&gt;&lt;br /&gt;And that's not that harsh :)&lt;br /&gt;&lt;br /&gt;Microsoft provide (I'm told) excellent documentation for developing OSS on their platform.&lt;br /&gt;&lt;br /&gt;For Maemo there is some &lt;a href="http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Development_Environment/Maemo_SDK"&gt;really&lt;/a&gt; good developer documentation (seriously - I think this is not shouted about enough); there's superb support for creating OSS &lt;b&gt;on&lt;/b&gt; Maemo platforms; and that's absolutely crucial.&lt;br /&gt;&lt;br /&gt;Contributing &lt;b&gt;to&lt;/b&gt; Maemo... not so much.&lt;br /&gt;&lt;br /&gt;Yes, the source is there for the released maemo packages; and there are random directories like &lt;a href="https://stage.maemo.org/svn/maemo/projects/email/osso-email-interface/trunk/ChangeLog"&gt;this&lt;/a&gt; or &lt;a href="https://stage.maemo.org/svn/maemo/projects/haf/tags/gail/gail-1.18.0-osso14/"&gt;this&lt;/a&gt; &amp;nbsp; (first one is circa 2005, 2nd April 2008)... browse around, we found some useful stuff in there!&lt;br /&gt;As Carsten said "god knows how i found that first time". There are garage projects too (impossible tofind the right ones though), recently we noticed some appearing on &lt;a href="http://gitorious.org/maemo-af"&gt;gitorious&lt;/a&gt; or&amp;nbsp; git.maemo.org or svn....&lt;br /&gt;&lt;br /&gt;However I'm not really aware of anything other than bugzilla for communicating with the development teams; and I don't think that's something the community generally finds to be a 'shining example' :)&lt;br /&gt;&lt;br /&gt;We recently added a note &lt;a href="http://wiki.maemo.org/Mer/Build#Mer_Source"&gt;by way of an apology&lt;/a&gt; for Mer's lack of "apt-get source" but I think Maemo deserves it too:&lt;br /&gt;&lt;blockquote&gt;`...You hadn't exactly gone out of your way to call attention to themhad you? I mean like actually telling anyone or anything.'&lt;br /&gt;`But the plans were on display...'&lt;br /&gt;`On display? I eventually had to go down to the cellar to find them.'&lt;br /&gt;`That's the display department.'&lt;br /&gt;`With a torch.'&lt;br /&gt;`Ah, well the lights had probably gone.'&lt;br /&gt;`So had the stairs.'&lt;br /&gt;`But look you found the notice didn't you?'&lt;br /&gt;`Yes,' said Arthur, `yes I did. It was on display in the bottom of alocked filing cabinet stuck in a disused lavatory with a sign on thedoor saying "Beware of The Leopard".'&lt;/blockquote&gt;&lt;br /&gt;I really don't think it's doom and gloom though - Qt has opened up a lot since Nokia took over. The development has moved out into the open and there's a process to contribute. Gitorious is&amp;nbsp; being sponsored by Nokia/Qt and I hope the maemo-af team are leading the way.&lt;br /&gt;&lt;br /&gt;I really hope that when Harmattan arrives the basement is light and airy; very, very noisy and the leopard has relocated to the lobby!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-4772385806143956311?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/4772385806143956311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2009/09/do-you-take-contributions-or-is-it.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/4772385806143956311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/4772385806143956311'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2009/09/do-you-take-contributions-or-is-it.html' title='Do you take contributions?  or is it &quot;Beware of the Leopard&quot;'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-5784635716273002017</id><published>2009-09-01T09:29:00.002+01:00</published><updated>2009-09-01T13:28:08.878+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scratchbox'/><category scheme='http://www.blogger.com/atom/ns#' term='Mer'/><category scheme='http://www.blogger.com/atom/ns#' term='qemu'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='OBS'/><title type='text'>Accelerating OBS ....  !scratchbox</title><content type='html'>So I've been working on accelerating the &lt;a href="https://build.opensuse.org/"&gt;Open Build Service&lt;/a&gt; recently.&lt;br&gt;&lt;br /&gt;It's a great build environment for Mer and we love it. It uses qemu to emulate arm architectures and provides a pristine chroot build environment using native packages. This approach of using distribution tools rather than a toolchain provides a more consistent build system.&lt;br&gt;&lt;br /&gt;The problem is that this approach is slow. &lt;br /&gt;&lt;br /&gt;Following the 80/20 rule, the OBS engineers (thanks Martin, Jan Simon) identified the applications that represented the greatest load on the build system: &lt;br /&gt;&lt;ul&gt;&lt;li&gt; bash &lt;/li&gt;&lt;li&gt; bzip2 &lt;/li&gt;&lt;li&gt; dpkg &lt;/li&gt;&lt;li&gt; gzip &lt;/li&gt;&lt;li&gt; m4 &lt;/li&gt;&lt;li&gt; make &lt;/li&gt;&lt;li&gt; perl &lt;/li&gt;&lt;/ul&gt;And of course: &lt;br /&gt;&lt;ul&gt;&lt;li&gt; gcc &lt;/li&gt;&lt;/ul&gt;So the intention was to accelerate these binaries in the emulator by using host machine code, not emulated code.&lt;br /&gt;&lt;br /&gt;The emulator uses &lt;a href="http://en.wikipedia.org/wiki/Binfmt_misc"&gt;binfmt_misc&lt;/a&gt; to call qemu for foriegn binaries when it hits them so simply replacing the binaries with host binaries should work. &lt;br /&gt;&lt;br /&gt;Well; almost. &lt;br /&gt;&lt;br /&gt;The host binaries need their shared libraries; and they live in the same place as the emulated shared libraries... which may be used by non-replaced code. Hmmm.&lt;br /&gt;&lt;br /&gt;(Before going any further, lets establish a naming convention: target is the architecture of the chroot and eventual target; host is the architecture of the underlying CPU. Typically for us target is armel, host is x86.)&lt;br /&gt;&lt;br /&gt;The approach to solving this problem is to minimise changes from a pure arm build environment. This is achieved by installing both arm and x86 packages; to avoid collisions the x86 packages are installed into /lib-x86 (in the chroot) and of course, shared libraries will fall into /lib-x86/[usr/]lib and not overwrite the target .so files.&lt;br /&gt;The final step is to move selected binaries in /bin and /usr/bin out of the way and replace them with symlinks to the i586 binaries in /lib-x86/[usr/]bin&lt;br /&gt;&lt;br /&gt;Most x86 packages are unmodified; any paths they use will relate to the main / directory and the config/data files installed by the target package will be used. (This works in general although the eagle-eyed will spot issues with things like XS modules for perl - not a major problem for a simple build environment though).&lt;br /&gt;&lt;br /&gt;Some packages are modified to minimise build times - eg to avoid 64 bit builds; others are modified (eg dpkg) to set the target architecture as a default.&lt;br /&gt;&lt;br /&gt;Obviously the host binaries need to link to shared libraries which are not in the normal LDPATH. We don't want to have to rely on environment variables etc so 2 steps are used: &lt;br /&gt;&lt;ul&gt;&lt;li&gt; modify ldlinux.so to look in /lib-x86/lib etc &lt;/li&gt;&lt;li&gt; modify the rpath value in the ELF header of each replaced binary &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;This is done by creating a static build of &lt;a class="external text" href="http://nixos.org/patchelf.html" rel="nofollow" title="http://nixos.org/patchelf.html"&gt;patchelf&lt;/a&gt; and modifying the binaries as they are installed.&lt;br /&gt;&lt;br /&gt;Finally a modified package has all postinst scripts removed and replaced with something like: &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;span style="font-family: courier new;"&gt;prefix=/lib-x86&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$prefix/usr/bin/patchelf --set-rpath $prefix/lib $prefix/usr/bin/make&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;mv /usr/bin/make /usr/bin/make-orig-x86lib&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;ln -s $prefix/usr/bin/make /usr/bin/make&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;Note that some libraries have an rpath and need to be treated with patchelf too.&lt;br /&gt;&lt;br /&gt;One final problem arises with fakeroot: it modifies the LD_LIBRARY_PATH to look for libfakeroot-XXX.so This is handled by editing the fakeroot script to append the /lib-x86/ paths in the same way the multi-arch paths are added.&lt;br /&gt;&lt;br /&gt;All in all this is actually a very clean solution:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;the modified binary uses the exact same source as the one it replace&lt;/li&gt;&lt;li&gt;the installation principles mimic biarch (and will, we hope use biarch when it's ready) &lt;br /&gt;&lt;/li&gt;&lt;li&gt; only the specific binary executable is replaced - data and scripts come from the target package&lt;/li&gt;&lt;li&gt;it can easily be switched on or off for a specific binary&lt;/li&gt;&lt;li&gt;enabling it on the OBS is done in the enclosing project, not the package&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Next steps, making it work on the OBS and then ...  building a cross-gcc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-5784635716273002017?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/5784635716273002017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2009/09/accelerating-obs-scratchbox.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/5784635716273002017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/5784635716273002017'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2009/09/accelerating-obs-scratchbox.html' title='Accelerating OBS ....  !scratchbox'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2839380439558071504.post-7637319108452694904</id><published>2009-08-29T11:19:00.003+01:00</published><updated>2009-09-02T11:00:03.019+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mer'/><category scheme='http://www.blogger.com/atom/ns#' term='qemu'/><category scheme='http://www.blogger.com/atom/ns#' term='Maemo'/><category scheme='http://www.blogger.com/atom/ns#' term='OBS'/><title type='text'>$ make distro</title><content type='html'>That's what the OBS does for us.&lt;br /&gt;&lt;br /&gt;The &lt;a href="https://build.opensuse.org/"&gt;openSuse builder&lt;/a&gt;&amp;nbsp; provides Mer with an incredibly powerful tool for building packages.&lt;br /&gt;&lt;br /&gt;It gives us:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;over 150 build cores !!&lt;br /&gt;&lt;/li&gt;&lt;li&gt;powerful monitoring and control tools - web and cli&lt;/li&gt;&lt;li&gt;total access - it's all GPL&lt;/li&gt;&lt;li&gt;proven capability - openSUSE and SLE are built using it&lt;/li&gt;&lt;li&gt;distribution neutrality&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;OBS is a GPL, distro-neutral build system; it works by creating a totally empty virtual machine (or chroot), bootstrapping a minimal version of a distribution and then driving the distro's own build tools to pull in the build dependencies from the official distribution repository. Finally it calls the native tools (eg dpkg-buildpackage) to build the package&lt;br /&gt;&lt;br /&gt;Think of it as a wrapper around the distribution's standard build tools which provides queue management and a good web interface.&lt;br /&gt;&lt;br /&gt;What's good about that then?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;No wheels being re-invented - it uses the 'standard' tools&lt;/li&gt;&lt;li&gt;Quality control - packages must specify exactly what they depend on to build; and a build installs clean packages and builds from clean source&lt;/li&gt;&lt;li&gt;Management wrappers - more about this later&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;And it does this around multiple base distributions inclding Debian/Ubuntu/Redhat/Centos/Moblin and of course SUSE and openSUSE.&lt;br /&gt;Just try building a Redhat package on the Debian build system - or vice versa.&lt;br /&gt;&lt;br /&gt;What makes it particularly interesting for Mer is that it also does this with multiple architectures including ARM.&lt;br /&gt;&lt;br /&gt;So what Mer essentially does is to feed it a large number (~200) standard debian format source packages and wait for it to spit out .deb files in an sources.list compatible repository.&lt;br /&gt;&lt;br /&gt;Doing this correctly means it needs to analyse build dependencies and, make-like, consider the freshness of those dependencies to determine if a rebuild is required. So if a change is needed in&amp;nbsp; libhildonfm2 then all the packages that depend on it will be rebuilt - nice.&lt;br /&gt;&lt;br /&gt;If you'd like to read a bit more about how Mer uses it then start on the &lt;a href="http://wiki.maemo.org/Mer/Build"&gt;Mer Build&lt;/a&gt; pages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2839380439558071504-7637319108452694904?l=mer-l-in.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mer-l-in.blogspot.com/feeds/7637319108452694904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mer-l-in.blogspot.com/2009/08/make-distro.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/7637319108452694904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2839380439558071504/posts/default/7637319108452694904'/><link rel='alternate' type='text/html' href='http://mer-l-in.blogspot.com/2009/08/make-distro.html' title='$ make distro'/><author><name>lbt</name><uri>http://www.blogger.com/profile/11594429320228093113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/-O_JwLVWl5jM/TbScb8DOrqI/AAAAAAAAACU/6jS0_m6yqWE/s1600/701c19ca319ea048ba9e346f3bf8d0bd%253Fs%253D80'/></author><thr:total>0</thr:total></entry></feed>
