Home Home
Sign up | Login

Author Archive

osc plugin – changes

March 23rd, 2011 by

OSC is a powerful tool for packaging experts, exposing all the latest and greats features of the Build Service. It’s written on python and easy in studying and using. However there are situations when its functionality is not enough; sometimes we need something special. In this case to us will help plug-in mechanism, which in osc is realised very simply.
Plugin can use all of the features, which already implemented osc, as well as provide an output in a convenient format for you. For example, if I want to check changes in kdelibs4 between openSUSE:11.3 and openSUSE:11.4, I can do something like this:

> osc rdiff openSUSE:11.3 kdelibs4 openSUSE:Factory kdelibs4

After that I will receive a detailed output about all changes. Yes, that’s great… but not always it’s convenient. For example, in this case output will contain more than 2000 strings, and I need time to find, say, a *.changes file if I want quickly to understand that has been changed. In case if I want to transfer output to processing to another program (as often happens in practice), I have to shape this data. Unfortunately osc is not as intelligent and can’t show changes from one file (from *.changes, for example) only…

Hello world

Let’s me show how we can create a very simple osc-plugin. In the derectory /var/lib/osc-plugins/ we create a new file tell_me_something.py with such content:

@cmdln.alias('say')
def do_say_something(self, subcmd, opts, *args):
    if sys.argv[2] == "something":
        print "openSUSE rulezzz"
    else:
        print sys.argv[2]

At start, osc will check this directory and will register all found there plugins. In that case, if in the plugin’s content there are errors, osc will report about it immediately. If now we run

> osc help

we will see in the list our function say_something and the key to start it – say. Let’s test:

> osc say "hello"
hello
> osc say GNU/Linux
GNU/Linux
> osc say something
openSUSE rulezzz
>

As you can see, it’s very easy – just python and nothing else. Let’s go back to the output of the function rdiff(), which we mentioned at the beginning.

show me changes

In output of rdiff() nothing wrong, but I would like to immediately get information about what exactly has been done and, for example, which bugzilla-reports (related to this package) have been closed, etc. All what I need, are in rdiff’s output. It means that all what I have to do is just to shape this output.

In 40 minutes of hacking I got such output:

> osc changes kdelibs4 openSUSE:11.3 openSUSE:11.4
PACKAGE: kdelibs4
BUGZILLA_NOVELL: 668185, 670426, 644236, 596021
BUGZILLA_OTHER: 246652, 170806, 149991, 221989, 252280, 253387, 253294, 193364, 253414
CHANGES:

- work around random error on first startup, bnc#668185,
  kubuntu has a similiar patch applied
