Fedora
Day 1 of FUDCON KL 2012
Getting up early in the morning, eating breakfast while sleeping is the most common thing of every event’s day 1. It was exactly the same, but we managed to start from the hotel to the FUDCon venue on time. The registration desk was already opened. We slowly moved into Audi 3 for the keynote by Christoph Wickert.
Darkserver in production
In the last few days we managed to get Darkserver live in production. Thanks to Nirik and Dgilmore, without their help it was not possible.
This service is providing the API(s) based on which other developers can write tools to query details of build-ids. We Have build-id in every ELF we build from Fedora 8, but there was no good way to query them. More details on why we need the service can be found at the wiki page.
For now it is handling only primary architecture builds. Within last 4 days we have around 118k build-id(s) in the database.
I am working on a small command line client for the same, called darkclient. Hope to have the first release out in next week.
API details can be found at the home page of the service.
Michael Foord’s python-mock for testing
The project page is here.
Why you need it ?
Say you are writing unittests for your favourite application and in some function you are using xmlrpclib module to interact with a web-application. Now for testing you can easily mock that interaction out, which will help to run your code in fast and easy way. Mocking database calls can be another example.
Example:
import unittest
import xmlrpclib
from mock import patch
class TestFoo(unittest.TestCase):
"""
A simple test
"""
@patch('xmlrpclib.Server')
def test_first(self, mock_xmlrpc):
m = mock_xmlrpc.return_value
m.multiply.return_value = 6
server = xmlrpclib.Server("http://kushaldas.in/")
res = server.multiply(2, 3)
self.assertEqual(res, 6)
if __name__ == '__main__':
unittest.main()
In Fedora you can just yum install python-mock.
2 days of Fedora and python workshops in Durgapur
With help from local dgplug members we had 2 days of workshops on February 17th and 18th.
The idea was to introduce Fedora to the new students and various tools which they can use to develop their skills. This time we tried to get only interested students into the workshops.
Day1: We started around 11am in the seminar hall, had around 45 students attending the first talk on FOSS in general and then about Fedora. Existing contributors like Sayan, Biraj also talked about their experience, how they started their journey.
After lunch break we started python workshop, we had to introduce the terminal and various commands to them before I started talking about python. Most of them were being able to catch up and solve the small problems I gave. We closed for the day around 5:30pm. I stayed back in the Boy’s Hostel and had chats about various projects students are working on.
Day2:
Though we started a bit early but we had almost every participant from previous day. First workshop of the day was on Vi.
In the second half we again started with python but going into more details. Showing them how they can start working on a project, how to do their lab assignments using existing tools in Fedora.
These students can see their seniors who already started contributing to various projects. I hope some of them will follow the path.
Darkserver, a GNU build-id details provider web-service (Idea currently in development)
In Fedora 8 we had a feature of adding BuildID Support.
Darkserver is a service written to help people finding details of build-id(s). People will be able query the service based on build-id(s) or rpm package names. The service will provide output in JSON format as it will be easier for other tools to parse the output.

There is darkserver-import tool which can be used by a service like bodhi to run it against each package pushed through. It will populate a MySQL database with the details of build-id and ELF file details.
The current output format for a query of build-id aa995549415cd52a6fbbc21811dfc2dd00e2c242
{"buildid":"aa995549415cd52a6fbbc21811dfc2dd00e2c242","elf":"/usr/lib/mailman/pythonlib/japanese/c/_japanese_codecs.so","rpm":"mailman-2.1.12-17.el6.x86_64.rpm"}
The Web service is written in Django. Package review is currently going on. Code base is in github.
There is a client called darkclient which will query the service and print the output in a way so that it will be easier for shell scripts to parse it.









