Hello,

This my regular weekly post on my GSoC project. Even though this week I had to give my last exams for my bachelor degree and some days of the week I had to spent them on reading, I did some progress on the actual project. First of all, I created my first patch for Augeas, yes this is my first patch not for this particular project, but in general. Every week I found my self, reading learning and carrying out new things, this is the coolest and most exciting thing in the GSoC experience until now.

Back to the actual patch, below you can see the description of the patch:


Subject: [PATCH] Added aug_find_lense function to find and return used for loading a
specific file

Aug_find_lense is a function that accepts a path of a file, and tries to
find the lense that was used to load this file in Augeas. Returns either
a string representing the lense if it is located succesfully either null
if the lense could not be found, or the file is not loaded in augeas.

As i had told you before, i am working on a merge method for augtool as well. This command works like this,

merge destination merging-parameters files-to-be-merged

example:
merge /etc/hosts/ (merging-parameters) /tmp/myfile1 /tmp/myfile2 ….. /tmp/myfile3

Until now I am able to use the aug_find lense to locate the lense used for the destination file. Then i have implemented an extra function that can use the name of the lense to load the files-to-merged to augeas. This permits me to have all these files in tree form used by Augeas. The plan now is to finish the code with aug_process_tree function[1] that will try to match the destination with the files-to-be-merged, and will then call the right function according to merging-parameters if a match is found.

What is next?

By having a merge command in augtool, that can load files in the way I mentioned above, i now have a test basis that will permit me to implement and test the merging functions. This must be done in the next two weeks, so i can be in the initial schedule. I am quite optimistic, things will go as planned. This week among with the coding there has been quite a lot of research on tree pattern matching algoriths, I am grateful that there are always nice people in open source communities that provide help and tips. I am back to coding… :)

Kind Regards,
Christos

[1] Work in Progress – The aug_process_tree function will be like: int aug_process_trees(struct augeas *aug, const char *dest, void (*process)(struct augeas *aug, const char *first, const char *second, void* data), void* data,const char *sources,…);

This is my second report about my gsoc project, well what is new: This week I occupied my self with augeas, it is the first time I try to use and expand an already existing library and utility. Even thought Augeas is very well documented and the people in their community are very helpful, i had some problems combining my thoughts and ideas with the existing code, because i was trying to find out the best way to avoid code duplication etc. That was at least at the start, now at the end of the week I can say that I am more familiar with the Augeas API and this will certainly help me in the coming weeks.

As long as it concerns the actual merging procedure, i began coding an implementation i have thought. Unfortunately, the approach i used was not sufficient generalized to work with all the configuration files. Therefor i had, to erase most of the coding i did these days. However, from every negative thing comes a positive, in this case, I was able to find a better solution that rise some new problems, however i hope I will be able to find out an answer for them in the following days and implement the right code.

Finally, a merge tool command was added in augtool that is able to use the aug_merge command i added in the library, the particular command will accept a source and a dest tree/path and will then try to combine them according to the flags that i will add as enumeration. The final conclusion I must speed up things a bit :) cause there are unexpected problems that may occur at the implementation at any time.

Best Regards,
Christos

It’s less than a week, that GSoC 2011 coding period have begun. This is my first report for the project.Every Friday I will make a report in this blog to share with you the progress I am making on the project.So what did I do during these first days?

First of all I created an online repo on GitHub and I forked the Augeas project. That will permit me to use version control of my project “GIT” during the implementation and retain an online repo where I can commit my changes to, while experimenting with the source code. This gave me the opportunity to practice more with git, create branches merge commit changes etc. I have to admit that until now, I didn’t used a version control system much, but i really don’t know why?!?! Really git is awesome and can save the developer valuable and useful time.

Next, I continued with trying out OBS for the first time, the openSUSE Build Service, that just renamed to Open Build Service. Even thought i faced some troubles in the start finding my way around (packaging was a new thing for me, and after using obs I have to say that it is not as hard as I initially believed), with the help of my mentor I think I can understand now better the service and use it. But why use OBS to package so early in the project? Well we thought that by using obs we will be able to create packages (please care they are experimental ) with the changes i make, so other people can try them out if they are interested and maybe help with future debugging.

Finally among my initial experiments with Augeas source code, I have created a branch “helloworld” on my git repo, whether i added a simple hw – Hello world command in the augtool that is contained within Augeas. That command prints as you may have guessed :) , a hello world message on screen. Then i compiled the project by using the sources of the specific branch, and at the end i used obs to create some packages that can be found on my obs repo :D .

As I had not any important experience with building software and packages, I occupied myself this week mainly with administration actions. Which however, will help the community and of course everyone interested in my gsoc project, to follow the changes, make suggestions, and contribute with new ideas, but will also help in the latter phase of integrating

Conclusion

The progress of the week 1 in bullets:

  • created git repo online through GitHub
  • practice with git
  • compiling packages from git sources
  • Learn the basics about using OBS
  • experimenting with augeas code, and creating a small command as a test
  • creating openSUSE packages through OBS

