Slashdot looking for open proxies?
I saw the following somewhat-strange line in my web server logs today:
216.34.181.45 - - [25/Aug/2008:10:23:51 -0500] "GET http://tech.slashdot.org/ok.txt HTTP/1.0" 401 523 "-" "libwww-perl/5.812"
That web server is running on the IP of my home router. The requesting IP appears to be a Slashdot machine. My guess is that they are trying to find out who accesses their site through an open proxy. But why? Is there another reason they might send a request like that? Do they ban proxies if they find one?
UPDATE: Apparently, they do in fact ban open proxies (according to this). Supposedly a lot of comment spam comes from them. I wonder if it would help blogs at all to do something similar?
novell-bugzilla.user.js updates
I’ve updated the Novell Bugzilla Autologin greasemonkey script again. Just click here to upgrade your current version or install it for the first time. You of course need greasemonkey installed.
I’ve removed the “go to login page” step. It now just logs in directly via AJAX and refreshes your current page. It has also been rewritten to use jQuery (and jQuery.blockUI) which cleaned things up a bit and gives a nicer “please wait” message :)
Linux Distribution Popularity Across the Globe
Royal Pingdom has issued an article about “Linux Distribution Popularity Across the Globe”. They have included eight common Linux distributions in their survey: Ubuntu, OpenSUSE, Fedora, Debian, Red Hat, Mandriva, Slackware and Gentoo and used Google Insights for Search, for determining the results.
Below is the summary from their results :
- Ubuntu is most popular in Italy and Cuba.
- OpenSUSE is most popular in Russia and the Czech Republic.
- Red Hat is most popular in Bangladesh and Nepal.
- Debian is most popular in Cuba.
- Cuba is in the top five (interest-wise) of three of the eight distributions in this survey.
- Indonesia is in the top five of four of the distributions.
- Russia and the Czech Republic are in the top five of five of the distributions.
- The United States is not in the top five of any of the distributions.
There is an interesting result, Rusia, Czech and Moldova beating Germany about openSUSE popularity
. Oh, of course this is not complete survey, and it is not the weakness of openSUSE itself. In the other side, the survey show us that openSUSE gained much popularity in outside Germany.
Another interesting result, congratulation for Indonesian openSUSE Community, Indonesia is in top five (number #5 of 5) of openSUSE popularity in the world and Indonesian openSUSE Community contributed in the survey results to make Indonesia as top five of four of the distributions.
Please navigate to the survey results for another interesting results and detail statictics.
ENOS 2008: news and changes
- Oxygen chief artist Nuno Pinheiro will attend ENOS 2008 and give a talk entitled - "Oxygen, um pilar do KDE 4"
- Agenda has been rescheduled
- Meeting point is auditorium H2, ISEP, Porto.
- Maps added
- openSUSE Install Party
openSUSE Build service: layering, linking, patching and aggregating
Today I used some of the coolest openSUSE Build Service features: project layering, patches against linked packages and aggregates. I want to write about them.
I needed to test a feature in PackageKit. I am using openSUSE 11.0. However upstream PackageKit does not play nice with 11.0. Stefan Haas fixed this, taking our PackageKit sources, adding some patches, and building them in his home project, which results in a repository here.
My feature involved a patch against PackageKit and then testing it from a client application (to adapt it), so what I wanted to achieve was to use Stefan’s PackageKit plus my patch, packaged in a rpm.
I could just copy Stefan’s sources and patches to my home project, and add my patch, but that would be duplication. Any change Stefan does later would require to copy it again.
Luckily the build service has a feature call linking, so I can link Stefan’s package to my home project. You can do that from osc or from the web user interface (Link package from another project), and that would result in a new package called PackageKit in my project (I created a subproject home:dmacvicar:packagekit for this purpose) with a single file called _link.
This version of PackageKit only builds with Factory’s libzypp, so here we have various options:
- build on top of zypp:svn/openSUSE_11.0 which is ZYpp svn built on openSUSE_11.0
- link all zypp:svn packages to my project (too inefficient, Adrian would kill me if I start to rebuild ZYpp in every project :-) )
- aggregate all ZYpp openSUSE_11.0 packages from zypp:svn in my project (aggregate explained later)
Because I already have the repo zypp:svn in my repo list, I chose building on top of zypp:svn. (This will mean that in order to use this modified PackageKit repo, you need to add zypp:svn as well).
So now, I can add my patch next to the _link file. However, How to make this patch appear in Stefan’s specfile? Do we need to patch the spec file too? No. The build service does it for you. Just edit the _link file which looks like this:
So it looks like:
<link project='zypp:svn' package='PackageKit'> <patches> <apply name="patch" /> </patches> </link>
This will insert the patch in the spec file when building. That is real magic.
Sadly, this bleeding edge PackageKit version requires some libtar-devel not available in 11.0. Stefan had a backport to 11.0 in his home project too. Do we need to link the package to our project too? No. Linking here is unnecessary because we don’t really need to rebuild a copy of this package, we only need to make it available in our repository for people installing PackageKit from our project, who don’t have Stefan’s project added in their repository list, that will get libtar grabbed via dependencies, but we don’t care if the metadata grabs the final rpm from Stefan’s project.
That is called “aggregate”. To aggregate a package from another project, we create a new package (called libtar) and add to it a file called _aggregate (the web interface does not help you here). Edit that file so it looks like:
<aggregatelist> <aggregate project="home:haas"> <package>libtar</package> <package>libtar-devel</package> </aggregate> </aggregatelist>
This will map home:haass repositories 1:1 to our repositories. So if we build our project against openSUSE_11.0, it will aggregate our package with home:haass/openSUSE_11.0 too. If you don’t have a 1:1 mapping, look the Build Service Tips and Tricks to do more complex aggregates.
Then I am ready to install my new PackageKit:
$ sudo zypper in -r home_dmacvicar_packagekit PackageKit PackageKit-devel Reading installed packages... The following NEW packages are going to be installed: PackageKit-devel PackageKit Overall download size: 1.1 M. After the operation, additional 5.1 M will be used. Continue? [YES/no]: y
10 inches in one year!
KDE Project:
Tomorrow is the last power-of-two day in the year and this happens to be Felix's birthday (if you remember 2^4*2^3=2^007 - a year has passed). I just finished burning a DVD with the movies we recorded and a slideshow of the best pictures and it's a strange feeling seeing him grow up in 5 1/2 minutes.
But this date is more important than that: Maren returns into her job on monday and I'll stay home with him for two months. In this time I will still be part of the KDE and the openSUSE community, but won't have a lot of time for either.
So it will be an adventure for myself and I guess I'll return into official duties with a different view on life :)

