Archivi categoria: programming

Contributions to Mageia – March 2015


Mageia 5 has been delayed cause we want to provide the best experience to our users.


  • mono-3.12.1

mono project released a new minor release shipping fixes forΒ CVE-2015-231[89], CVE-2015-2320. It’s all about the TLS’s mono implementation that was causing some issue with TLS impersonation. You can find details here (some refining is still needed but it seems to work).

Now we are on release freeze, that means that until the final release cauldron repos cannot receive new versions neither new releases of packages.


  • mono-3.2.3-5.2

The TLS’s mono implementation was exposing users to TLS impersonation attacks also on the previous versions of mono thus I had to provide fixes also for the package for mageia 4. It has been quite a time-consuming task.


Finally we moved to the final name of our project and a few improvements have been added to manaclock and manawall.

manawall now uses a specification file for servers and ports: previously (as it was in drakfirewall) each server was specified statically inside the code alongside with ports, labels and so on.


manawall now retrieves servers from a well-formed xml file, easiest to maintain; this change causes some issue with nfs still to be worked out but, the huge part of the task has been successfully completed πŸ˜‰

See you next month and… thanks for reading

Contributions to Mageia – January/February 2015

notvnobeerNo spare time and No Wing Chun make me something, something… go crazy… but do not mind if I do [paraphrasing]



Welcome to a new report of my contributions to Mageia.

As you can perceive by intuition it was difficult to properly maintain my packages and to develop the Mana Tools during the first two months of this year but, I managed to do something you can findΒ  useful πŸ˜‰


  • mono-3.12.0Β  o/
  • monodevelop-Β  o/
  • mageia-doc-5.2

Introducing mono during a version freeze was somehow risky but we were providing the aged version 3.4.0 and that could have been difficult to maintain. Moreover I required it for libyui-bindings as the upstream accepted my pull-request enabling mono-bidings for libyui o/


  • qyoto-4.14.3 (as it was broken by the introduction of mono-3.12.0)
  • gnome-do (as it was broken by the introduction of mono-3.12.0)


A huge work has been done rewriting drakfirewall as a manatool but I managed to complete the porting, to test it and to ship it with Mageia 5 πŸ™‚

This task involved mainly two steps:

  • port libDrakX/network/shorewall to modern perl and making it part of the AdminPanel framework
  • rewrite drakfirewall using Moose, libyui and the AdminPanel framework.

Mageia 5 has been delayed to round all the edges and we are working to build a reliable version as for every release.

See you next month and enjoy Mageia 5 πŸ™‚

Contributions to Mageia – November 2014


One year has passed since my last relevant contribution, Mageia 5 is on its way and Mageia 3 is going to reach its EOL.



  • gambas3-3.6.2
  • gmic-
  • screenfetch-3.6.5
  • libtorrent_rasterbar-0.16.18
  • qbittorrent-3.1.11
  • tortoisehg-3.2.1

Gambas3 latest version comes, like the others item of this brief list, with a lot of bugfixes since 3.5.4 version and some new component (like inotify).


Lots of efforts have been putted inside this project and we currently have quite a few modules doing their jobs, against all odds πŸ˜›

We introduced a few changes inside the naming conventions: each launch script has been prefixed with the word mana (e.g. manauser, manahost, manaproxy, etc).

Why mana?

It’s what come out from a night session of IRC while we were working on the migration of some drakxtool to adminpanel … Ok it doesn’t sound so nice told this way so… πŸ™‚ lets say that we find out that adminpanel was somehow inflated and we decided to look for something more representative.

mana recalls energy and magic and somehow the names of the authors, Angelo Naselli and Matteo Pasotti.

A list of the working modules follows:

  • manaclock
  • manahost
  • manalog
  • manaproxy
  • manaservice
  • manauser

There are other minor applications able to run inside AdminPanel (embedded or sharing its modules/subroutines):

  • contribfinder: a simple utility written using libyui and python
  • rpmdragora: a fork of rpmdrake, the effort to port its code to libyui and the 3rd millenium :p

AdminPanel/MaNa is a beautiful example of object oriented programming using Perl, Moose and Modern::Perl alongside a very readable code style.