The GSoC have just begun, and I have already learned many new and very exciting things. This summer will be very interesting for sure!!! Now i will focus on the actual coding and specifically in the merging procedure that will used in Augeas. Till the next report,

Best Regards,
Christos Bountalis

[1] http://download.opensuse.org/repositories/home:/mpounta/openSUSE_11.4/
Notice: This is the first time I compile and package a project with obs, therefore the packages inside the repo are highly experimental and only for testing purposes.

Hello,

My name is Christos, I have the opportunity to work on a very interesting project for openSUSE, as a part of Google Summer of Code 2011. My project concern a tool for merging configurations files and specifically sysconfig files. You can find more information about the initial project idea by following my last blog post About GSoC proposal “fillup-ng”, there are a little more information about me there too.

Since last week, there has been some exciting news about the project i am working on. In a blog post of my mentor Michal, we got a suggestion about Augeas, an API capable of parsing, editing a configuration file and representing it in a tree data structure. Currently however, Augeas doesn’t support merging of configurations files. A feature that consists the basic and most important idea of our project.

So, instead of writing a new tool from the scratch, we thought that it would better to extend Augeas with the feature we are interested in, that of merging configuration/sysconfig files, and then proceed with the necessary actions of integrating it to openSUSE. I believe that this change in the initial idea offers more benefits. First of all, by using this approach we can concentrate even more in the actual process of merging effectively the files. We will also support an existing open source library/tool. There will be live upstream with many other people contributing by sending patches, fixing bugs and the most important contributing with new ideas and suggestions. It is in my belief that in this way when the project will be completed, we will have the same and even better result. I have already contact the developers of Augeas about this possibility and our intention to use Augeas in our project. And i have to say that they are very helpful :)

There is a lot of work to be done…

Regards,
Christos Bountalis

Hello to everyone,

Recently I have found out that my GSoC proposal was accepted. Therefore, I thought that it would be nice to introduce myself and the project I will work on, to the community.

A few words about me

My name is Christos “mpounta” Bountalis and I am slightly over 24, I live in Salamis a small island near Athens in Greece. I am currently in my final year studying towards a BSc degree in Computer Science. I spend my free time programming, listening to music, tweaking my system, hanging out with friends and occasionally playing soccer. I consider GSoC to be a great opportunity for me to join the openSUSE developers community in a more introductory way. and I plan to take advantage of it :) .

Fillup-ng

I originally found the “Fillup-ng” idea in the GSoC ideas page of openSUSE. The initial idea was by Michal Hrušecký, I have to take this opportunity to public thank him for being very helpful by answering all of my questions during the initial preparation of my proposal.

What is this project? Fillup-ng aims to be a replacement for the current utility fillup. Fillup is a utility for parsing and merging sysconfig files which contain different variables concerning the actual configuration or the environment. Every now and then, a new version of the configuration comes to the system for example with a fresh installed package. This rises some questions about what happens with the procedure of merging these variables, sometimes there may be variables that exist only in the new file, sometime there may be variables in the old, sometimes they are common variables in both files, in all these cases you must decide which variables and which version(if there are two) you want to choose in the final file. Fillup makes the procedure of resolving all these issues easier by offering more “intelligent/automated” ways of dealing with these cases.

What will fillup-ng offer? Fillup-ng will be a program offering same functionality with fillup but with many new advantages/features. First of all fillup-ng will be implemented following a modular architecture supporting plug-ins that will make the program a lot easier to be maintained and improved. Next through the plug-in systems, fillup-ng aims to provide support to more types of configuration files like (.ini and possible .xml) that will make the application useful to even more developers/users.

During the GSoC proposals reviews I got a suggestion to change the name of the new application to something different than fillup-ng. Therefore I thought to create a small poll with some sample names, and I would like your opinion. You can vote even suggest a new name using the following poll

. The poll will remain open for one week. Thank you!

P.S. I will use this blog to post more information and news about the application. :)

Accepted in GSoc 2011

Posted: April 26, 2011 in Site News
Tags:

It’s been a while since my last blog spot. Last month kept me quite busy with the preparation of my final year project thesis. And as it seems next months will be as busy as-well. Yesterday I found out, that my proposal for Google Summer of Code 2011 was accepted. I am very happy about that and I am looking forward to begin coding the new application. I will soon post more information about the project.

Firefox 4 Download Stats

Posted: March 26, 2011 in Articles

Παραπάνω από 30 εκατομμύρια downloads για τον δημοφιλή περιηγητή ιστοσελίδων. Αν και έχουν περάσει μόλις τέσσερις μέρες από την κυκλοφορία του Firefox 4, ένα αρκετά εντυπωσιακό νούμερο δεν συμφωνείτε; Στην ιστοσελίδα http://glow.mozilla.org μπορείτε να δείτε σε πραγματικό χρόνο τον αριθμό των downloads καθώς και την σχετική τοποθεσία του υπολογιστή που εγκαταστάθηκε πάνω στη Γη.