Archive for the ‘software’ Category

Fedora Activity Day Niederrhein 2010

Wednesday, March 31st, 2010

Last weekend I attended at the Fedora Activity Day Niederrhein 2010. It was my first FAD and very interesting. I got to know the 6 other Fedora Users here in my federal state ;-) and I believe there were around 12 FOSS users around. On the first day we had a little gpg keysigning party using gpg-key2ps fingerprint stripes. It went pretty well after we got a printer working so everyone else could print his gpg fingerprints cut them using the scissors I brought (Uh, I believe I also forgot to take the scissors home). I also answered some questions about gpg. But I was not sure which gpg keyserver to recommend, since subkeys.pgp.net is not as reliable as it was some years ago. But I know now a better one, it is x-hkp://pool.sks-keyservers.net. I did not expect that much interest in gpg, since there was only one attendee listed on the wiki page, but then everyone took part.

The remaining time, I finally got to review the package submission from the first Fedora packager candidate I was going to sponsor, answered some generic FOSS questions / helped with removing the NVIDIA binary driver from a fresh installation and started to take a deeper look at the package status scripts. Most of the information did not look that interesting to me and since perl scripts seemed to be involved, I started writing/gathering some code to identify EOL packages in CVS, koji and PKGDB. I got it working, but it seems that the only way to do this for PKGDB is to query all packages instead of making it return such a list. The next step is to compare these lists to find packages, that are not marked as EOL in three databases. Another data source is the wiki, where another list needs to be compared. This is then going to be my first new status report script.

I believe the next Fedora meeting in my area will be at  FrOSCon 2010 near Bonn, Germany. I hope I will be able to attend there, as well.

tinyos git mirror

Friday, February 5th, 2010

TinyOS is one of the projects I currently use, that still use CVS. Luckily I found a git mirror soon after I started using it, but the one I used is not up to date any more. I asked on the TinyOS-devel mailing list to create such a mirror on Sourceforge.net. I am not sure, whether this will happen soon, the first feedback was not very promising. But at least I was pointed to another git mirror, that is well hidden within a lot of irrelevant (for me) lines on the TinyOS wiki. Nevertheless, currently updated git repositories are as follows:

cvs status parser script

Sunday, January 31st, 2010

As other people already found out, the cvs status output sucks pretty much. I found some simple bash scripts to make them a little more useful, but then I quickly wrote a simple MIT-licensed python script that creates an output like modern scms do. It can be downloaded from my Fedorapeople space. Luckily Fedora will anyhow move to git, soon, so I won’t have to use CVS that much anymore then.

It will fail, if files are in a state unknown to the script, but it should cover the most common states (read: the states I found in my cvs checkout). Feel free to report any states that it should handle and I’ll update it.
Here is some example output (I defined an cvss alias for it):

$ cvss
? unknown
O common/Makefile.common
O devel/Makefile
? devel/xz-4.999.8beta
? devel/xz-4.999.8beta.tar.gz
M devel/xz.spec
O EL-5/Makefile

As you can see, it sorts the output and also handles subdirs

fedora mailinglist migration List-Id conversion script

Friday, January 8th, 2010

Starting tomorrow, the Fedora mailing lists will be migrated from redhat.com to lists.fedoraproject.org. This will mess up everybody’s mailfilters that use the List-Id-Header. I just changed my .procmailrc to use the old and the new List-Ids with a huge sed command. This script can be temporarily downloaded from my Fedorapeople webspace. Maybe it is helpful for you, too. Here is a short excerpt:

#!/bin/bash
# Author: Till Maas
# The sed expressions have been created with:
# sed -e 's/^\(.*\) \(.*\)/-e '\''s!\1.redhat.com!(\1.redhat.com|\2.lists.fedoraproject.org)!'\'' \\/' mlmigration.csv
# mlmigration.csv is a csv version of
# http://jstanley.fedorapeople.org/mlmigration.ods with the first line removed
# and a space used as delimiter
sed -e 's!fedora-announce-list.redhat.com!(fedora-announce-list.redhat.com|announce.lists.fedoraproject.org)!' \
-e 's!fedora-list.redhat.com!(fedora-list.redhat.com|users.lists.fedoraproject.org)!' \
...
-e 's!fedora-trans-fa.redhat.com!(fedora-trans-fa.redhat.com|Trans-fa.lists.fedoraproject.org)!' \
-e 's!fedora-trans-te.redhat.com!(fedora-trans-te.redhat.com|Trans-te.lists.fedoraproject.org)!' \
-e 's!fedora-virt-maint.redhat.com!(fedora-virt-maint.redhat.com|Virt-maint.lists.fedoraproject.org)!' \
-e 's!fedora-trans-as.redhat.com!(fedora-trans-as.redhat.com|Trans-as.lists.fedoraproject.org)!' \
"${@}"

