This is the second entry in my series about squeeze release critical bug squashing. In response to my last blog post it was asked whether this is proper release critical bug squashing. Indeed there haven't been any patches or upload involved in this, only BTS handling, but this doesn't mean that these bugs weren't considered to be affecting squeeze. You can see this effort currently as weeding out the "wrong" bugs so that the list gets more useful and actually be able to ask maintainers to address the real issues.
You can at least see in this graph that the blue line is going down constantly since the year change instead of rising up like before. And I hope I will be able to keep it below the green line for a while still. Also thanks to the release-team and ftpmasters that it was possible to keep the massbugs about waf binary blob not being preferred source for modification out of affecting squeeze and ignore it for the current stable release the required changes for those would rather be a fair bit intrusive for a stable update.
readlink("/usr/bin/python", "python2.7", 4096) = 9
readlink("/usr/bin/python2.7", 0xbf8b014c, 4096) = -1 EINVAL (Invalid argument)
stat64("/usr/bin/Modules/Setup", 0xbf8af0a0) = -1 ENOENT (No such file or directory)
stat64("/usr/bin/lib/python2.7/os.py", 0xbf8af090) = -1 ENOENT (No such file or directory)
stat64("/usr/bin/lib/python2.7/os.pyc", 0xbf8af090) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/python2.7/os.py", st_mode=S_IFREG 0644, st_size=26300, ... ) = 0
stat64("/usr/bin/Modules/Setup", 0xbf8af0a0) = -1 ENOENT (No such file or directory)
stat64("/usr/bin/lib/python2.7/lib-dynload", 0xbf8af0a0) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/python2.7/lib-dynload", st_mode=S_IFDIR 0755, st_size=4096, ... ) = 0
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo org.wikibooks.OpenGL/android.app.NativeActivity : java.lang.IllegalArgumentException: Unable to load native library: /data/data/org.wikibooks.OpenGL/lib/libnative-activity.so
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1768)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784)
at android.app.ActivityThread.access$1500(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3835)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: Unable to load native library: /data/data/org.wikibooks.OpenGL/lib/libnative-activity.so
at android.app.NativeActivity.onCreate(NativeActivity.java:199)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1722)
... 11 more
This may mean that Java couldn't find the ANativeActivity_onCreate function in your code, because it was stripped by the compiler.
If you use the native_app_glue NDK module, you may have noticed this strange code:
// Make sure glue isn't stripped. app_dummy();Let's experiment what happens with and without this line: Calling app_dummy:
$ arm-linux-androideabi-objdump -T libs/armeabi/libnative-activity.so grep ANativeActivity_onCreate
000067fc g DF .text 000000f8 ANativeActivity_onCreate
Not calling app_dummy :
$ arm-linux-androideabi-objdump -T libs/armeabi/libnative-activity.so grep ANativeActivity_onCreate
$ # nothing
native_app_glue mainly defines Android callbacks. Since none of them are called directly by your code, the compiler strips the android_native_app_glue.o module entirely. If you use app_dummy however, it embeds it. Fortunately the compiler cannot strip the module on a per-function basis
That's why you need to call app_dummy when using the native_app_glue NDK module.
This looks like a ugly work-around though - isn't there a cleaner way?
Part of our efforts to reduce power consumption is to identify processes which keep waking up the disk even when the computer is idle. This already resulted in a few bug reports (and some fixes, too), but we only really just began with this.
Unfortunately there is no really good tool to trace file access events system-wide. powertop claims to, but its output is both very incomplete, and also wrong (e. g. it claims that read accesses are writes). strace gives you everything you do and don t want to know about what s going on, but is per-process, and attaching strace to all running and new processes is cumbersome. blktrace is system-wide, but operates at a way too low level for this task: its output has nothing to do any more with files or even inodes, just raw block numbers which are impossible to convert back to an inode and file path.
So I created a little tool called fatrace ( file access trace , not fat race /proc lookups and some glue to provide this. By default it monitors the whole system, i. e. all mounts (except the virtual ones like /proc, tmpfs, etc.), but you can also tell it to just consider the mount of the current directory. You can write the log into a file (stdout by default), and run it for a specified number of seconds. Optional time stamps and PID filters are also provided.
$ sudo fatrace rsyslogd(967): W /var/log/auth.log notify-osd(2264): O /usr/share/pixmaps/weechat.xpm compiz(2001): R device 8:2 inode 658203 [...]It shows the process name and pid, the event type (Rread, Write, Open, or Close), and the path. Sometimes its not possible to determine a path (usually because it s a temporary file which already got deleted, and I suspect mmaps as well), in that case it shows the device and inode number; such programs then need closer inspection with strace. If you run this in gnome-terminal, there is an annoying feedback loop, as gnome-terminal causes a disk access with each output line, which then causes another output line, ad infinitum. To fix this, you can either redirect output to a file (
-o /tmp/trace) or ignore the PID of gnome-terminal (-p pidof gnome-terminal ).
So to investigate which programs are keeping your disk spinning, run something like
$ sudo fatrace -o /tmp/trace -s 60and then do nothing until it finishes. My next task will be to write an integration program which calls fatrace and powertop, and creates a nice little report out of that raw data, sorted by number of accesses and process name, and all that. But it might already help some folks as it is right now. The code lives in
bzr branch lp:fatrace (web view), you can just run make and sudo ./fatrace. I also uploaded a package to Ubuntu Precise, but it still needs to go through the NEW queue. I also made a 0.1 release, so you can just grab the release tarball if you prefer. Have a look at the manpage and --help, it should be pretty self-explanatory.
I've just updated phpMyAdmin repos on github and enabled notifications hooks
there, so the earlier announced switch to github is done.
All you need to do is point your repositories to pull/push to github,
for main repository it can be done using:
git remote set-url origin git@github.com:phpmyadmin/phpmyadmin.git
If you are using just read only access then use following:
git remote set-url origin git://github.com/phpmyadmin/phpmyadmin.git
For other repositories just replace last part of the URL with
repository name (they have not changed).
Everything should work as before, pushes should be now faster, because
all notifications are done in background on github and they don't block
pushing.
Filed under: English Phpmyadmin 2 comments Flattr this!
A year ago, during FOSDEM 2011, I walked up to the NamurLUG folks who'd been doing video
coverage of FOSDEM for years, and suggested that this year, maybe they
should consider using dvswitch for video
coverage. While they seemed agreeable to this idea, they simply had not
had the time to look at it in detail, and were therefore not using it.
Since I've used dvswitch in the past, both as part of the DebConf video team and for my own
concert recordings, I reasoned this a problem that could be solved by
joining the video team.
However, when it came to be time to start preparing for FOSDEM 2012,
we found that many of the NamurLUG people were not going to have as much
time to prepare for video coverage as they had during past years, and
therefore responsibility of FOSDEM video coverage fell entirely to
me. This was fairly unexpected, though not too daunting.
For those of you who don't know dvswitch very well: a typical
dvswitch installation for coverage of a talk requires:



The following announce is lazily copied from Paul Wise's announce. There is only one thing I like to add: the screenshots that are submitted and collected on screenshots.debian.net are visible on the packages websites (both Debian and Ubuntu) and are also used by the software-center package, so they help people to get a first impression of the package they might want to install.
Have you ever wondered how to start getting involved in Debian/Ubuntu? Do you enjoy discovering new games and playing them? You might want to come to the games screenshot party! We hope that the party will be a fun, easy, low-commitment way to get involved.
The Debian/Ubuntu Games Team is organizing a half-day screenshots party on the weekend of 25th-26th February for creating screenshots for all the games that are available in Debian/Ubuntu.
If you are interested in attending, please add your availability to the poll linked from the announcement so that we can get some idea of attendance and when is a good time for the people who are interested.
Look forward to lots of game playing, screenshots and merry time, hope to see you all there!
I hope by now you have heard of ACTA. In any case, here is
a nice 6:30
minute video giving a good overview.
Please help stop ACTA. Our freedom is at risk. Whether you tell
people about it, write about it, use services like Twitter to tell the world about
#StopACTA, or whether you take the time to march
against what corporate entities are lobbying politicians to do
against their people please help protect the Internet as we know
it.
NP:
God is an Astronaut: Moment of Stillness
As I announced on debian-devel, Guillem Jover uploaded a snapshot of dpkg s multiarch branch to experimental (version 1.16.2~wipmultiarch). Beware: There willdpkg --get-selections, dpkg --list, maybe other commands).
multiarch allows you to install packages from different architectures on the same machine. This can be useful if your computer can run programs from 2 architectures (eg. x86 CPU supporting i386 and amd64), or if you often need to cross-compile software and thus need the libraries of your target architecture.
Test dpkg with multiarch support
If you want to test multiarch support in dpkg, install the package from experimental (apt-get install dpkg/experimental assuming you have experimental in your sources.list).
Then you can add a supplementary architecture to your system by doing sudo dpkg --add-architecture <arch> (e.g. i386 if you are on amd64, and vice-versa). APT will automatically pick up the new architecture and start downloading the Packages file for the new architecture (it uses dpkg --print-foreign-architectures to know about them).
From there on you can install packages from the foreign architectures with apt-get install foo:<arch> . Many packages will not be installable because some of their dependencies have not yet been updated to work with in a multiarch world (libraries must be installed in a multiarch-compliant path so as to be co-installable, and then marked Multi-Arch: same ). Other dependencies might need to be marked Multi-Arch: foreign . See wiki.debian.org/Multiarch/Implementation for more HOWTO-like explanations.
Now is a good time to see if you can install the foreign packages that you could need in such a setup and to help to convert the required libraries.
You can also read Cyril Brulebois article which quickly shows how to hunt for the problematic packages which have not been converted to multiarch (in his sample, ucf is not ready. Since it s an Architecture: all package which can run on any architecture, it means that it s lacking a Multi-Arch: foreign field).
Report bugs
If you discover any bug in dpkg s multiarch implementation, please report it to the Bug Tracking System (against dpkg with the version 1.16.2~wipmultiarch ).
If you notice important libraries or packages which are not yet multiarch ready, please open wishlist bug reports requesting the conversion and point the maintainers towards the wiki page linked above. Even better, prepare patches and submit those with your bug reports.
Again, you can follow the lead of Cyril Brulebois who filed 6 bugs!
Review the multiarch implementation
If you re a C programmer and have some good knowledge of dpkg (or are willing to learn more of it), we would certainly benefit from more eyes reviewing the multiarch branch. If you want to discuss some design issues of the multiarch implementation in dpkg (or have questions related to your review), please get in touch via debian-dpkg@lists.debian.org.
The latest version of the branch is pu/multiarch/master in Guillem s personal repository. I have my own version of the branch (pu/multiarch/full) which is usually a snapshot of Guillem s branch with my own submitted fixes.
$ git clone git://git.debian.org/dpkg/dpkg.git $ cd dpkg $ git remote add guillem git://git.hadrons.org/git/debian/dpkg/dpkg.git $ git remote add buxy git://git.debian.org/~hertzog/dpkg.git $ git fetch guillem && git fetch buxyIf you followed the instructions above, the relevant branches are thus guillem/pu/multiarch/master and buxy/pu/multiarch/full. Both branches are regularly rebased on top of master where Guillem merges progressively the commits from the multi-arch branch as his review progresses. Thank you in advance for your help bringing multiarch in shape for Debian Wheezy,
6 comments Liked this article? Click here. My blog is Flattr-enabled.
Further to last week s blog post that mentioned this Saturday s (11 Feb) London Stop ACTA march, there s a map of anti-ACTA marches on Google s website (thanks to Martin Houston for the link).
There s also been a new Anti-Counterfeiting Trade Agreement factsheet from European Digital RIghts (EDRI), as apparently there are a lot of misconceptions about ACTA. I don t feel that has been helped by some spectacular misdirection from the European Commission in its latest 10 Myths paper (linked from the EDRI factsheet) which is almost as interesting for what it doesn t mention (like sneaking ACTA through the parliament fisheries committee), what it misunderstands (like the near-uselessness of a non-commercial exemption to Free and Open Source Software or Creative Commons users), and the way it fails to rebut the final point that ACTA was done this way to avoid the oversight of the World Trade Organisation! I mean, if they can t even get it past the usually very pro-enforcement WTO, surely that should tell you something?
If you can, would you please go along and join your nearest march? Recent marchers seem to have been wearing stylised Guy Fawkes masks, but how would that be viewed in London?
I've just finally finished reading Simon Reynold's dense "Rip it Up and
Start Again": a history of post-punk music from 1978-1984.
I often think of music journalism in the terms that Zappa famously phrased as
(roughly) "people who can't write, writing for people who can't read". This
book sometimes suffers from that syndrome, of attempting to describe audio in
terms of other senses, which sometimes wanders deep into synesthesia territory,
but for the most part the book is coherent and enjoyable.
It's also very "dense": you leave each page with another half-dozen songs or
bands of music genres to go and investigate. I'm surprised that there isn't a
commercially-released anthology counterpart to the book. There are, however,
several playlists, many of which are locked away on Spotify, but via this
review
I found these
two which are web-based (powered
by opentape, an interesting piece of AGPL software).
The book has helped me to discover a lot of music that I hadn't heard of before
and now love, which I will probably write about in different contexts over the
next few months.
FOSDEM is over. Was fun. Nobody booed too much during my
keynote. I am not putting
up my slides, since they're useless without the actual talk. However,
I've put up the text I prepared for the talk, which is approximately
what I actually talked, in case anyone wants to read rather than
watch the video whenever it gets released.
I Shall Wear Midnight is the 38th Discworld novel and the fourth following
the story of Tiffany Aching, young witch of the Chalk.
Reading modern Pratchett, I'm sadly, acutely (and morbidly) aware that, as he
succumbs to Alzheimer's disease, these are the likely to be some of the last
Discworld novels written. With the last few, this observation has been entirely
external to the novel. With Midnight, however, I got the impression that
the awful disease has finally started to affect the prose itself.
I could just be jumping at shadows, but I got the impression that he repeated
himself a tad more often than usual. With such a long series of books, an
author has the difficult job of balancing new and established readers in the
same text: as such, as an established reader, you get used to having some
back-story with which you must be patient. This necessary background could
have contributed to the impression of repetition, but I'm fairly sure doesn't
explain all of it.
An enjoyable story, and possibly the one to bring the Aching arc to a
conclusion. She stands on her own two feet, proving herself a a capable Witch.
There weren't any earth-shattering new concepts or new characters or unexplored
areas of the Disc for fans to map out with their minds; non-the-less it was
a satisfying read.
BikeChatter.com is the place to go on the web to follow professional cyclists on twitter. With 500+ racers, and nearly half a million status updates from racers like Lance Armstrong, Alberto Contador, Mark Cavendish, and many, many more, this site is the best place to find out what's going on in the world of professional cycling, directly from the participants. Since I like following the site myself, I really want to see it go to people who will take it and make it even better.
Yet another FOSDEM is behind us and I'd like to thank all people organizing it. It was a great event as usual.
This year there were some changes - the conference grew and there was an extra building. This is great, but on the other side, there were more tracks to follow and occasionally I wanted to be in four places at once, what is of course not manageable.
Combined with quite freezing weather (well it was still much warmer than it is now in Prague), moving from one side of campus to another was not that comfortable as in last years, but there is not much man can do with that.
And the biggest change for me - I did not manage beer event this year. We enjoyed great team dinner on Friday evening and while it ended, I was too lazy to move to crowded beer event and rather enjoyed bed in my hotel.
Filed under: Debian English Phpmyadmin Suse 0 comments Flattr this!
dpkg was uploaded to experimental a few times lately, let s sum it
up quickly:
dpkg upload to experimental
finally happened. One shall note the prominent This is a WIP
release, command line interfaces will change. notice.grep-aptavail -F Multi-Arch $i -sPackage (with
$i being same or foreign), I found some bugs:
Next.