[Soc-coordination] Report 1 : Create Lintian reports frontend

Abhishek Kumar abhi.imf at gmail.com
Fri Jun 1 23:36:11 UTC 2012


Hi,

This is the first report for my project : Create Lintian reports frontend
[0], mentored by Niels Thykier.

In the past month, there has not been much progress in terms of coding. But
there has been a lot of learning and some other tasks that did not require
coding.

I started the work by first cloning the Lintian git repository on my local
system. After that I spent some time in getting familiar with lintian and
its objectives, its source code and how to use lintian. There were some
initial issues in running it which I was able to sort out with Niels' help.

Lintian has a script called as harness which is used for publishing the
results of its quality checks. My main tasks are development of a
standalone harness tool and an automated test suite for testing it.

Instead of starting to write the code for the new harness tool directly, I
first started to learn about the ways in which I could implement the
various new functionalities that I have suggested in my proposal. The first
one being the distributed execution.
For that, I have set up a basic Beowulf cluster using my machine(master)
and a VM(slave) running on my machine and started researching about the
various Perl modules that are available for parallel computing on a
cluster. Currently I am focusing on the following modules :-

    1. Parallel::MPI::Simple -
http://search.cpan.org/~ajgough/Parallel-MPI-Simple-0.03/Simple.pm
    2. Parallel::Pvm -
http://search.cpan.org/~dleconte/Parallel-Pvm-1.4.0/Pvm.pm
    3. GRID::Cluster -
http://search.cpan.org/~edusegre/GRID-Cluster-0.04/lib/GRID/Cluster/Tutorial.pm

There are two approaches to parallel computing on a cluster - MPI(Message
Passing Interface) and PVM(Parallel Virtual Machine). MPI is a standard
which while PVM is a software tool. The 1st module uses the MPI approach
while the other two modules use PVM. I will filter out the one I will be
using, as soon as I completely evaluate all three modules. The final aim of
using this parallel execution is to run multiple instances of Lintian on
same machine or on different machines for analyzing different parts of an
archive in parallel.

I also started setting up of a test suite for testing of harness. Niels
helped me in understanding the basics of testing and how to use a chroot
environment for testing. I came to know about some of the alternatives that
are available :-
    1. pbuilder
    2. sbuild
    3. deb-o-matic
    4. VMs
The advantage of using a chroot environment for testing is that I won't
have to install everything on my host system and I can catch the use of
packages that are declared in the dependencies. In the above, pbuilder and
sbuild provide almost the same functionality but their internal
implementation is different. Both of them tend to adopt the functionality
that is added by each other. deb-o-matic is based on pbuilder and written
in Python and provides the same functionality. Virtual Machines could be
used for building if only essential packages are installed.
After reading about all of them, I have finally decided to use pbuilder [1].

Just like lintian, I will be having a build-time test suite for harness
using pbuilder on my local machine. I have set up a pbuilder based Debian
Squeeze chroot environment to build packages with.

--------------------Next Steps--------------------

1. Get familiar with using pbuilder.
2. Find out ways to implement other functionalities in harness.
3. Start the actual coding for harness.

----------------------------------------------------------------------------------------------------

[0] :
http://wiki.debian.org/SummerOfCode2012/StudentApplications/AbhishekKumar
[1] : http://pbuilder.alioth.debian.org/

----------------------------------------------------------------------------------------------------

- Abhishek Kumar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/soc-coordination/attachments/20120602/533fa30e/attachment-0001.html>


More information about the Soc-coordination mailing list