Home Home > Tag > fun
Sign up | Login

Posts Tagged ‘fun’

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.

Chemnitzer Linuxtage 2011

March 23rd, 2011 by

Last weekend I spent on Chemnitzer Linuxtage 2011 which is a popular linux event in Chemnitz, Germany. It was the first time I have been there and was very positively surprised. It is a very well organised event, in a building providing the perfect environment and a large amount of volunteers helping to make the whole weekend enjoyable and relaxed. Thanks for that, it really was fun to meet so many people in this all-inclusive atmosphere :o)

openSUSE had a booth there (thanks Fedora for the picture) and we were lucky enough to have brand new 11.4 promo DVDs there which were handed to interested people. openSUSE 11.4 in general is very well received at most visitors, they were quite happy with our latest release. That is also true for the feelings for openSUSE all over: I heard so much positive feedback about what we do and how we do it, for example the OBS with the collaboration features, the distribution or the activity all over. People recognize our efforts.

I gave a talk about Kraft, as people hinted me that there might be the right audience for the topic of Linux in the small business. The interest was huge, the room was more than full and people seemed to like the way I was approaching the challenge. Unfortunately I had to fight with the notebook/beamer phalanx in the beginning (I apologize for that) so that I had to skip the live demo of Kraft in the end. But still I got a lot of interesting discussions afterwards and got some nice contributions already. Thanks for that.

On saturday noon there was a “Distribution competition” where I was pulled in to show openSUSE. It went ok for all distros taking part and was fun for us presenting :-)

Booster Michal was giving a workshop about creating packages in the OBS for multiple distributions and a very well received “whats new in 11.4?” talk was given by Sirko in the beginners track.

It was a great event, even though I quite exhausted arrived home late on sunday night. I will be there next year again.

Boo

January 28th, 2011 by

Arts, buffer, check, clutter, cobbler, colorblind, concurrent, convert, cook, crash, dialog, dump, expect, file, folks, fortune, genius, global, hello, indent, less, links, meanwhile, mirror, screen, sparse, suck, tree, units, words. What do these ordinary English words have in common? They are also names of software projects, which becomes a problem if you want to recognize package names in text. I understand that in the old days, the name of a command or application was only relevant in the context of the computer it ran on, and file names had to be short. Some of these names have allowed for a variety of jokes. But why, in the age of portable programs, WWW and search engines, can’t people come up with less ambiguous names? I mean, it’s not hard to join two words, or, at a minimum, prefix a word with a vowel, like, uhm, a round fruit does. :)

Oh, and did I mention that we have over 160 packages with a 2-3 letter name? The one mentioned in the title is a programming language, btw.

Massive update on Ubuntu software…

January 20th, 2011 by

Screenshot using Radiance Light Theme and default Ubuntu indicator layout.

Some brief updates about the ongoing work towards bringing Ayatana Project software into openSUSE:

1. Software Updates

Canonical recently released a batch of updates which bring new functionality (Indicators seem to respond faster now) and very nice improvements, some of them contributed by down-streamers. From my humble experience I would risk to claim that Canonical is doing an excellent job as an upstreamer. I’ve updated all packages to the latest versions. This allowed to remove some patches.

2. Unity

Unity is now one step closer. For Unity I’ve started to package Compiz git snapshots from the correct branches pointed by Unity documentation. This brought something new to me, cmake. I’ve done this very slowly, reading some docs meanwhile about cmake. My packaging around Compiz is mainly based on OBS X11:Compiz repository, so pretty much all the credits should be for the original project Packagers which done an awesome job. Currently I’m missing only 3 packages to test Unity. Recently with kernel and mesa updates some issues around ATI hardware seem to have fixed for openSUSE Factory users, which enabled in my case FireGL, therefore I can test properly Unity now and check for the integration into openSUSE.

Unity by default uses the Ayatana’s Indicators, and if they are not present, it will fallback to GNOME’s applets. This is very nice and I’m thankful Canonical made it this way. This brings non-Ubuntu users the Unity experience at almost no trouble, since there isn’t actually much patching required to implement Unity.

3. GNOME:Ayatana Repository

GNOME:Ayatana Repository will be populated during the next two weeks with the latest changes and will provide for the time being the Ayatana’s Indicators and Unity. I am currently working around libappindicator stack and it’s Indicators. Currently I’m testing the patches required on the GTK+ stack and this is pretty much the last barrier before going into #STAGE2, polishing and populating GNOME:Ayatana.

It’s not decided yet what packages are going to present on Factory. My wish is to push only Unity into Factory and it’s dependencies, this might not happen for 11.4 as I’m not sure about the freeze schedules and it might be too late already, but since we’re depending on Compiz upstream, we’ll see what happens. Even if Unity isn’t going to be available on Factory, I’m sure we can use KIWI or SUSE Studio to release a small openSUSE Unity Spin.

