jappix needs php-mbstring and will fail on SLES11
jappix is a fine piece of xmpp (jabber) based community building software.
Sadly, its installer needs php-mbstring (for SLES 11 SP2, this is php5-mbstring or php53-mbstring depending on your php choice). Sadly, it hides any error messages before requiring this crucial library. You will never know until you investigate closely.
Or as some person on the web paraphrased in German: was meinst du mit testsuite?
Software should not behave that way. Test suites and installers like jappix’ setup.php should know how to handle missing dependencies and show them to users.
Debian is not affected. By luck or purpose, debian ships mbstring with the basic php package.
LibreOffice CorelDraw import filter: improvements by user input
It has been a long time without communicating with the distinguished readership of my blog. There was a hard decision to be made between producing code and producing literature. The code won until now. But now I have found a time to lift my head up from the coding, so the literature is back.
Many of you might be wondering what happened since my post about the text support in CorelDraw files from last June. Things are going pretty well. Since the CorelDraw import filter was released with LibreOffice 3.6, the users started to use the feature and report bugs. We were working on fixing them and improving the libcdr's quality.
Quick overview of reverse-engineering process
From my discussions with our users and developers on-line and during some of the conferences that I attended, I realize that there is a slight misunderstanding in the large public about how the reverse-engineering works. So, here are some thoughts that may help understand it a bit more:
At the beginning of the process, there is a file-format. We don't know anything about its internal structure. There is no documentation whatsoever about it. One tries to generate a file in this file-format and examine it in hexadecimal viewer. Next, one tries to operate some little change in the document and examine what changed in the file itself. Eventually after many iterations, one might find regularities and some structure that helps to divide the file into several sections or blocks of more manageable size. It is essential in this phase that one can encode this information into some kind of introspection tool, since a plain hexadecimal viewer is not a very productive tool in the long run. We use for introspection of documents Valek Filippov's oletoy, a python tool that stores our knowledge about the structure of different file-formats.
Once there is enough information about how to parse the document structure, the next target becomes to get some visible results. In order to save time and get visible results in a short time, all libraries such as libcdr or libvisio, use the libwpg's interface. Reusing this interface means a considerable saving of time, since there are already working generators of ODG and SVG from the callbacks of this interface. Having visible results soon in the development/reverse-engineering cycle also allows visually asses the import results and correct them if necessary. Eventually, one can realize the absence of necessary information and try to go back to reverse-engineering to find it.
The support of reverse-engineered file-formats is a constant work-in-progress. A subtle dance between implementation and information digging. In this process, the user feedback is an essential element. The theories about the meaning of some information inside file hold only until a file comes to falsify them. Even a complex file generated by a developer is easily beaten by real life documents. And each file that shows a "weird" bug is advancing the understanding of the file-format. Let us look at this example:
After the release of LibreOffice 3.6.1, we got a not so good assessment of the quality of the CorelDraw import filter in the heise.de' c't review. Those of you that understand German can delight in the nuanced evaluation:
Ein neuer Import-Filter in Draw öffnet jetzt auch CorelDraw-Dateien, was uns im Test allerdings nur mit sehr einfachen Zeichnungen fehlerfrei gelang. In dieser Form ist er schlicht unbrauchbar.
Which can be mildly translated into English (given the understatements so common in en-GB):
A new import filter in Draw opens now also CorelDraw files, which we managed to do without errors only with very simple drawings. In this form, it is rather unusable.
Since we are really concerned about the quality of our software, we are thankful for any bug report whether it is brought to us in a friendly or other manner. This specific bug report helped us to understand how are stored in newer CorelDraw files chains of matrix transforms. And since a picture speaks louder then thousand words, compare the document c't was refering to opened in LibreOffice 3.6.2 and then in LibreOffice 3.6.3, after we fixed the position bits.
| File opened in Libreoffice 3.6.2 |   | The same file opened in LibreOffice 3.6.3 |
So feel encouraged to submit bugs against the CorelDraw import filter, or — even better — send us patches for your favorite itch.
New theme for KDE openSUSE 12.3 is now in!
Following up my [earlier post]({{ site.url }}/2012/10/whats-cooking-for-kde-in-opensuse-12-3-theming), the new openSUSE 12.3 theme has finally landed into the official openSUSE repositories and will be part of the upcoming 12.3. A lot of work has gone into the new theme since I last posted about it, so this post will show how things look at the moment.
A few caveats:
-
The theme targets the 4.10 release of the KDE Workspaces, so it may be not be perfect under 4.9;
-
The default wallpaper has not been chosen yet.
Without further ado, let’s get down to seeing what’s improved.
[caption id=“attachment_1030” align=“aligncenter” width=“584”][]({{ site.url }}/images/2012/11/snapshot12.png) Desktop view[/caption]
[caption id=“attachment_1032” align=“aligncenter” width=“584”][]({{ site.url }}/images/2012/11/snapshot13.png) Desktop with System Settings and Dolphin[/caption]
[caption id=“attachment_1026” align=“aligncenter” width=“584”][]({{ site.url }}/images/2012/11/produkt1.png) Notifications and system tray[/caption]
[caption id=“attachment_1031” align=“aligncenter” width=“300”][]({{ site.url }}/images/2012/11/produkt3.png) Dolphin with the new theme[/caption]
[caption id=“attachment_1027” align=“aligncenter” width=“584”][]({{ site.url }}/images/2012/11/produkt2.png) Add widgets controller[/caption]
Of course feedback is always appreciated: there’s still time until openSUSE 12.3 ships, so be sure to let us know what can be changed so we can make this a truly awesome visual experience for openSUSE KDE users.
LibreOffice HackFest in Munich: Apply Style Combobox
The first day of the LibreOffice HackFest in Munich is nearly over, and I am happy to say that I've already achieved what I wanted to hack on:
This is how the "Apply Style" combo box looks like from now on - in LibreOffice 4.0, we will show previews of the styles directly in there, helping the users to choose the right style conveniently.
I can imagine some follow-up work, like being able to edit the style directly from the menu entry, instead of having to choose "More...", and editing from there; if you are interested to hack on this, I'll be glad to show you where :-) - just mail me.
Chromium moves out and back into the openSUSE OBS
The last week it was a little hectic around the Chromium webbrowser. Initially I announced that the Chromium webbrowser would move from the openSUSE OBS to Packman due to dependencies on ffmpeg. Shortly after my announcement I was contacted by Ludwig Nussel from SUSE with the question what exactly the issue was and if it was not possible to find another solution in order to keep it part of the openSUSE Distribution.
Secure Boot on openSUSE, a battleplan
Before we begin, if you need some refresh about Secure Boot, I suggest the blog posts from and on SUSE Blog (overview, details and approach to it) and of course, all the war stories of Matthew Garrett on this topic ;)
To have openSUSE installable (and runnable) on a Secure Boot enabled system, without any additional user intervention (like adding your own key in UEFI firmware or disabling Secure Boot), we need to do the following to the distribution :
- to the kernel (many of those features are in 3.7 or in upcoming 3.8):
- convert the kernel as a EFI executable (it will be used to store kernel signature)
- UEFI variable access
- UEFI clock support (nice to have)
- UEFI getvideomode (if we want flicker-free boot)
- UEFI reboot (we already have 4 other way to reboot a system, why not add yet another one ;)
- KMS drivers (for old chipsets like Matrox, AST).
- sign main kernel
- sign all in-tree kernel modules
- generate a private/public key pair to be used out of tree modules
- add Secure Boot support in KExec / KDump and Xen (optional)
- disable hibernation in Secure Boot mode (or have a secure way to save / restore suspended system)
- add signature check in kernel
- to bootloader:
- package shim loader
- modify grub2 so it uses shim loader to check kernel signature at boot
- to Build Service:
- to be able to build external kernel modules (think KMP) using the private/public key generated at kernel build
- but do not allow this key to be used for any random KMP build (otherwise, you defeat the purpose of signing the module)
- to userspace tools:
- package xf86-video-modesettings, for graphics chipset with non-accelerated KMS drivers
- add support for signature check in modutils / kmod
- package tools to sign kernel / modules
- package tools to manage UEFI variables and keys
- to the installer / DVD image
- maybe display some warnings about installing a system in Secure Boot mode (not 100% sure we should do this)
- maybe signing the initial installer (and make sure it can't load non-signed modules)
- ensure the DVD image has shim + grub2 as bootloader when booting on UEFI system
- and we also need to do the signing part:
- if we want Secure Boot to be transparent to users, we need our shim loader to be signed by the authority handling UEFI key, ie Microsoft
- this requires some legal paperwork (getting MS developer account, getting a Authenticode certificate, etc..), some obligation (making sure you can't circumvent Secure Boot once Linux is booted) and once it is done, sending shim loader to be signed by MS and package the result.
Geeko @ Madrid Airport

What about creating an airline company called “Geeko Air”? Is an awesome idea , isn’t it?
Well , this post is neither a thought about creating a new company nor a new way to make money. 
So let’s see what it is. Before 10 days i had to travel from Madrid to Paris for my Practicum. At this case casual dress is a mandatory , so i wore a Geeko shirt (thanks Bruno :)). While passing the security control , the security guy (named Josue) saw the openSUSE badge (the front one) on my shirt and asked me ” Do you work for openSUSE?” my response was “No i contribute to the openSUSE Project”. The security control stopped and an interesting conversation begun. Josue told me that he was an Ubuntu user , but now uses openSUSE and he is very satisfied. Without any thought i gave him the only openSUSE Promo DVD i had.
So Geekos , we have to know that our Project is great and also please make the Geeko Shirt available at openSUSE Shop (for more info ask Bruno)
openSUSE en LinuxCon [Barcelona,España]

Introducción
El proyecto openSUSE ha participado con éxito en la conferencia LinuxCon Europa 2012 [durante 5 y 8 noviembre 2012]. Dos embajadores [Zoumpis, Diomidis] estuvieron como representantes de la comunidad de openSUSE durante la conferencia. Vamos a ver lo que sucedió allí!
La víspera de la conferencia
El domingo por la tarde hicimos nuestra primera visita a la sede LinuxCon. Nuestra primera misión fue visitar el estand de registro y obtener el ID y T-Shirts, luego fuimos al stand de SUSE / openSUSE y empezamos a desempacar los premios SUSE. Allan Clark también se unió a nosotros para ayudar con la preparación de stand.
On Sunday evening we made our first visit at the Linuxcon Venue. Our first mission was to visit the registration desk and get our ID’s and T-Shirts, then we went to the co-hosted (SUSE/openSUSE) booth and started to unpack the SUSE goodies. Mr. Allan Clark also joined us to help with the booth setup.
Dia – 0 [05/11/2012]
Nuestro día comenzó temprano, a las 7.30 horas. Fuimos directamente al Hotel Fira Palace, donde se celebró la LinuxCon. Asistimos a las conferencias magistrales de la zona por la mañana: Fomento de la experiencia del usuario por Mark Suttleworth Evernote y por el que ejecuta sus propios servidores Linux en lugar de “La Nube” por Dave Engberg.
No hemos asistido a más presentaciones , porque tuvimos que colaborar en el stand. En el estand, nuestro trabajo principal fue dar la bienvenida, ayudar a los visitantes. También tuvimos mucha promoción con las personas el día lunes y obsequiamos: openSUSE dvd, gorras, pegatinas, mecheros, folletos openSUSE comunitarios y memorias USB. Finalmente tuvimos un concurso para ganar 4 bolsas para portátiles de SUSE y el sorteo se realizó el miércoles.
La retroalimentación que recibimos de los asistentes en la conferencia fue muy bueno y amigable sobre la distribución openSUSE y la comunidad, por supuesto. Las preguntas más comunes que la gente hizo fué:
a. ¿Cuál es la diferencia entre SUSE y openSUSE?
b. ¿Qué software y cuales son las características que están incluidas en el openSUSE 12.2 DVD Promo?
c. ¿El openSUSE 12.2 tiene soporte para la arquitectura ARM?
d. El material promocional es libre?
Además nos dieron una sugerencia muy buena y prometedora sobre el Open Build Service (OBS).
Presentaciones-Asistencia
1) Abrir Métricas de fuente comunitaria: Consejos y Técnicas para la Medición de la participación de Down [] Puppet Labs Foster
2) El gigante de TI Vending Machine por Daniel Roberts Ridruejo [BitNami]
Dia -1 [06/11/2012]
A medida que pasó el primer día y nos encontrábamos en el standad, fué el momento adecuado para asistir a más presentaciones.El día comenzó como el anterior, asistiendo a las conferencias magistrales: Abierto Plataformas de Nube Fuente Marten Mickos por [director general de Sistemas de eucalipto] y la importancia de Linux en Intel por Imad Sousou [OTC, Intel]. A medida que la fiesta de lanzamiento de openSUSE estaba a punto de tener lugar informamos a la gente.
Tiempo de la fiesta!
Después del día de la conferencia, nos fuimos de fiesta. Muchas personas de la comunidad de KDE locales asistieron a la fiesta, pero gente de la Conferencia, así (Alan Clark, empleados de HP SUSE, Director de Linux Magazine [edición Española]). Además gente que ha leído el anuncio que estaba allí. En total éramos 15 personas hablando sobre el openSUSE 12.2, de las nuevas características y, por supuesto, nos divertimos mucho haciéndolo..