- call update-mime-database in pre/post install scripts
- don't show synthetic volume label when none is really available,
  allow kio_sysinfo to fall back to device path (bnc#670426)
- update to KDE Platform 4.6.0
  * Plasma applets can be written in QML
  * Plasma data engines can be written in Javascript
  * Plasma data engines can use generic cache for offline mode
  * udev, udisks, upower replace HAL in Solid
  * For more details, see http://kde.org/announcements/4.6
- add patch from 4.6 branch to fix plasma crash on exit
- Add dependencies on udisks and upower for 11.3 and up for Solid
- update to 4.5.95
  * KDE 4.6 RC2
  * no upstream changelog available.
- update to 4.5.90
  * KDE 4.6 RC1
  * no upstream changelog available.
- For 11.2 and 11.3 only : Will build now with polkit-qt-1
  v 0.99.1, which is an official requirement of KDE 4.6
- update to 4.5.85
  * KDE 4.6 Beta2
  * Final Beta before RC, various fixes from Beta1
  * no upstream changelog available.
- For 11.2 and 11.3 only : Added patch to revert changes that
  requires a higher version of polkit-qt-1
- update to 4.5.80
  * KDE 4.6 Beta1
  * no upstream changelog available.
-  Closing the shell via CTRL+D crashes [bko#246652]
- fix build with gcc 4.6
- tighten qt4 dependencies
- update to 4.5.3
  * see http://kde.org/announcements/changelogs/changelog4_5_2to4_5_3.php for details
- update branch diff for various bugs in 4.5:
  * Crash on configure toolbars (bko#170806)
  * KCookieJar can't read cookies from another port (bko#149991)
  * Fix oversized number input widgets (bko#221989)
  * CSS conformance issue (bko#252280)
  * Fix helper protocols such as mailto: and telnet:
  * Plasma crash on comic applet switch (bko#253387)
  * HTTPS urls in KMail do not open properly in browser (bko#253294)
  * Mailto: links in FireFox started by kmailservice fail (bnc#644236)
  * Crash in directory listings when toggling
    show hidden files flag (bko#193364)
- Upstream patch added for kmail issue (bko#253414)
- update to 4.5.2
  * see http://kde.org/announcements/changelogs/changelog4_5_1to4_5_2.php for details
- build apidocs separately to reduce build time
- BuildRequire utempter-devel
- update to 4.5.1
  * see http://kde.org/announcements/changelogs/changelog4_5_0to4_5_1.php for details
- new package: kdelibs4-apidocs (bnc#596021)
- update to 4.5.0
  * KDE 4.5.0 final (version bump over RC3)
- update to 4.4.95
  * KDE 4.5 RC3 (not announced)
  * critical fixes for 4.5.0 release
- Add libsoprano-devel Require to libkde4-devel
- update to 4.4.93svn1149349
- update to 4.4.5
  * bugfixes over 4.4.4
  * see http://kde.org/announcements/changelogs/changelog4_4_4to4_4_5.php for details

and between 11.4 and factory:

> osc changes kdelibs4 openSUSE:11.4 openSUSE:Factory
PACKAGE: kdelibs4
CHANGES:

- update to 4.6.1
  * Bugfixes over KDE 4.6.0
  *  see http://kde.org/announcements/changelogs/changelog4_6_0to4_6_1.php for details
- remove upstreamed patches

aha… and what’s about vim between 11.2 and 11.3?

> osc changes vim openSUSE:11.2 openSUSE:11.3
PACKAGE: vim
BUGZILLA_NOVELL: 598903
CHANGES:

- Add screen control sequences to inputrc (bnc#598903)
- Use the icon from the tarball instead of our custom icon. It
  looks much better.
- Drop gvim.png from the source package.
- build data subpackage as noarch
- updated patches to apply with fuzz=0

Now we can see exactly what was has been done and which bugzilla-reports was fixed/closed. Yes, we have bnc# and bko# reports: reports from bugzilla.novell.com and bugs.kde.org (it cut be also bugs.kernel.org). Second group will be always different (KDE/Gnome/Mozilla/Kernel…).

Source code of plugin is here, and I hope this post will be useful for you if you’ve never written a plugin before.

BugDay

November 22nd, 2010 by

At the last openSUSE project meeting and after the discussion about “zombie” bugs on the opensuse-project mailing list, a small team of volunteers agreed to organize a Bug Day on Saturday, November 27th. What is a Bug Day? This is a day when many people from the community help to triage bugs in Bugzilla. It is a good and easy way to get involved in the openSUSE project!

Here is what you need to participate:
– a recent version of openSUSE (11.3 or a milestone of 11.4). It’s okay to run openSUSE in a virtual machine.
– an IRC client to interact with the other participants
– good mood :-)

A small team will organize the event by providing lists of bugs, and will be available to guide new contributors if needed. So it will be easy to help!

For this specific Bug Day, we will focus on the “zombie” bug reports: those are reports against old versions of openSUSE (openSUSE 10.x and 11.0). As some reports might still be valid, we don’t want to close all of them automatically. We will therefore check all those reports to see if they are still valid in the latest version of openSUSE (11.3 or a milestone of 11.4). The goal is to close those bug reports if possible, or, if they are still valid, to move them to a current version of openSUSE so that they’re not lost in limbo. So during a full day, people come on irc and help each other triage bugs.

Please note that this is only for openSUSE bugs (living in bugzilla.novell.com), but a solution for some bugs might be to forward them upstream.

Come on #opensuse-bug (freenode) on a Saturday 27.11.2010, we’ll be glad to have you join the fun! ;)

Documentation

October 13th, 2010 by

Hi folks,

this post is just request for all obs-packagers. Please, don’t forget write some documentation about your projects (which you maintain or develop). I mean, documentation for developers. This make more easy to understand logic of program, connection between some modules inside or interfaces between widget/applet and “system/hardware part”. For sure, comments in source code (or in changelog) help, but some times they give not so much clarity.

This is not so complicated to write one-two pages about project, which you hack. This also can save time of new developers. They will not ask you about architecture of project, and that will save your time too ;)

I don’t know how will be better to do it: use wiki (create a new page) or add just text-file in source project. Anyway it’s not so important where will be this documentation, main things that this documentation will be exist :)

Free BEER for free people

September 17th, 2010 by

When we call beer “free”, we mean that it respects the users’ essential freedoms: the freedom to drink it, to study and change it, and to return empties with or without some changes. This is a matter of freedom, not price, so think of “free speech”… but in this case also “free beer” too.

Why man have to choose a free beer? Because it’s open and free to use. Everybody can give some feedback on the freebeer’s twitter page.

The project was started by Wädi Bräu in Switzerland like “open source beer” project. On the home page you can get more information about this project, for example, news and last updates.

License: creative commons.
Alcogol vol: 4.8 %
Size: 0.33 L

Be free… drink free beer ;)

p.s. Who know, maybe Novell will be sponsored this great open source project (?) ;)

Hacking for Freedom

June 7th, 2010 by

Hi developers!

These are first hours of hackweek. A lot of people in Novell and in the community are starting to work on different projects. What can I give for free software in this week? Sure, my favorite project is NetworkManagement.

As you can see, NetworkManagement don’t work well. For example, it can’t see WiFi connection and don’t show wired connetcion. Yes, right now we have one bug with module “networkmanagement”.

This module must be loaded after start NetworkManagement, but this is not happening :(

If you check it, you will see:

anaumov@pizza:~/plasma/networkmanagement> qdbus --system org.freedesktop.NetworkManagerUserSettings
Service 'org.freedesktop.NetworkManagerUserSettings' does not exist.

Why it’s happening? Problem is in connection between plasmoid and deamon NM (via DBus).

anaumov@pizza:~/plasma/networkmanagement> qdbus org.kde.kded /kded loadModule networkmanagement
true
anaumov@pizza:~/plasma/networkmanagement> qdbus --system org.freedesktop.NetworkManagerUserSettings
/
/org
/org/freedesktop
/org/freedesktop/NetworkManagerSettings
/org/freedesktop/NetworkManagerSettings/0
/org/freedesktop/NetworkManagerSettings/1
/org/freedesktop/NetworkManagerSettings/2
/org/freedesktop/NetworkManagerSettings/3
/org/freedesktop/NetworkManagerSettings/4
/org/freedesktop/NetworkManagerSettings/5
/org/freedesktop/NetworkManagerSettings/6
/org/freedesktop/NetworkManagerSettings/7
/org/freedesktop/NetworkManagerSettings/8
anaumov@pizza:~/plasma/networkmanagement>

So, now we can see WiFi interface:

And WiFi interface can see WiFi connections:

Good, but this works not automaticly. It’s first what I want to hack on this week.

And what do you want to do on this week? ;)

Qt Developer Days 2010

June 4th, 2010 by

Today I got a email about registration for “Qt Developer Days 2010″. This conference will be in Munich (October 11-13) and in San Francisco (November 1-3). I think this is the biggest and best Qt-event. Last time there was more than 700 people. It’s very interesting for me as the KDE developer, but it’s not free like FOSDEM or openSUSE Conference :(

For example, 3 days in Munich cost 499€ (if you pay befor 15th september and 699€ if you pay after). Ok, I know that Qt/Nokia makes very good coffee, but anyway this event is very costly for students like me ;)

I will wait for the openSUSE Conference and meet the Qt/KDE hackers there.

Russian openSUSE community

March 30th, 2010 by

Hello everybody,

I want to share some ideas about the success of the Russian openSUSE community, and try to answer the question about its popularity. As you can see it is one of the top places:

The reason for the high popularity of this distribution in Germany is of course the fact that the German SuSE distribution and the main branch of development is located in Nuremberg. Popularity in the U.S. is due Novell – an American company, and of course the language is English. But why are so many people in Russia choosing openSUSE?

Good question. One of the main things that influence the choice of distribution – the quality and localization. The global community plays a top role for quality of distribution and local make it appropriate for Russian language users (of course a local community can be as part of a global community).

Perhaps most important is the documentation. And of course, not everyone wants (or can) read the documentation in English. Everyone wants to read the documentation in their native language. The distribution may be in a good shape and stable, nice and convenient, but without documentation it will use very few. Translated documentation is very important to the community. The translation must have a high quality, understandable, and as it must be kept up to date.

For the community its also profitable that 2 guys from the community working for Novell (in Nuremberg and in Prague). This provides better communication between “developers – community”. It helps to be closer to the project. This allows you to always be aware of all the major news of the project. And of course the translation is much better if they are engaged not just as a translator, but the employee who works on the distribution.

Of course this also applys for software. Although it is not as important as documentation, it still makes an impression on the quality of distribution. Everyone wants to work with the software in their native language %)

A successful community is a group of people who love openSUSE, who understands why the software should be free, who wants to make openSUSE better and better… every day.

Tokamak4

February 27th, 2010 by

On this week the leading KDE developers met together again. This time it was held in Nürnberg, in the openSUSE premises and was kindly made possible by Novell and KDE e.V.
26 hackers, who make KDE better.

For me it was first time, where I met hackers not for drinking a cup of beer, but for working, for hacking, for learning… and I think in this time I got much more fun.

We started at 9-10 am and finished it at 1-2 am. Yes, these two days we hacked like crazy. I’m not so good in KDE, I mean – I’m just trainee in SUSE/Novell, but in these two days I took a lot of information about KDE (arhitecture), Solid, Plasma, methods of project’s buildings (cmake), etc.

I have uploaded photos. You can find these here.

I have worked before on KNetworkManager. It was just a couple of patches (Qt/KDE3 based), and KNM has another aspects of integration with hardware as we have now in KDE4. In KDE4 we have SOLID, and this makes more easy to asking for such things like, for example, wired connection or to find hidden SSID wi-fi…

Yes, my current project is Network Management plasma applet.

With Sebastian Kügler and Will Stephenson, we worked together on functionality to easily connect to wired, wireless and mobile broadband networks and also to VPNs. As I said, I don’t did so much, but I started working on support for connection. Maybe next month I will be able to show that I did.

I would like to thank everyone with whom I spent those 2 days. Especially Will, who always supports and helps me to become a KDE developer.

FOSDEM’10

February 13th, 2010 by

Just laptop and headphones, book and a bit eat/drink for trip time and of course rube’s cube are in my rucksack :) On last weekend I was on FOSDEM.

FOSDEM is probably the most developer-oriented European Free and Open Source conference/event. As usual it was in Bruxelles, Belgium on first weekend of February. I was there with another Novell/SUSE employees. Majority of they are responsible for work with community. For example, boosters team.

On 5th February we went from Nuremberg at 12 am (by bus) and was in Brussel at 9 pm. At half past ten we (Holgi, Dinar and me) were on the beer event. What can I say about this evening? It was really nice to meet and speak with another developers for a cup of beer :)

The main thing that happens on conferences is learning. This was main reason why I was there and why Novell/SUSE help me to visit FOSDEM. A lot of presentation/talks about KDE, or packaging (RPM), or BuildService or… a lot about another open source projects…

I like such events :) It’s not only interesting presentations through which you open/learn a lot of new, but also possibility to get acquainted with other developers or is simple with enthusiasts whom it is unconditional as bring the contribution to development free and open source software.

The next evening I have devoted to walk across Bruxelles. It was very interesting to speak with people there. I have made a lot of photos.

For sure, I’m going to visit FOSDEM in next year, but for next time it will be depends on money. Anyway I will recomend to visit this event for every Linux-/*BSD- user/developer.

Russian openSUSE forum

January 8th, 2010 by

Hello community!

As agreed at the meeting – Russian commutiny needs a forum.

Also… Fixed… I would like to introduce a new Russian openSUSE forum %)

Right now we have a small problem with encoding and want to add Russian buttons, but it’s trifle and we will fix it in next days.

In the past Russian community meet on another linux_universal forums like linuxforum.ru or linux.org.ru, but these forums are not related to openSUSE project. And now I hope our community gradually will start to join the global.

In this forum we are closer to the draft openSUSE: in the same domain is located and Wiki, and the openSUSE Build Service, and much more.

So… you are welcome %)