I’ve also decided that I (typo: previously would) wouldn’t like to see Unity available by openSUSE before the official release from Ubuntu, for which I wish all the success.

Since the very early start that I’ve been using pkg-config as much as I can. According to some information that I collected previously, this would be great for cross-distribution build. Depending on the time and work done, I might make the necessary modifications and enable cross-distribution building on this project, thus, making it available for other RPM distributions supported by OBS. This will require a bit of testing before, so it will be work to be done after 11.4 is released and during it’s lifecycle. Maybe by the time of openSUSE 12 gets released, we will have this project also available for other RPM based distributions. I have no knowledge on Debian packaging, but Ubuntu ships this software and Debian probably has it also available so… that won’t be a problem.

4. Artwork

I am providing on GNOME:Ayatana Ubuntu’s Light Themes (Ambiance and Radiance) and offering a patched version of Metacity that renders those themes perfectly. I’m not changing the original colors from the themes or modifying them in any way. So they might be a bit more of orange and not green.

I’ve contacted some people to ask if they would be willing to donate some artwork to make a small package with Wallpapers, some have answered yes, so I will make a small package with a couple of wallpapers for the traditional resolutions and distribute it alongside with this software as optional as always.

5. GTK2, GTK3 and QT

Implementation of GTK3 will be done within the next days, as I am also considering enabling QT support for KDE users (Indicators only for now).

That’s pretty much the result of the last days of work… more news to come in the nearby future.

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 :)

It’s good to visit Conferences

October 8th, 2010 by

This post is about why one should visit a conference at all and hopefully is a good read for people who haven’t been on a FOSS conference yet. For oldtimers this might be unbelieveable, but I remember perfectly how I thought “This conference sounds interesting, but its probably only for checkers, long term contributors, not for me”. Thanks god I had somebody convincing me that that’s wrong and pulled me to my first Akademy which was a great experience as well as all the other conferences I have been later.

The main thing that happens on conferences is learning. While sitting in workshops and presentations you can learn so much about technologies, and since you take the time to really listen to it, it sticks very good in your mind. If questions remain open, you can be sure to immediately find people who can help to clearify.

Learning often results in motivation because if you learned something you want to try it out. Since you again have time after the conference presentations and you are surrounded by others who are interested in the similar topics, the motivation grows to really put the hands on the keyboard and try things out.

Another motivational factor can be that people adjust your opinion about your own contribution, if you already did some. You might think your contribution is only small, not comparable and not so important. After having three people met who were thanking you for your work and telling you how important it was for them, you will feel the motivation boost. But attention – that sometimes works the other way round as well ;-)

But that guides us to the most important thing: Meeting people in person, get to know each other, make friends. I know so many people from visiting conferences, and the quality of “knowing” is so much higher if a face, a smile, a good presentation or other things like funny clothes can be put to a name. Even people I do not know know me because I visited a conference once.

Working for and with people you know in person is much more pleasant as if you only know their email addresses. And we’re not talking about conflict situations which are so much easier to solve if you have met before.

openSUSE Conference 2010

Last but not least the possibility of influencing things must not be forgotten. Often on conferences things move forward, because the right people are on the same spot and discuss things and come to decisions. Believe it or not, it happens quickly that you end up in the circle of people if you want.

Ah yes, there is another reason why people like to come to conferences: It’s called ‘having fun’. I am not sure what is that about, but it must be cool ;-)

Very soon the second international openSUSE Conference takes place in Nürnberg, Germany. If you are interested in the openSUSE project, the distribution or upstream projects, I really like to encourage you to conferencing give FOSS conferencing a try if you had never done it before. If you had, you will be there anyway ;-)

Please do not hesitate and register now.

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? ;)

9-15/05/2010 : A week that will be a Milestone on gnu/linux Gaming

May 12th, 2010 by

During the last week blogs, twitter, facebook and other means of communication for the users experienced a lot of traffic related to the Humble Indie Bundle. This bundle was nothing more than a package composed of 6 DRM-Free games developed by 6 Independent game developers that could be obtained at a price set by the user. This bundle included the games World of Goo, Aquaria, Gish, Lugaru HD, Penumbra Overture and Samorost 2. The bundle was available for one week and the earnings went to the developers, The Child’s Play Charity and Electronic Frontier Foundation depending on the will of the buyer. At the end of the week the bundle reached 1’000.000 US$ of income, reason for which Aquaria, Gish, Lugaru HD and Penumbra Overture are releasing their code under FLOSS licenses. As you can see here was already released under GPL2, and the other games source code is being prepared to be released within this week.

Gish

In addition to this, it was officially announced that Steam will be available for Linux at the end of this summer, which means lots of games and lots of fun is coming to gnu/linux and the breach in gaming between gnu/linux and other OSs is getting smaller.

Here some trailers of the games that will be released as FLOSS  from the Humble Indie Bundle

AquariaGishLugaru HD |   Penumbra Overture

Linux gamers it is time to have even more fun

jaom7