Presentaciones-Asistencia
1) (Tutorial) Edificio FOSS Nubes, Parte I – Sebastien Goasguen, Citrix
2) (Tutorial) Edificio FOSS Nubes, Parte II – Sebastien Goasguen, Citrix
3) OpenStack Pruebas de integración continua en servidores Cloud – James E. Blair, HP
4) Arrastrero: un nuevo enfoque para el almacenamiento en caché SSD – Hannes Reinecke, SUSE
5) El proyecto OpenStack y la Fundación OpenStack – Eileen Evans, HP
6) Desastres Resiliencia en Linux – Lars Marowsky-Brée, SUSE
7) Escala de un Open Source Community: La forma en que creció el Proyecto OpenStack – Monty Taylor, Gerente de Automatización e implementación de HP
8) Declaraciones a futuro el desarrollo: la próxima evolución en Enterprise Linux Desarrollo de Software – Ralf Flaxa, VP de Ingeniería de SUSE
Dia – 2 [07/11/2012]
El día comenzó con una entrevista a Linus Torvarlds, sin necesidad de presentación! Muchas preguntas se hicieron, muchas de ellas fueron de cómo Linus ve el futuro de Linux, que incluye o que tendrá el próximo núcleo y, por supuesto, hubo un debate acerca de los dispositivos embebidos brazo.
Presentaciones-Asistencia
1) Linux: ¿Hacia dónde vamos – Linux creador Linus Torvalds y Linux de Intel y Tecnólogo de código abierto, Dirk Hohndel
2) Tomar el miedo a la Contribución: Mentoring de código abierto – Stephen Hemminger, Vyatta
3) CouchDB y CouchApps – Roman Geber, B1 Systems GmbH
4) Gestión de recursos con Linux – Bruno Cornec, HP
5) CONFERENCIA MAGISTRAL: Got Talent de Linux (sesión de clausura)
Al final del segundo día de la conferencia era el momento de desmontar stand y hacer el sorteo de las bolsas de SUSE. Cuatro (4) bolsas para portátiles fueron regaladas!
Dia – 3 [08/11/2012]
Como no existía puestos o sitio libre para asistir a cualquiera de las presentaciones que se llevan a cabo.
Así que elegimos asistir a talleres y Gluster Día yocto Desarrollador del proyecto.