Some screenshots demonstrating how those modules are able to run natively as Qt, Gtk and NCurses applications πŸ˜‰

manauser rpmdragora



Stay tuned and see you next month for a new summary of my contributions to Mageia.

Paleontology 4 Geologist

For those people not really aware of what the paleontology really is, I can briefly define the paleontology as the science in charge of study the history of life. For a Geologist the paleontology is more than important as it represents the basis to, such as:

  • place in time a geologic record
  • understand the geological context
  • deduce a lot of other useful information

For a better explanation I suggest some reading like this one and – for a wider view – wikipedia.

A few years ago I was studying invertebrate paleontology at the University of Pavia and I was terribly in need of someone or something able to train me with random questions about fossils before the exam πŸ™‚

At that time I was also working for an IT company in Lodi and I had no much free time to study with other classmates that’s why I decided to quickly prototype a simple computer application using Qt and C++ called p4d.

The purpose of p4d* was to randomly select questions from a database and to show them in the form of a multiple choice assessment.

The database was manually built using the information made available – in italian – through the labels of each fossil from the museum of the faculty of Geology.

We have to look at the fossil, to describe it properly: that’s why I also made photos of our samples to improve the experience with p4d (and especially to be able to do some training outside the museum πŸ˜› ).

P4D was able to check for the correctness of the given answer by pressing the Check button.

Even if quite basic and w/o frippery, it worked as expected and I really enjoyed coding with QtCreator on my Mageia to build something useful and portable in a few hours πŸ™‚

In a couple of weeks, after have asked some classmate for feedbacks, it became clear to me that this kind of tool was nice enough to be published but… how?

To avoid porting, packaging and distribution issues I finally choose to go through the web: I quickly rewrote p4d using PHP and JavaScript, with the precious help provided by the CodeIgniter and jQuery frameworks. P4G (i.e. Paleontology for Geologist) was born πŸ˜‰

This way also the maintenance becomes definitely a piece of cake πŸ˜‰

Far from perfection, Paleontology 4 Geologist (P4G) is a simple tool to verify your invertebrate fossils skills. It’s free to use, give it a try πŸ˜‰

* p4d = Paleontology 4 Dummies

PS: just like any piece of software out there, bugs could be found so feel free to report them using the button Found a bug and reading the instructions; I’ll try to fix them asap. And remember, there’s no warranty

Contributions to Mageia – March 2013


A lot of the packages maintenance was done during the last week because I had a lack of free time πŸ™



  • yaflight 0.99.22 fix tab order patch
  • qterminal 0.4.0 italian translations (added also by the upstream)
  • screenfetch 2.7.5 custom patch for the new mageia logo (sent also to the upstream and finally merged o/ )


  • qbittorrent 3.0.9
  • gmic
  • nomacs 1.0.0 (freeze push not accepted, we are stuck at version 0.4.0)
  • scite 3.2.5
  • areca-backup 7.2.18


  • mageia-doc


I updated few application translations (like urpmi, rpmdrake, drakx-net and so on) and I translated a blog post.


I’m in charge to package the official Mageia documentation built by the Doc Team and to set up the svn repository used to version it.

After the setup of the common svn solution (i.e. branches, tags and trunk) I imported the Mageia Control Center documentation built by the Documentation Team using Calenco and then two utilities I wrote to help me, as well as other packagers, keeping the documentation up-to-date and packaging it.

The repository looks like this


where build-pkg and update-doc contain

build-pkg:*  COPYING


The build-archive script automates the creation of a new tag and then the creation of the documentation source tarball used by the rpm package mageia-doc.

The update-doc script automates instead the procedure of keeping up-to-date the documentation of the Mageia Control Center retrieving the Calenco zipped archives directly from the upstream website. This script also apply some specific patches to the documentation.

Their full documentation will be added to the official mageia wiki as soon as I can so be patient, please πŸ™‚


Some security upgrades and some common checks.


Mageia 3 beta 4 is finally out! Give it a try πŸ˜‰

See you next month for a new summary of my contributions πŸ˜‰

Contributions to Mageia – January 2013