Accessing the Build Service from Eclipse
One of this year’s Google Summer of Code projects is a an Eclipse plugin to access the Build Service, developed by Long Hong from Beijing. If you are interested, read on.
While there are still issues to be solved, I think it’s in a state that everybody can try it out. Grab a package from my home project, launch eclipse and open the Build Service perspective. Please note that the package itself is a bit experimental and was only tested to work on openSUSE 11.0. Enjoy! 
New YaST2 printer configuration module

Please anybody interested in improving current status of printing configuration - test it and give me (any) feedback.
Thank you,
Michal
Encontro Nacional de openSUSE 2008

The acronym ENOS stands for 'Encontro Nacional de openSUSE', a Portuguese expression which can be translated to 'National openSUSE Meeting', an event meant to unite the Portuguese openSUSE users.
The purpose of ENOS is to give an opportunity to the Portuguese openSUSE users to be together, as well as provide the participants an insight view on the latest developments on the openSUSE project and stimulate them to take an active part on the community itself.
ENOS 2008 is the second yearly edition (read about ENOS 2007 here) of the event and will be held in Instituto Superior de Engenharia do Porto (ISEP), Porto, Portugal on September 6th.
This year we will have special guests giving some talks:
- Ricardo Cruz (YaST-GTK maintainer) will introduce us YaST and how easily is to create a module for it. PackageKit and libzypp will be be introduced.
- Andreia Gaita (Mono developer) presenting Mono open source project, sponsored by Novell.
- Rui Capela (Linux Audio hacker) will talk about his audio applications, focusing on Qtractor, an Audio/MIDI multi-track sequencer application.

As in last year, attendees will have the opportunity to do the LPI Certification Exams at the event with a 50% discount off by LPI Master Affiliate DRI. Email eventos@opensusept.org to sign in.
Anyone interested in attend should sign in or email eventos@opensusept.org so we can have a better idea of how many people we should expect (tip: you will not leave the event without some openSUSE goodies!).
Big thanks to Porto Linux, ISEP, and Novell for the support!
Installation via wireless network
1 - Boot into any already installed linux, download kernel & initrd, create /boot/grub/menu.lst entry - some documentation here, also possible to use miniISO
2 - Into bootloader pass install=$custom_or_public_NETWORK_repository option
3 - Unplug your wired card
4 - With this setup will Linuxrc try to use your wireless network card to connect network repository. There are some dialogs to specify ESSID, WEP/WPA and sharedkey
5 - In case of connection succeed, do installation as usual (via wireless ;-))
6 - Before first reboot this network setup will be saved as persistent (into /etc/sysconfig/network/ifcfg-wlan0)
7 - During next boot (2nd stage of installation) wireless network is automatically up and you can finish installation