Conclusión
Así pues, tenemos tantas cosas que compartir, muchos recuerdos y mucho entusiasmo para transmitir a todas las personas de la comunidad openSUSE. Pero nosotros no vamos a ser chicos Chatterbox. LinuxCon es una de las mejores experiencias que un fan de Linux / desarrollador / usuario, etc puede conseguir. Discursos motivacionales, gente entusiasta sobre el software libre y equipamiento, talleres de primer nivel de los desarrolladores de todo el mundo, literalmente, todo lo relacionado con Linux y sus derivados. Dispositivos integrados y yocto tuvieron mucha afluencia o visitas.
Todo lo que podemos decir es que LinuxCon es un sueño que se hizo realidad para nosotros!
Aquí usted puede encontrar fotos de la conferencia [1] , [2].
No fallback mode in GNOME 3.8, future of gnome-panel
No fallback mode in GNOME 3.8
As announced by the release team two weeks ago, the fallback mode will be gone in GNOME 3.8. The decision was taken after some discussion on the mailing list back in June and in October, as well as some discussion during Boston Summit 2012. We also have a wiki page detailing the discussion arguments.
In my opinion, the biggest issue we had with the fallback mode is that, with only a few cycles, it quickly became clearly not tested enough, and lacked manpower for proper evolution along with other GNOME 3 changes. This resulted in a much lower quality than what we expect from GNOME. Moreover, several applications actually started requiring Clutter, and therefore didn't work anymore in a real fallback manner (ie, where you have no proper 3D acceleration); this means the fallback mode, when really used as a fallback, was not offering a fully usable desktop, and would be considered more like an alternative shell than a fallback mode.
Where does this leave us?
, you might ask.
Well, for a start, GNOME 3.x had several iterative cycles to bring tons of improvements. Many users who were using the fallback mode because they didn't like the GNOME Shell experience are now happy with 3.6. But we're going an extra step starting with the next version: there is an explicit goal of having the project provide a set of extensions to help even more people preferring the fallback mode experience. The tentative list of what the extensions would provide is classic alt-tab, task bar, minimize/maximize buttons, and a main menu. This effort is being publicly tracked, so everyone can participate: if you're interested in contributing to these extensions, don't hesitate, I have no doubt help will be welcomed! Update: this topic is being discussed on desktop-devel-list right now!
There will also be work on improving GNOME 3 when running with software rendering. Of course, llvmpipe was a good start, and llvmpipe itself is getting better and better. But in addition, there are plans to offer a reduced resources mode, with fewer animations, that would be used in different circumstances, including when using software rendering. This should really improve the performances under llvmpipe.
There might be cases where these improvements will not be good enough in 3.8 (or with the Mesa and llvmpipe versions available at that time), resulting in a GNOME version that people might not consider acceptable in terms of performance or hardware support. Things will improve with time, obviously, and 3.10 will solve more and more issues; hence I would recommend to people hitting such issues to stay with 3.6 for a few more months.
All in all, the community is working on having future versions of GNOME, starting with GNOME 3.8, offer an improved alternative to the fallback mode.
Future of gnome-panel (and other fallback components)
Of course, this raises the question of what happens to the components of the fallback mode: gnome-applets, gnome-panel, gnome-screensaver, metacity, notification-daemon, polkit-gnome, etc. These components don't necessarily have to go away: they're just not part of what the GNOME project officially releases, and people are welcome to keep working on them. It's really up to each maintainer.
As for myself, I do not intend to keep maintaining gnome-panel after 3.6.x. I did a 3.6.2 release a few days ago, and it might well be what I consider my final release. If there's a strong push for some patches, there could be a 3.6.3 tarball... So, if you want to keep gnome-panel alive, contact me and you can become maintainer. As long as I either know you, or I can see that you have some minimal coding abilities, you'll get the maintainer hat for free :-)
Now, I believe a group of people could well adopt all the fallback components and keep building a great desktop, on top of other GNOME 3 bricks. They wouldn't even have to restrict themselves to what the GNOME 3 vision is (which is something that blocked some people from seriously contributing to gnome-panel). I don't think it'd be actually too much work: the code is already there! Of course, there would be some compatibility bits removed from other GNOME modules that would need to be moved elsewhere, but in most cases, it's really just about moving
the code, not re-implementing
things.
To be honest, I would really have loved if the MATE people had taken such an approach (maybe it's not too late?). I think it's a more reasonable effort than effectively forking all of GNOME 2, including obsolete technologies, as the amount of work is much more reasonable.
I'm eager to see if a group will step up to keep alive this old code, which represents thousands of hours from many of us! I wouldn't use it, but it would still make me happy :-)
QJson 0.8.0 released
Almost three years passed since latest release of QJson. A lot of stuff happened in my life and QJson definitely paid for that. I have to admit I’m a bit ashamed.
So here we go, QJson 0.8.0 is out!
What changed
A lot of bugs has been smashed during this time, this new release will fix issues like this one and this in a nicer way.
QJson’s API is still backward compatible, while the ABI changed.
Symbian support
Some work has also been done to get QJson work on the Symbian platform. The development happened a long time before Symbian was declared dead.
Currently I do not offer any kind of support for the Symbian platform because IMHO Symbian development is a mess and given the current situation in the mobile world I don’t see any point in investing more efforts on that.
Obviously Symbian patches and documentation are still accepted, as long as they don’t cause issues to the other target platforms.
QMake support
QJson always used cmake as build system but since some Windows developers
had problems with it I decided to add some .pro files. That proved to be a
bad choice for me since I had to support two build systems. I prefer to invest
my time fixing bugs in the code and adding interesting features rather then
triaging qmake issues on Windows. Hence I decided to remove them from git.
If you are a nostalgic you can still grab these files from git. They have been removed with commit 66d10c44dd3b21.
Relocating to Github
I decided to move QJson’s code from Gitorious to Github. Github’s issue sysyem is going to replace Sourceforge’s bug tracking system.
I currently use Github a lot, both for personal projects and for work, and I simply love it. I think it offers the best tools in the market and that’s really important to me.
QJson’s website and mailing lists are still going to be hosted on Sourceforge.
I think that’s all from now. If you want more details about the changes introduced
take a look at the changelog
or checkout QJson’s website.