This script might of course break something in your setup, so please use it only if you understood what it does. Also I do not know, whether the new values for List-Id are really accurate, I just assumed the suffix to be “lists.fedoraproject.org” like it is for the logistics mailing list.

acpi workaround for broken display reset after lid close in fedora 12

Monday, January 4th, 2010

Yesterday I started to migrrate my notebook to Fedora 12. First it was all fun, but then the bugs hit me. A currently very annoying commonly known bug is, that on intel notebooks, the display may not get switched on, if the lid was closed. The current workaround is to create a shortcut to call xrandr to reset the output. I wanted this to happen automatically and after I failed to even get a gasp about how to do this with hal. Is there even any documentation or guide that explains this for anyone like “man acpid” explains how to perform actions when the lid is opened/closed? I was first foolished by acpid not wanting to start because hal-addon-acpi already opened /proc/acpi/events, but thanks to the bug report I knew that it is just an problem of the startup order. Hal was already started, but after I stoppped it, I could easily start acpid and then haldaemon again.

Now here is the configuration to get the he workaround xrandr calls run automatically:

cat /etc/acpi/actions/reset-display.sh
#!/bin/bash
PATH="/bin:/usr/bin:/sbin:/usr/sbin"
export DISPLAY=:0.0
if grep open /proc/acpi/button/lid/LID/state
then
su "$(getent passwd 500 | cut -d: -f1)" -c "xrandr --output LVDS1 --off"
su "$(getent passwd 500 | cut -d: -f1)" -c "xrandr --output LVDS1 --auto"
fi


cat /etc/acpi/events/reset-display.conf
event=button/lid LID 00000080.*
action=/etc/acpi/actions/reset-display.sh

It will only work if the user with uid 500 uses display :0.0. Probably this could be changed to work in all cases, but it works for me. :-)

rpm nvr alias

Friday, September 11th, 2009

Whenever I do somethong new on Fedora, it is normally time to report some bugs and one import part of the bug report is to include the name-version-release string of the affected rpm package. To get this string easily, I created an alias for it:

alias nvr='/bin/rpm --qf '\''%{name}-%{version}-%{release}\n'\'' -q'

When I handle new bug reports, then I often need to request this information, because I handle several bug reports for components in Red Hat Bugzilla, where most reported bugs are there because of a bug iin some other package. E.g. people report bugs against radeontool, but it’s a bug of the radeon driver, which is included in xorg-x11-drv-ati. Therefore it would be nice if people would have this useful alias or shell script installed on their system, e.g. as rpm-nvr. Maybe I should create a package like rpm-query-scripts that also provide some other useful queries, e.g. for package reviews.

rpmbuild –with/–without conditional builds

Thursday, August 6th, 2009

There is now some easy to read documentation about conditional builds available at the rpm.org wiki.

upstream release monitoring

Thursday, July 16th, 2009

Today I published my git repository of the tool I started to write to supply a upstream release monitoring service to Fedora. Some time ago Michał Bentkowski wrote a tool called FEVer to do this, but he became unresposive and did not publish the full code of FEVer. Since I missed this service, I started to write a new tool, that can provide the same service, which is currently called “cnucnu”, because of the lack of a better name. It does not have any bugzilla reporting features yet, but they will be added eventually. At the time of this posting, it only supports to check all packages that are listed on the Fedora wiki page of FEVer and to test regular expressions for easy development of one for a new package.

preupgrade security fail

Thursday, July 2nd, 2009

I just wanted to try out preupgrade to update to Fedora 11, but then I was disappointed that it does not verify securely what it is downloading and installing onto my system. And even worse, this is not even announced by preupgrade. It is so strange, on the one hand all rpm packages are signed and even the algorithms used are updated, but on the other hand the signatures are not used. So please be aware that if you use preupgrade, it will not verify that the installed content came from Fedora.

rpmbuild in current directory

Monday, May 18th, 2009

Since I started packaging, I was always annoyed by rpmbuild’s demand for it’s strange directory structure for input and output files. Therefore I wrote this little script to get a rpmbuild that uses the current directory for all these directories. Maybe there is one missing, because a recent rpm version now uses a BUILDROOT directory. Maybe one can define _buildrootdir for this, but I did not yet have any need for it.


$ cat rpmbuild-currentdir.sh
#! /bin/bash

/usr/bin/rpmbuild –define “_sourcedir .” –define “_rpmdir .” –define “_buildir .” –define “_srcrpmdir .” –define “_speccdir .” “$@”