As part of my participation on the Cloud4all project, I’ve been working on packaging the 0.1 release of GPII. This is because we need an easy way to install all the components and required dependencies for the end-user. With this, we will be avoiding an end-user from dealing with git and/or installing some dependencies by hand.

Since many people working on the project are using Fedora (and we’re using Fedora in our first pilots iteration), I decided to make those packages for Fedora 18, but make them working on other distributions would be pretty straightforward.

As a result, now we have these following packages:

  • gpii-core: Cross-platform GPII Personalization Framework Core components
  • gpii-linux: Platform-specific code required to run the GPII Personalization Framework on Linux with GNOME. This package also includes the GSettings Settings Handler and the USB Drive User Listener.
  • gpii-linux-rfid-listener: The RFID User Listener

I also made a package which includes the .repo file for an easy repository addition, this is the gpii-fedora-18-repo package.

During the packagement process, I found here that some people are already defining the inclusion of Node.js and associated ecosystem in Fedora, and also I found these packaging guidelines really useful to package a few Node.js modules.

Since I am used to OBS, I built and published a repository with all the packages on the openSUSE’s instance of OBS. You can find the project here.

At this moment, these are the integration status:

  • As an end-user, you can install them just by adding the repo and installing them (either by using yum or the gnome-packagekit GUI). All the dependecies will be resolved and installed during the installation process.
  • The GPII Personalization Framework will be started on user’s space at login time. This includes both the USB drive and RFID tags user listeners.
  • Since the project is in a early development status, all the components will be running on local and using working test data.

As a brief resume, everyone who is interested on testing the framework can do it easily. Since there are people using the framework which is not strictly a developer but they need to deal with the latest code, I’m thinking on doing weekly updates from github, but I still need to think a little about it (so I do not promise anything).

At this moment we can play with the toy, but thinking on the integration with the system, I have in mind a few things TODO:

  • All of the GPII components should be packaged using the Node.js guidelines, but the Framework’s complexity makes this goal as more like a mid-time term
  • To split the upstream code into more packages, at this moment we have only one package for each upstream repo.
  • To integrate the framework as a service with systemd (Here is a good example of it)

To finish this post, here are the instructions to add the repo to your system, get the framework installed and get it running on your Fedora 18:

  1. Adding the repo
    • # yum-config-manager –add-repo=http://download.opensuse.org/repositories/home:/javihernandez:/GPII/Fedora_18/home:javihernandez:GPII.repo
  2. Installing the packages
    • using yum: # yum install gpii-linux gpii-linux-rfid-listener
    • using gnome-packagekit GUI: Search for gpii and install gpii-linux and gpii-linux-rfid-listener packages.
  3. Do a log out/log in process in order to have the framework running on your GNOME session.

In order to do a quick test you can login as sammy by running on the terminal

And as in login’s process, in order to do a logout go directly to the logout’s URL on a web browser or by run on the terminal

As a reminder, you can find all the information about the GPII/Cloud4all project in the GPII wiki page.