It was another extremely busy month. I wrote part of my thesis and I worked on other projects but, I found the time to maintain a few packages, to add a new one and to work on rpmdragora.


  • merkaartor
  • razorqt-power (
  • qlipper (
  • task-razorqt (arora replaced by qupzilla)


  • josm
  • gpscorrelate
  • merkaartor
  • qlipper (
  • screengrab
  • curtain
  • geis
  • grail
  • trojita
  • libtorrent-rasterbar (freeze-push request)


  • qupzilla

UiAbstraction4mcc (aka AdminPanel)

Some improvement brought to the Privileges module that is now able to use sudo, pam and polkit as backends to let AdminPanel acquire the necessary privileges.

A lot of work has been done on rpmdragora (a rpmdrake port to yui). I’m working to make rpmdragora more gui-indipendent thanks to the yui library. rpmdrake currently uses GTK causing a lot of gtk stuff to be necessarily installed even on a qt-based installation of Mageia.

This is a huge task and it often requires a lot of code rewrite, but I already achieved some good result (see below).

Rpmdragora using ncurses
Rpmdragora using ncurses


rpmdragora using Qt
rpmdragora using Qt



See you next month for a new summary of my activities πŸ˜‰

Contributions to Mageia – December 2012


It was a difficult time to me so, I’ve upgraded three packages only and maintained some of the already existing ones to address some issue related to gcc-4.7, automake 1.13 and the bleeding new llvm-3.2.

I’ve been also busy translating blog posts for because I’m the only willing to do this job (at least during the last few months) and -maybe- because I’m also the i18n-it team leader.


  • tkgate (
  • curtain (fixed bug similar to mga#7795)
  • qlipper (fixed bug similar to mga#7795)
  • juffed (rebuilt against new qscintilla and patched to solve issue with gcc-4.7)
  • squirrelsh (solved issue with gcc-4.7)
  • gambas3-3.3.4 (fixed compilation against the new llvm 3.2 and the new automake 1.13)


  • gmic-
  • qscintilla-2.7
  • yaflight-0.99.19

Lot of work has been done to improve the community logo, to make the aspect more uniform passing through the cms, the forum and the wiki and -finally- to make the forum accessible using mobile devices (like tablets or smartphones).

Take a look by yourself πŸ˜‰Β


See you next month for a new summary of my activities and…

wish you a Happy New Year!

Contributions to Mageia – September 2012

Even if I’m a bit late (life gets in the way now and then πŸ™‚Β  ), here comes the report of my contributions to Mageia during September.


I worked on packaging some new application and I brought some package to its latest version.


  • qtfm (filemanager using Qt framework)
  • andromeda (filemanager using Qt framework)
  • mihphoto (image viewer touch-friendly using Qt framework)
  • silicon empire (cd/dvd burning suite)


  • razorqt brought to version 0.4.99 (development but quite stable)
  • gmic-
  • yaflight-0.1.13
  • gambas3-3.3.1 (I’ve already ported gambas3-3.3.2 in October, you’ll read about it in the next report πŸ˜‰ )
  • tortoisehg 2.5 (thanks to the upgrade of python-sphinx)

Some notes on the above packages: razor-qt packages has now reached an increased granularity and the metapackage task-razorqt was built to make user’s life easier. Moreover razorqt-panel look&feel it’s better integrated into the mageia thanks to a dedicated custom theme. Look at it yourself πŸ˜‰

razor-qt running on Mageia with mga-light themerazor-qt 0.4.99 notifications tray, very clean


No great improvements on this side, at least by me. I just tested Steven work and reported a libyui-ncurses’ bug to Angelo that’s doing a great job with libyui.


Some translation updated (urpmi) and some new web site translation reviewed and committed.

I’m having some difficulty maintaining phpBB and its integration with Drupal. phpBB does its job greatly but if you have to add features (mods) there starts the pain, especially if you’re dealing with a Drupal bridge which requires to patch phpBB itself.

I’m evaluating alternatives or improvements and the deadline should be December, but there’s no a detailed plan because of the lack of free time to work on it :-/

Contributions to Mageia – August 2012


During August, while a lot of people were on holiday πŸ™‚ , I worked on packaging some new application and I brought some package to its latest version.


  • grail
  • geis
  • frame
  • evemu
  • touchΓ©gg
  • touchΓ©gg-gui

No much to say: I was just looking for multitouch support in Mageia and I found this resource from Canonical that was really interesting so, why not port it to Mageia? πŸ™‚

NEW UPDATES in mageia 2

  • tkgate 2.0-b10 problem solved (fixed tcl bug)
  • tortoisehg-2.4.2
  • screenfetch-2.4.7
  • gmic-
  • ptbatterysystemtray-1.0.0.rc2 (bugreport mga#7107)
  • yaflight (minor upgrade)
  • mono-tools bugfix @ mga2
  • libgdiplus bugfix @ mga2 (now dotNet apps behave correctly on Mageia πŸ˜‰ )

Just a few words on yaflight and the last two items (mono-tools and libgdiplus).

This new minor release of yaflightΒ  introduce the support for Arch Linux and it squashes a small bug.

monodoc from mono-tools was suffering of an issue causing its crash at start (resulting unusable). This bug was fixed also thanks to anaselli.

libgdiplus was wrongly compiled making all dotnet applications to not show correctly (I mean GUI applications using Windows.Forms).

Now I’m the maintainer of both these packages πŸ™‚


This is the new project I’m involved in (together with Angelo Naselli and Steven Tucker). It aims to develop a graphical abstraction layer thanks to libyui. This project represent the proposal for a new Mageia Feature.

Till now I’ve added some small piece of code only and then I tested it on ncurses, qt and gtk (aiming to test perl-yui bindings that I and Angelo packaged for Mageia). Now that we all have a better idea of how things really work, we can go on with more interesting stuff πŸ™‚

No great changes, just security updates and some small graphical improvement. I’m waiting for some spare time to be able to restyle the whole website.

Our community is growing fast and we now have a new forum moderator (user tom) that will help the administrators handling users and their requests. o/

Just a few days ago I was contacted by “The Unix Community” guys on #mageia-it cause they were interested in Mageia. They interviewed Angelo and me and I can say for sure that we have really appreciated πŸ˜‰Β  Now supports and viceversa πŸ˜‰

If you are interested into our interviews you can read them

Thank you

See you next month for a new summary πŸ˜‰

Contributions to Mageia – July 2012



This month I worked on packaging some new application for the development branch of Mageia. The detail follows:

  • gmic
  • numptyphysics 0.3
  • gambas3 3.2.1 (no gb-jit support, introduced in August)
  • monodevelop
  • ganttproject 2.5.4
  • tkgate 2.0
  • examinator 0.2

gmic and numptyphysics have been upgraded to their latest versions providing minor improvements. ganttproject, tkgate and examinator were packaged not only because they are useful applications but also because I’m involved into EDU SIG (Mageia Educational Project) and they were into our todo list :-).

gambas3 was upgraded to the new version providing new components like gb.ncurses (that allows users to write applications using ncurses tui) and gb.jit (just-in-time compiler for gambas). However gb-jit package was not available because cauldron was shipping llvm 3.0 instead of the required version 3.1. At the time being (August, 3th) gambas3-gb-jit package is available thanks to the newcomer llvm 3.1 πŸ˜‰

monodevelop was brought to the last stable version but I had to do a lot of patching and I had to disable smp compilation cause it was leading to failures during the rpm package building process :-/Β  This minor issue does not affects final users but anaselli and I will have to investigate more deeply to restore the previous behaviour (even if this issue doesn’t depend on us).

ganttproject, as the description says, is a cross-platform desktop tool for project scheduling and management written in Java.

tkgate is a event driven digital circuit simulator with a tcl/tk-based graphical editor. Note please that at the moment tkgate fails to start with the errorΒ version conflict for package “Tcl”: have 8.5.12, need exactly 8.5.11. This issue is imputable to the tcl8.5.12 package and not to tkgate. An easy workaround consist of uninstalling tcl and then reinstalling it. Another way could be to fix


replacing line 18

package require --exact Tcl 8.5.11


package require --exact Tcl 8.5.12

examinator generates multiple choice exams in LaTeX quality. It has no gui but it requires a configuration file easy to build and maintain, here you can find an howto.

Some small aesthetic improvement and some mandatory modules upgrades.

The community is growing up with new users and new topics into the forum, no new entries into the gallery and no new blog posts till now.

Thank you

See you next month for a new summary πŸ˜‰