Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

A utility for merging configuration / sysconfig files – Week 2 Report

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

the avatar of Matthias Hopf

RAnsrID: Galois Field / Reed-Solomon code rewrite pending

While starting to implement error resilience (not erasure resilience, which is already working nicely) in my RAID-lookalike multi-disk block device RAnsrID, I finally had to notice that I didn't understand one aspect of Galois Field mathematics - the Reed-Solomon representation type has heavy influence on how to deal with errors (read: corrupted data).

So far, I only understood the canonical matrix style representation (basically a linear combination over the data disks for each redundancy disk). Turns out that with polynomial representation you can create way better (read: faster) algorithms for error correction - according to my analysis, erasure and error recovery is O(N²), compared to O(N³) for erasure correction in the linear combination case, and unknown (presumably O(N³⋅M²)) in the error case (N: total number of disks, M: number of redundancy disks).

Thus I will rewrite the redundancy routines based on Phil Karn's Reed-Solomon implementation - the best implementation with an open license I could find. Most implementations (like in par2) don't bother with error correction, and use block-level checksums to detect errors. That done, erasure recovery can be used. Needless to say, this is no option for my block device (where and why should I store the checksums).

No need to say that this delays delivery timeframe of RAnsrID further; especially as I'd like to incorporate the change in an at least data preserving backwards compatible way.

Also Hackweek 6 wasn't as productive as I hoped; I only managed to get the test suite up and running. Oh well.

the avatar of Efstathios Agrapidis

Greek openSUSE community, Translation of openSUSE Weekly news in Greek(issue 177)

Hello out there,

I am very pleased to announce the new issue (177) of openSUSE Weekly
News in Greek. In this one you will read about:

* openSUSE renames OBS
* Bryen Yunashko: Ready…Set…Code!
* Andreas Jaeger: Factory Progress
* Matt Barringer: SUSE Gallery Desktop Client
* Christos Bountalis: A utility for merging configuration / sysconfig files – Week 1
Report

And of course many many interesting news about openSUSE, plus usefull
advice for making our lives easier.

Enough… read more at: own.opensuse.gr or at
http://el.opensuse.org/Weekly_news.

Looking forward to hearing your comments, advice and anything you would
like to read about at the next issue.

The openSUSE Weekly News is translated in the Greek language from issue #150. You can read older translated issues here: http://el.opensuse.org/Κατηγορία:Weekly_news_issues

Enjoy it!
Efstathios Agrapidis (efagra)

the avatar of Efstathios Agrapidis

Greek openSUSE community, Translation of openSUSE Weekly news in Greek(issue 176)

Hello out there,

I am very pleased to announce the new issue (176) of openSUSE Weekly
News in Greek. In this one you will read a lot about free (as in freedom) software conferences, either they have already been done, or they will be done in the direct future.
A little sample from the subjects:

* openSUSE Conference 2011 to be creative and open!
* Manu Gupta: My GSoC Project – SaX3
* Michal Hrušecký: LinuxTag 2011
* Will Stephenson: Have you BURPed yet today?
* Anastasios Ksouzafeiris: How to install Enlightenment (E17) in openSUSE 11.4

And of course many many interesting news about openSUSE, plus usefull
advice for making our lives easier.

Enough… read more at: own.opensuse.gr or at
http://el.opensuse.org/Weekly_news.

Looking forward to hearing your comments, advice and anything you would
like to read about at the next issue.

Enjoy it!
Efstathios Agrapidis (efagra)

the avatar of Andreas Jaeger

Factory Progress

A lot of things are happening in our Factory distribution that will be released in November 2011 as openSUSE 12.1 and I’d like to point out a few things from the last few weeks that users and developers of factory shouldn’t miss.

Roadmap openSUSE 12.1

Stephan “Coolo” Kulow has updated the openSUSE 12.1 Roadmap, the next milestone is Milestone 1 which is delayed and targeted now for release on Tuesday, 30th May. The next paragraphs highlight some of the updates for this versions.

GCC 4.6

The GNU Compiler Collection has been updated to version 4.6, the list of  changes includes the following new warning that will be visible while compiling packages for openSUSE Factory:

  • “New -Wunused-but-set-variable and -Wunused-but-set-parameter warnings were added for C, C++, Objective-C and Objective-C++. These warnings diagnose variables respective parameters which are only set in the code and never otherwise used. Usually such variables are useless and often even the value assigned to them is computed needlessly, sometimes expensively. The -Wunused-but-set-variable warning is enabled by default by -Wall flag and -Wunused-but-set-parameter by -Wall -Wextra flags.”

