Archive for the ‘software’ Category

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 .” “$@”

disable bluetooth on thinkpads on Fedora

Monday, December 29th, 2008

On Fedora 8 already my bluetooth disable button on my thinkpad was broken somehow. It works fine in grub, but iirc once udev is started, it stops working. Since I nearly never use bluetooth, this does not much harm to me. But since Fedora 9, bluetooth is always enabled during boot and then it sucks, that I am not able to disable it again easily. Talking with an expert about this, he told me, that bluetooth can easily disabled with this command:

echo disable > /proc/acpi/ibm/bluetooth

I was also told, that it is possbible to use acpid to run this command when the key is pressed. Nevertheless I wonder, why this out-of-the box since I buyed the thinkpad working button was broken. Asking on the hal-mailinglist did do get me any reply, so if you know anything helpful, please leave a comment. :-)