Some packages have been failing by the new GCC due to new warnings and new optimizations and most have been fixed already but please double check that your packages are building and running fine.

RPM 4.9

Michael Schröder announced RPM 4.9 for Factory. He explains the main packager visible changes as:

“Besides some bug fixes and an update to a newer BerkeleyDB
library rpm-4.9.0 contains plugin architecture for dependency
generation. In older rpms, the internal dependency generator
was pretty much hardcoded in C, so we always used the old
external one to generate dependencies. With rpm-4.9.0, the
internal generator has become flexible enough so that we
can use it.

This means for you, that rpm will no longer use the %__find_provides and %__find_requires macros. Some packages redefined those macros to be able to filter the generated dependencies.
This will no longer work in rpm-4.9.0. Instead, support for
dependency filtering was added to rpm…”

GNOME 3

GNOME 3 has now hit Factory as well and Vincent Untz explained how to fix failures due to the large push.

Linux Kernel 2.6.39

This update was a “boring” update – nothing broke AFAIK ;), so I hope it’s a solid version. Users will benefit from the new features in it. 2.6.39 is the first kernel without the Big Kernel Lock at all!

Packaging Changes

Besides new software, also new ways of handling it get introduced. The following catched my eyes:

Rpmlint update

Ludwig Nussel updated rpmlint to version 1.2 and explained the new warnings about packaging of rpm packages – and what to do about them.

Changing the process of Factory submissions with the Open Build Service

Now with every submission to Factory scripts are run automatically that do two different reviews before the package goes to human check-in review:

  • The “legal-auto” review checks the updated package for changes in licenses.
  • The “factory-auto” review checks that the updated package builds actually in the devel project – and if not, rejects it.

The “legal-auto” review has quite a long backlog at the moment and Jürgen is working on moving some of the checks to rpmlint or osc checks – so that the packager notices and fixes them before submission to Factory.

Also, you can now submit packages to Factory even if you are not the maintainer of the package but in this case the maintainer (packager) gets a review request to review that the package really can go to factory and thus a plea to packagers to handle their review requests.

openSUSE Conference

The openSUSE Conference is this year co-located with the SUSE Labs conference. Join us to present and discuss also Factory related topics. The Call for papers is open now!

I’m interested on feedback on this article – should I start a series?

a silhouette of a person's head and shoulders, used as a default avatar

A utility for merging configuration / sysconfig files – Week 1 Report

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.

the avatar of Thomas Thym

Strategy is alive


CC by nc sa mikep @flickr


There was a long pause during the strategy process. Now the strategy team is working on it again. News are coming the next days. Stay tuned.
the avatar of Frédéric Crozat

the avatar of Efstathios Agrapidis

Greek openSUSE community, Translation of openSUSE Weekly news in Greek(issue 175)

Greek openSUSE community, Translation of openSUSE Weekly news in Greek(issue 175)

Hello out there,

I am very pleased to announce the new issue (175) of openSUSE Weekly
News in Greek. In this one you will read about:

* openSUSE 11.2 has reached end of SUSE support – 11.2 Evergreen goes on!
* Sebastian Kügler: What’s new in Plasma Active?
* Thanasis Rous: Medical Report
* Nelson Marques: Unknown Horizons, a nice strategy game, now on openSUSE
* jun auza: 7 Nifty Tricks to Get the Most out of LibreOffice Writer

And of course many many interesting news about openSUSE, plus usefull
advice for making our lives easier.

Enough… read more at: own.opensuse.gr or at
http://el.opensuse.org/Weekly_news.

Looking forward to hearing your comments, advice and anything you would
like to read about at the next issue.

Enjoy it!
Efstathios Agrapidis (efagra)

the avatar of Andrew Wafaa

Can We Spread The ISV Love, Please?!

So word from the new Big Cheese, Herr Braukmann, is openSUSE is vital to SUSE – newsflash, this isn’t new or surprising ;-) In the same breath SUSE is vital for openSUSE, again nothing new here. One problem though, there are many elements that still see them as void of each other and don’t trust or believe in the community. Hopefully with the re-organisation this will start to change. One thing that SUSE has marketed for a long time is that it has the highest number of ISV software certified to run on their platform.