Search Results: "spa"

14 August 2007

Patrick Winnertz: OpenSuse Remastering sucks

These days I tries to remaster ?OpenSuse 10.2 in order to put several own packages onto the DVD and customise some settings here for Oscar. This DVD should install itself without any questions correctly configured. First of all, the only way to control the autoinstallation is to use autoyast. And in order to use autoyast you've to create an xml file which specific settings in it. ?OpenSuse has an own tool for creation of this xml file: Start ?YaST2 and select the Autoyast module there and then create a reference profile from the running system. (Then simply save this file created by autoyast itself and perform an xml check on this file... you'll see that this check will raise errors.. argh Okay. the next thing is: If you want to use the autoyast gui to select additional packages, your package selection from the last time is purged... so you must every time the complete bunch of packages.... this sucks! ;-) Mh... let's see how this will continue.. but I know that remastering a Debian DVD is much easier :)

Russell Coker: Ethernet Bonding and a Xen Bridge

After getting Ethernet Bonding working (see my previous post) I tried to get it going with a bridge for Xen. I used the following in /etc/network/interfaces to configure the bond0 device and to make the Xen bridge device xenbr0 use the bond device: iface bond0 inet manual
pre-up modprobe bond0
pre-up ifconfig bond0 up
hwaddress ether 00:02:55:E1:36:32
slaves eth0 eth1 auto xenbr0
iface xenbr0 inet static
pre-up ifup bond0
address 10.0.0.199
netmask 255.255.255.0
gateway 10.0.0.1
bridge_ports bond0 But things didn’t work well. A plain bond device worked correctly in all my tests, but when I had a bridge running over it I had problems every time I tried pulling cables. My test for a bond is to boot the machine with a cable in eth0, then when it’s running switch the cable to eth1. This means there is a few seconds of no connectivity and then the other port becomes connected. In an ideal situation at least one port would work at all times - but redundancy features such as bonding are not for an ideal situation! When doing the cable switching test I found that the bond device would often get into a state where it every two seconds (the configured ARP ping time for the bond) it would change it’s mind about the link status and have the link down half the time (according to the logs - according to ping results it was down all the time). This made the network unusable. Now I have deided that Xen is more important than bonding so I’ll deploy the machine without bonding. One thing I am considering for next time I try this is to use bridging instead of bonding. The bridge layer will handle multiple Ethernet devices, and if they are both connected to the same switch then the Spanning Tree Protocol (STP) is designed to work in this way and should handle it. So instead of having a bond of eth0 and eth1 and running a bridge over that I would just bridge eth0, eth1, and the Xen interfaces.

Russell Coker: Ethernet Bonding and a Xen Bridge

After getting Ethernet Bonding working (see my previous post) I tried to get it going with a bridge for Xen. I used the following in /etc/network/interfaces to configure the bond0 device and to make the Xen bridge device xenbr0 use the bond device: iface bond0 inet manual
pre-up modprobe bond0
pre-up ifconfig bond0 up
hwaddress ether 00:02:55:E1:36:32
slaves eth0 eth1 auto xenbr0
iface xenbr0 inet static
pre-up ifup bond0
address 10.0.0.199
netmask 255.255.255.0
gateway 10.0.0.1
bridge_ports bond0 But things didn’t work well. A plain bond device worked correctly in all my tests, but when I had a bridge running over it I had problems every time I tried pulling cables. My test for a bond is to boot the machine with a cable in eth0, then when it’s running switch the cable to eth1. This means there is a few seconds of no connectivity and then the other port becomes connected. In an ideal situation at least one port would work at all times - but redundancy features such as bonding are not for an ideal situation! When doing the cable switching test I found that the bond device would often get into a state where it every two seconds (the configured ARP ping time for the bond) it would change it’s mind about the link status and have the link down half the time (according to the logs - according to ping results it was down all the time). This made the network unusable. Now I have deided that Xen is more important than bonding so I’ll deploy the machine without bonding. One thing I am considering for next time I try this is to use bridging instead of bonding. The bridge layer will handle multiple Ethernet devices, and if they are both connected to the same switch then the Spanning Tree Protocol (STP) is designed to work in this way and should handle it. So instead of having a bond of eth0 and eth1 and running a bridge over that I would just bridge eth0, eth1, and the Xen interfaces.

Simon Richter: Stable APIs

The API for asynchronous device communication under Linux is totally on crack. The only notification for completed requests is a realtime signal (for which there seems to be no allocation method -- let's hope that everyone else in the process checks whether a signal is set to "default" before using it); however these are difficult to get synchronised into your event loop. It appears as if people are supposed to write kernel modules instead of talking to USB devices from userspace. I wonder if that is desired, since having a stable userspace API would make writing closed-source drivers easier; however I see a kernel driver as overkill in most cases -- all it ever does is copy data around. Maybe it would make sense to have a simple template driver that can be set up with a request from userspace and some udev trick.

13 August 2007

MJ Ray: What does akst spam mean?

I've just put 2 and 2 together and maybe I got 5. What do you think of this hypothesis? The effect is lots of spam with From-lines starting akst... Is the cause Alex King's Share This? It seems Time for Blogging asked "A Losing Battle with Blog Comment Spam? Is Share This Plugin at Fault?" but I see nothing relevant on WordPress: Support: Plugins and Hacks: Alex King's Share-This about exploits. I can't see how to exploit the current version to send mail, but I think I can see an exploit for an older version. Also, if you'd got a redirect script into someone's comments, you could use Share This to collect marks.

Jonathan McDowell: All new the

I'm worried that my Debian Planet credentials are a bit weak, so have a technical post rather than one discussing the fact I'm unemployed in 3 days, or that I'm going back to NI for a week after that to try and get the new house sorted. Oh. Wait. Ooops. Anyway. While I still have easy datacentre access to my colo box (the.earth.li) I thought it might be a good time to think about upgrading it. The most limited resource has been disk space; it was a Dell 2550, so dual PIII-1GHz + 2GB RAM which is nice, but SCSI hotswap drive bays. So nice disk, but anything large is expensive. I think SATA has come along nicely, so was happy to change over to using that instead. As it turned out the old machine was over 5 years old (doesn't time fly!) so there's been a disk performance boost anyway from using new technology. I ended up buying the new machine from Sentral - their website isn't great, but they're very helpful by email and Black Cat had bought machines from them in the past with no problems. It's a Core2Duo E6600 with 4GB RAM and 2 * 750GB Seagate ES SATA II drives in hot swap bays. I pondered a quad core chip and an extra drive (there are 4 bays total), but decided I didn't really need them at present and keeping power consumption down was a good idea. Last time I upgraded the I just did a straight copy of the data over to the new disks. This time there were a couple of things that meant I didn't want to do this. Firstly, I decided to go 64 bit. The chip can do it, I have 4GB RAM, it seemed like a good idea. That meant a dpkg --get-selections on the old box followed by a dpkg --set-selections on the new one, followed by an apt-get dselect-upgrade. Is there a way I could have kept my aptitude knowledge about auto installed packages? I did have a look, but didn't see anything obvious. That gave me the same packages. I also installed ia32-libs to ease the transition for my users who had self compiled bits. Then I had to copy the rest of the data over. /home was easy enough, plus a few other filesystems that didn't have packaged data on them. I manually reviewed changes in /etc but there wasn't anything non obvious thankfully. /var was trickier. I was pleased to discover that Mailman config appears to cross archs quite happily. A pg_dumpall did the trick for PostgreSQL. Rebuilding the overview database for inn took all night. Maybe I should move away from tradspool. There were a few other things to fix up (I hate Berkeley DB), but by and large it wasn't as bad as it could have been. Oh, except that copying that much data across takes a long time. And rsync isn't that much help when the data includes lots of mail folders, some of which are over 1G big (and receiving mail, so constantly changing). I'd started out with a 100M link between the old and new machines, as I hit the e1000 Tx Unit Hang bug. Disabling the power management solved that, giving a 1G link. Still took ages. The second major change with the new box is I've decided to go Xen. That should let me hand out machine slices to users who want to do weird stuff, without me really having to support them. And allow me to throw up test machines when I need to. This was actually really easy to install. I did a basic etch install onto a 2G partition, installed xen-linux-system-2.6.18-4-xen-amd64 and then rebooted and had a dom0 up and running. I gave the main VDS (ie replacement the) a 600G partition, access to both processor cores and 2G of RAM - ie still quite a few more resources than it used to have. Then it got a bit tricky. I wanted lvm to be available within the VDS. So I did all the VG creation and a base install (using debootstrap) from the dom0, then added a filter to /etc/lvm/lvm.conf to exclude /dev/md2 (the 600G partition). And tried to boot the domU. Which was fine, until it tried to mount the root fs at which point the initramfs complained it couldn't find / and bombed out to a shell. The confusing bit was that doing vgcreate -a y found and brought up the lvm partitions fine, at which point the rest of the boot process would complete. Very odd. Much digging eventually led me to discover that the LVM initramfs script only gets run if the specified root partition has a - in it. Argh! I prefer the format /dev/<vgname>/<lvname>, but once I changed to /dev/mapper/<vgname>-<lvname> it all worked fine. The new machine has been in service for the past week and so far it all seems fine. I don't notice the fact it's a Xen instance and it still feels quite nippy. Plus the extra disk space is great as I don't have to worry so much about things getting full. Yet. I haven't noticed a change with the 64 bit side either, but I think on a server that's going to be much more the case - I haven't moved my desktop to 64 bit primarily due to the lack of Flash and Java plugins (I don't see the point of a chroot as there's not really a pressing reason to go 64 bit if it's going to be hassle). I threw up another domU instance to test out some bits and that went smoothly too (I'm using an LVM VG on the dom0 to share out to the other domUs, which will all have a less complicated setup than the main one). So all in all I'm pleased with both the hardware, and the software - I hadn't expected setting it up to be so easy. My last Xen experience was under sarge where it hadn't all been integrated in the same way as it is under etch. Oh, one other thing I did; I rebuilt the AMD64 netinst Etch CD to output to the serial console for both isolinux and the actual installer. And then did the install over the serial console, even though the machine was beside me. The CD is still in the machine which means that I have a fallback if it all falls over horribly - I can access the BIOS, tell the machine to boot from CD and then hopefully prod and see what the issue is. Or even do a complete reinstall if necessary. It was surprising easy to modify - I just had to edit isolinux/isolinux.cfg and add SERIAL 0 9600 at the start and then console=ttyS0,9600 cdrom-detect/eject=false to the append lines for kernel parameters. Definitely worth considering if you have a colo box properly serial consoled up.

Eric Warmenhoven: Does this flash make me look small?

.flickr-photo .flickr-frame float: left; text-align: center; margin-right: 15px; margin-bottom: 15px; .flickr-caption font-size: 0.8em; margin-top: 0px;
IMG_2959.jpg

IMG_2959.jpg,
originally uploaded by warmenhoven.
I’ve been playing around with my flash a bit. I’m more comfortable with the extra weight and all the controls now. I still haven’t gotten used to using it to add light very well though. A while back when I was looking for my tripod, I got to play with a 30D. The extra size felt really good in my hands, and ever since I’ve wanted a slightly bigger camera. Not that I’ve been unhappy with the XTI at all; it’s just that it could be better. And so, I’ve been following the rumors of a 40D somewhat closely, even though I don’t think I’ll get one. I’ll probably wait until next August in hopes that Canon announces an update to the current 5D.

12 August 2007

Bernhard R. Link: Using Xephyr

When debugging window managers or testing your X applications in other window managers, running them in an dedicated fake X server can be quite nice. While every reasonable complete window manager (even the old twm and vtwm can, and of course all of fvwm, qvwm, wmaker, ratpoison, ...) can replace itself with any other, running a window manager in a window of its own makes many things easier: single-stepping a window manager within a debugger when that debugger runs in an Xterm on the same server is no fun. And if some testing needs a more complicated setting, switching may destroy that. And it is just more comfortable to have the editor handled by your favorite WM, while you need another WM to test some aspects of an program. (It&aposs hard to see if inital sizes and layouts work well, when your WM does allow windows to choose their size. And if your WM does not have a bug another has, it&aposs easier to test a work around in the other than trying to port the bug ;-> )

So, here is some example invocation I use:
     #!/bin/sh
     Xephyr :2 -reset -terminate -screen 580x724 -nolisten tcp -xkbmap ../../../../../home/brl/.mystuff/dekeymap -auth ~/.Xauthority &
     export DISPLAY=:2
     icewm
     


Which Options are useful depends on what to use it for:

-reset -terminate means to terminate when the last child exited. This is usefull if you want it go away fast. Not usefull if you want to switch window managers without other clients running.

-screen 580x724 tells how big the window should be. This is just the size of one of my working frames, so it integrates well into my workspace. (It would be nice if Xephyr could change its resolution uppon resize of the window, though i fear programs will either be confused when the size of their X server changes unadvertised or because of too many advertisements of its changing).

-nolisten tcp as there i no need to let the world speak to your X server

-xkbmap ../../../../../home/brl/.mystuff/dekeymap I gave up figuring out how to select a German keyboard, so it justs gets 8 lines of fake description only specifing German keyboard.

-auth ~/.Xauthority tells Xephyr to require authentication. Without this everyone is allowed to control your sub X-server and all programs within it. Don&apost forget to create an token before with xauth add, though.

Joey Hess: haskell

I saw the old house on Haskell St. last week for the first time in forver. I could barely pick it out of the other houses on the block, it's so different now. I also, conincidentially, studied the haskell programming language a bit. I watched some talks that John Goerzen linked to, and I read several chapters of the "Gentle Introduction to Haskell". Which wasn't all that gentle. :-) I should have put off reading it until after the talks and after reading some other introductory examples. At least I have some motivation to learn haskell. I could never see any reason to bother learning python or ruby, since there's so few compelling differences between them and perl. I had begun to worry that I wasn't learning any new programming languages, so it's nice to have a new dot on this graph of languages I've learned since 1990: graph

Joey Hess: ikiwiki and spam

One of the reasons I was relictant to write a wiki before starting work on ikiwiki was the wiki/blog spam problem. Now that ikiwiki is reasonably mature, it's interesting to look back at how that turned out. The basic spam prevention mechanism in ikiwiki is the same as the one many wikis use: By default, it requires registration before you can edit a page. This is a pretty small stumbling block for spammers, especially since ikiwiki doesn't bother with email verification. It even prefills the login form with your username and password after you register. It would take about 5 lines of perl to defeat its registration process. Suprisingly, only one spammer has spammed any of my wikis. To defeat that spammer, I added the most common second layer defense against spam: A blacklist. Again I implemented the bare minimum, a way to blacklist a given user and ask them to "go away". Nothing to blacklist IPs, nothing more complex. That was put in place last October and I've had no problems with spam since. Around the same time, I made a change that I feared might open up a whole new class of spam, when I added openid support to ikiwiki. As far as I know, noone with an openid has tried to spam an ikiwiki wiki yet. Ikiwiki did grow one other common spam prevention tool. Josh Triplett added support for a user account creation password, so you have to know the password to get an account at all. This isn't used by default though. The only other possibly anyi-spam measure is that ikiwiki does allow locking down pages so only an admin can edit them, or so they can only be edited via commits to a revision control system. I use these methods for personal stuff like my blog, and might have cut down on the incentive to spam. Spamming a discussion page is just not as interesting as adding spam direct to my blog's rss feed. It seems likely that any new wiki system will have less spam at the beginning, especially if the spammers have to write code to bypass its registration system. That one spammer spparently did so fairly early is suprising. That no others have tried since is also suprising. My ease at blocking the spammer by simply banning them suggests that they were going after the easiest possible targets, and that it's not yet worth their while to work around even the simplest countermeasures. But if so, why did they add support for an entirely new registration system? My guess is that their existing code happened to work with ikiwiki's registration system. (This would take probably 20 lines of perl. ;-) Of course, there's all kinds of counterspam measures that I could implement if needed. By the way, if you use ikiwiki and have had problems with spam, I'm of course interested in fixing that. It'll be interesting to see when additional measures turn out to be needed, as the wiki and sites using it become better known.

11 August 2007

Alastair McKinstry: Planet 9 from Outer Space

While investigating planet formation (to justify support complement a PhD proposal on ocean planets), I found this discussion over at physicsforums following a blog entry by Dr Steinn Sigursson. (He uses Planet X in his posts but that is too frequently linked with the dwarf planet Xena Eris, and besides, Pluto has been demoted, so its Planet 9 we're looking for :-( ). The question is, how was our solar system created ?
"Looks like the outer solar system, with late heavy bombardment, would have come together nicely if there was another Neptune out there to begin with."
Basically, it appears as though there is a planet or substellar companion star out in the Oort cloud. This is not likely to be the Nemesis object of Hut's/Muller's theory, but would have been responsible for the Kuiper belt. Most of the discussion is about brown dwarfs, but following links leads to a paper by Gomes et al., simulating the possibility of outer Neptunes or Jupiters at 4000 AU or 5000 AU. The thread is all about the dynamics of such bodies, but what would they look like? Now, Hydrogen freezes solid at 14K, Helium is liquid at 4K. So we're talking about a liquid helium ocean on top, with no atmosphere worth speaking of. But Could it sustain life? Not as impossible as it seems. Ehrenreich and Cassan point out that an Ice Giant could host a liquid layer underneath an ice shell surface, heated by radiogenic energy, that could last for billions of years before freezing. So where would it be? This is the time to submit a grant proposal for more envelopes ... Tags , , , ,

Steve Kemp: Are you talking to me?

My GNOME desktop is broken upon my primary machine, and it has taken me too long to get it sorted out. Short version: metacity will not run:
skx@vain:~$ metacity
metacity: symbol lookup error: /usr/lib/libgthread-2.0.so.0: undefined symbol: g_thread_gettime
The .so file referenced is a symlink to libgthread-2.0.so.0.1200.13, and using nm I can see there are no symbols listed:
skx@vain:~$ nm /usr/lib/libgthread-2.0.so.0.1200.13
nm: /usr/lib/libgthread-2.0.so.0.1200.13: no symbols
That seems weird to me, but libraries are mysterious beasts, so I might be expecting this behaviour? Anyway dpkg claims this file is installed by libglib2.0-0, and the package hasn't had an upload since July 17th, so I can't believe this is the reason for the recent breakage (Even given that I don't logout often..) Reinstalling both packages (metacity + libglib2.0-0) has failed to fix the problem so I'm lost. Right now I'm running GNOME with a different window manager, icewm, via a ~/.gnome2/session file:
gnome-wm --default-wm /usr/bin/icewm-gnome --sm-client-id default0
This works almost perfectly - it is better than metacity in the sense that new windows don't overlap existing ones if there is spare screen space, but worse in that alt-TAB shows two windows "Top extended Edge Panel" and "Bottom Extended Edge Panel" - which I don't need/want to see. I'd be happy to stay with IceWM if I could fix those two problems, but I'd love to know why metacity is broken, and how I can fix it. I can't see any obvious bug reports - and I'm not 100% certain that the gthread package is the source of the error... Any suggestions welcome.
ii  metacity       1:2.18.5-1     A lightweight GTK2 based Window Manager
ii  libglib2.0-0   2.12.13-1      The GLib library of C routines

10 August 2007

Joerg Jaspert: Override changes

While doing lots of override changes lately I noticed that people who reply to the override disparity mails do like to delete the important part of the mail and quote that part thats of no interest for me. Compare the following two: > lalala_0.0.0.0.-0.0+b0_amd64.deb: package says priority is musthave, override says dontuse. > Either the package or the override file is incorrect. If you think > the override is correct and the package wrong please fix the package > so that this disparity is fixed in the next upload. If you feel the > override is incorrect then please reply to this mail and explain why. Can you please change the override, as people should really have the package installed? Thanks. with > Either the package or the override file is incorrect. If you think > the override is correct and the package wrong please fix the package > so that this disparity is fixed in the next upload. If you feel the > override is incorrect then please reply to this mail and explain why. This package is conflicting with other packages, so must be extra. Yes, there is the source package name in the subject line, but hey, a source package can built lots of different binary packages, so - what binary do you want to have changed? Even if the answer is all - quote them, as that saves at least one dak command to run…

Holger Levsen: First three days of CCCamp

It's shortly after midnight and day one of the cccamp is "over". Which doesn't mean the "first" day is over at all, lots of intergalactic hackerparties are going on and besides, most people didn't arrive today but earlier.

I guess the most amazing thing I've seen where two people forging two different kinds of steel, something I haven't expected to see here at all :) The atmosphere, the people and their projects, the light effects and the venue are simply wow. The venue is an ex military airport turned into an open air museum and now hosting the Chaos Communication Camp 2007 with 2000 participants coming from ma ny countries and backgrounds and involved in a diversity of stuff.

The Debian gathering currently is more private camping than a open booth, though we have a huge tent to use, we have not really done so so far: today it was more important to get a decent sun shade for where our private tents are and relaxing and socialising...

The above I wrote at the end of the first night and then yesterday I was busy setting up the Debian village or corner in one of the huge Freifunk tents and getting some backlog done. Now we are having some table space (and some unused sofa space) next to the openWRT and the GnuRadio project, which gives lots of opportunities for interesting discussions, plus there are some workshops (mostly soldering) taking place in this tent as well.

And now I'll go out to go to buy some tickets for a round flight above the camp :-)

Russell Coker: CAPTCHAs that don t work

One thing that I don’t like is blogs that provide no method of feedback. When I want to read something with little or no possibility of feedback I’ll read one of the many newspapers that are available. Craige McWhirter’s blog is one of them. The CAPTCHA system doesn’t work (I must have tried at least 20 times with both Konqueror and Iceweasel) and he doesn’t provide an email address. He does provide a mobile phone number which is handy for people in the same country. AKISMET works fairly well on my blog and makes the spam quite managable. As the number of legit comments are not that great I manually approve them thus avoiding having a spam ever appear on my blog - showing a spam encourages more of the same. The comment I wanted to make on his post was to reference my previous blog post on this topic and suggest that one thing that can be done is to improve public transport which will increase the area of land available to people who work in central city areas. This means that the land prices can decrease and housing prices will follow. Another issue is that he suggests assisting people in paying rent. While this may sound like a good thing the current system of Negative Gearing is designed to decrease rent, but instead merely increases the price of owning a house.

9 August 2007

Eddy Petri&#537;or: small commits

Update: I have been informed that git and mercurial have support for the hunk commit feature, excellent! See the comments section if you want to know the details. IIRC, The last time someone talked about this feature was when John Gorzen analyzed his options for another VCS (still now I can't find any reference to this issue).


Lars, darcs allows this and, as a supplement that is missing from any other VCS I know, is the ability to select individually changes in a file. That means you can commit only some of the changes affecting a file and leave others for later commits.

So for this diff:

$ darcs diff -u
diff -rN -u old-asd/asdnbfnd new-asd/asdnbfnd
--- old-asd/asdnbfnd 2007-08-08 18:12:17.000000000 +0300
+++ new-asd/asdnbfnd 2007-08-08 18:12:17.000000000 +0300
@@ -1,3 +1,3 @@
-#!/bin/ash
+#!/bin/sh

-echo "intentionaol spelling error"
+echo "intentional spelling error"

you can do this:

$ darcs rec -m "spelling correction"
hunk ./asdnbfnd 1
-#!/bin/ash
+#!/bin/sh
Shall I record this change? (1/?) [ynWsfqadjkc], or ? for help: n
hunk ./asdnbfnd 3
-echo "intentionaol spelling error"
+echo "intentional spelling error"
Shall I record this change? (2/?) [ynWsfqadjkc], or ? for help: y
Finished recording patch 'spelling correction'

$ darcs rec -m "make the script run on posix shell"
hunk ./asdnbfnd 1
-#!/bin/ash
+#!/bin/sh
Shall I record this change? (1/?) [ynWsfqadjkc], or ? for help: y
Finished recording patch 'make the script run on posix shell'

Of course, being able to unrecord/uncommit or to rollback is a nice thing to have.

8 August 2007

Eddy Petri&#537;or: Bash says: I am different from myself!

Dear lazyweb, is this a bug? Should I fill this?

$ sh -x rpm/build_latest_srpm foo 2>&1 grep -E '\'
+ alias 'rpmbuilder=rpmbuild --define "_topdir /tmp/rpmbuildarea/foo/redhat"'
+ rpmbuild --define '_topdir /tmp/rpmbuildarea/foo/redhat' -bs foo.spec
$ sh rpm/build_latest_srpm foo 2>&1 grep -E '\'

$ bash -x rpm/build_latest_srpm foo 2>&1 grep -E '\'
+ alias 'rpmbuilder=rpmbuild --define "_topdir /tmp/rpmbuildarea/foo/redhat"'
+ rpmbuilder -bs foo.spec
rpm/build_latest_srpm: line 46: rpmbuilder: command not found
$ bash rpm/build_latest_srpm foo 2>&1 grep -E '\'
rpm/build_latest_srpm: line 46: rpmbuilder: command not found

$ rpm/build_latest_srpm foo 2>&1 grep -E '\'
rpm/build_latest_srpm: line 46: rpmbuilder: command not found

$ type sh
sh is hashed (/bin/sh)
$ type bash
bash is hashed (/bin/bash)
$ ll /bin/*sh
-rwxr-xr-x 1 root root 677184 2006-12-11 23:20 /bin/bash
lrwxrwxrwx 1 root root 21 2006-08-17 21:05 /bin/csh -> /etc/alternatives/csh
-rwxr-xr-x 1 root root 80200 2007-02-02 09:34 /bin/dash
lrwxrwxrwx 1 root root 4 2006-12-19 15:02 /bin/rbash -> bash
lrwxrwxrwx 1 root root 4 2006-12-19 15:02 /bin/sh -> bash
lrwxrwxrwx 1 root root 13 2006-08-17 20:58 /bin/tcsh -> /usr/bin/tcsh


The script has /bin/bash in the shabang.

I tried to reproduce with another simpler script, and I observed that the issue happens when the script is processed by bash. With a /bin/sh shabang, it didn't since the command processing the script was sh, also all sh commands were ok.

I also suspect that it has to do with this paragraph from the bash manual:


Aliases are not expanded when the shell is not interactive, unless the expand_aliases shell option is set using
shopt (see the description of shopt under SHELL BUILTIN COMMANDS below).


... but different and (I would say) worse behaviour than the sh invocation should not happen.

The test script follows:

#!/bin/bash

alias rpm-build="echo \"I:\""
alias dpkg-select="dpkg --get-selections \"ls\*\""

echo "alias1:" && rpm-build test
echo "alias2:" && dpkg-select

Test and enjoy. Before you ask, yes, I use bash functionality.

Update: Also using set -i just before the alias definition and keeping it during the expansion does not help.

Miriam Ruiz: El rei de la casa

The Proof of the PuddingThis is an updated translation into English of the one-question interview with pjorge (based on Darren Rowse’s one-question interviews idea) in which Javier Candeira (Barrapunto co-founder and editor among many other things, and a good, loved friend of mine) comments about an interesting game of his creation that’s being exhibited in Barcelona and that deals with the fears many parents have towards the Internet and the new enterntainment technologies and videogames. The game code will be released as GPL, even though the game data will have a non-free Creative Commons (with a non-commercial clause). The game has a really interesting approach, and mixes the concept of pinball games with that of graphics generated with “paper dolls” techniques, to try to make people think about the ideas mainstream media are pushing, and the way they try to tell everybody how to raise their kids. You might like it or not, but it will probably won’t leave you indifferent. That’s what art is about, in fact, isn’t it? What is ‘El rei de la casa’? ‘El rei de la casa‘ (an expression that in Catalan and Spanish means “the precious child”) is an exhibition and a videogame. The exhibition deals with the cultural construction of the idea of childhood, and can be visited until September 24 in the Palau de la Virreina in Barcelona. From there. Among other works, in the exhibition there are photos by Loretta Lux and Bego a Egurbide, paintings by Marc Ryden, Kiki Smith and James Reilly… it’s really worth a visit. El rei/la reina de la casa. ( The videogame is a commission from Andr s Hispano and Marc Roig, curators of the exhibition. They wanted to portray Internet and videogame arcades (or cybercafes, which are their modern equivalent) as one of the “new forests”, these places where parents don’t dare allow their children go alone for fear of the dangers (real or imagined) that may lie in ambush. The Internet has entered into the collective imagination, and one of the memetic niches that it has crept into is that of the bogeyman, the scapegoat that bears the brunt of all the evil that happens in society. It is enough to look at the news programmes from right-wing TV stations with their adversative Internet coverage: “it’s good, but…”. All over the media you see headlines like “gang of pedophiles arrested who sold child pornography *on the internet*”. They conveniently skip that pedophiles filmed those poor kids *in a flat*, and that they did it *on a bed* and used *videocameras* just like those used by the reporters now sounding the alarm. But no, what’s bad is *the Internet*.
The other theme that we wanted to touch on with the pinball game is how videogames are presumed to corrupt childhood. When pinball games were introduced, the North American authorities laid down the law: it was an infernal machine that incited gambling and even lust. From the religious right to the secular left, every moral guardian has denounced the supposed harmful effects of videogames on childhood: because of them children and teenagers engage in murder, robbery, truancy, bad school grades and even untidy bedrooms and doubtful personal hygiene. For this reason, the “new forest” of the Internet and videogames had to be a videogame, proving once more that games are cultural vectors, a form of artistic, political or commercial expression like any other. It also had to be a videogame about the a triangle: on one side the children, on the second one the children minders (parents and society at large), and finally the Great Scapegoat: the Internet. After many abandoned and reworked proposals we arrived at the present design for the game: an emulated pinball game presented on a panoramic TV screen, and having two levels: one set in the real world and named after the exhibition, and a second one set in a more or less conventional cyberspace. This second level is called “Prey of the Net”, and portrays the vision of the Internet that a Fox viewer may have: you have Spam, game-playing killers, kids making more money than their parents, S&M gear, dildos… in short, everything that is scary and nothing that is comforting, at least to some.  Presa de la red! (All the illustrations for this pinball, both on the gameplay field and on the scoreboard, are by Mauro Entrialgo. For the scoreboard I asked him to prepare a set of drawings similar to KISS dolls (like the cut-up dolls that kids still played with in the last century). Thanks to these dress-up dolls the scoreboard shows more than the score (which grows randomly anyway); it also portrays the state of the boy or girl protagonist of the game. I say “boy” or “girl” because in the game, just like in real life, you have a 50/50 chance of starting the game of life with either sex. The fist level, ‘El rei de la casa’, portrays the stress that families feel when facing children’s media consumption. The targets trigger lines from the parents: “All day in front of the Idiot Box!” when you hit the tv, or “without a degree, you are nothing” when you hit the school. There are four targets on the right, which can be reached shooting the ball with the left flipper (the one representing the parents): school, museum, church and reading. On the left, and reachable from the right flipper, representing the kids’ id, are the TV, the kid’s peers and the videogame console; at the top of the playing field, towering above it, the internet-enabled computer. As the ball hits the different targets, the scoreboard dresses the kids in a housecoat, a leather jacket, and gives them a mortarboard or a saint’s halo. They are the pride of their parents, kids still not perverted by the Internet. It is cheap symbolism, I confess, two-dimensional sociology, but that was also something we aimed for. After all, pinballs have always been complicated allegories rather than complex ones. In a first design I planned to make computer accessible only under certain conditions, but that is not something that would have work in this exhibition: some people just play and play (which gives me an immense joy), but other people can’t or won’t give it much effort. It’s best to make it easier for everyone, so they can send the ball into the next level even without meaning to. The second level, “Prey of the Net”, is accessed when the player puts the ball through the PC’s screen. Here the character on the scoreboard keeps smiling while the game dresses them in a straightjacket, S&M headgear, or leaves them in their underwear, with their hands full of money, playing cards, bloody knives and sex toys… to their parents’ horror. The player has no fixed goal here, only to make the ball go through the pachinko and the spinning spider. These elements work as an atrocity generator and a rebuke distributor. Parents’ voices scold the player, faced with the horrors of the Internet. But the star is the scoreboard. Mauro rocks. Right now the code and content for downloadable game are done, and the people responsible for the ISO are giving it the final touches. It will be a bootable liveCD with some Debian variant that (hopefully) will run on any PC bought in the last two or three years. We will treat the computer as a games console, which may or may not be symbolic (if you want it symbolic, we can make it symbolic!). The game itself is under the GPL license (the pinball part is based on Henrik Enkvist’s Emilia, which is packaged in Debian), and only the graphic resources will be under a non-commercial Creative Commons license. The music is also under a non-free Creative Commons license because of the status of the original samples, but I recommend you download it and play it because its author is none other than man, the Barrapunto founder and sometimes editor.

7 August 2007

Russell Coker: Two Questions for All Serious Free Software Contributors

What do you think is the most important single-sentence of advice that you can offer to someone who wants to contribute to the free software community? I intentionally didn’t mention what area or type of advice or what “contribute” means, interpret it how you wish and give multiple answers for different interpretations if that seems appropriate to you. If you had the opportunity to say one sentence to someone who knows about computers and free software (EG they have used both Linux and Windows and done a small amount of programming) to convince them that they should join the free software team, what would it be? Writing an essay about your thoughts is fine (and I’m sure that many readers of my blog could easily write an interesting essay on each of those topics). But please preface it with what you consider to be the most important sentence. Please either track-back to this blog post or post a comment with a URL of your post (comments are moderated but I usually approve them in less than 12 hours and often much faster - I approve all sensible non-spam comments). If you only offer two sentences (and decide not to write an essay) then the comment section can contain your entire answer. Note that by Serious Free Software Contributors I am referring to people who feel that they are serious about it. If free software matters to you and you go out of your way to help the cause in the way that best suits your abilities then it means you. I will write another post with a summary of what I consider to be the most interesting responses (including links to any blog posts with long answers). PS This post is not what I consider to be a “meme”.

Adrian von Bidder: Fun with virtualisation

Since I seem to be the last person these days who doesn't run his servers inside Xen, Vserver, kvm, lguest or whatever, I decided to finally evaluate Xen. Not having spare hardware and not wanting to really touch my main workhorse, I started with Qemu. Installing etch inside a Qemu (why can't qemu have working tun/tap setup scripts by default?), then xenifying this according to Ganneff's excellent slides, I was stopped while booting into the Xen kernel with a hard freeze in the boot process (Inside Qemu, so no harm done.) Talking to some people in #xen resulted in me disabling kqemu, and a few minutes later I had a working dom0. Debootstrap is slooooooowwww (well, inside a non-accelerated Qemu machine...)! So I decided to use cdebootstrap instead. Sadly, xen-create-image has debootstrap hardcoded, so I had to "ln -sf /usr/bin/cdebootstrap debootstrap". (I decided to do this when debootstrap was still calculating dependencies after several minutes.) After that, creating and booting a domU Just Worked(tm). Having a running Xen environment, I finally wanted to play around with live migration (mostly I was just curious how robust this Qemu + Xen setup is...) So, just clone the qemu disk and boot them both. Whereupon the two qemu machines have the same MAC address, hence networking is not reliable. Change the MAC of the second Xen dom0, curse udev for thinking that now the network interface should be eth1 (persistent device naming is a good thing, generally. I'm not sure there is a sane solution possible that can cover all/most cases. Computers with only one network interface might warrant some special logic ... Oh well.) Having restored the networking setup, enabling the relocation service in the Xen configuration is trivial. After thinking about using plain files on NFS and seeing a Novell tutorial which uses iSCSI, I decided that I should try AoE because it should be much simpler to set up. And by installing the 'vblade' package, it is indeed possible to have an AoE server running within a few minutes (the vbladed command doesn't take the -m option, though.) And the client side is just as simple, just install the aoetools package, and /dev/etherd is automagically created and lists all available devices. That's how SANs should work! (Note: I had the AoE devices in the dom0 and passed them to the domU. A next experiment would obviously be to pass AoE directly to the domU as root devices. Not sure what the implications would be, though.) Ok, after all this, I have two dom0 machines and a domU. Just for fun, I've installed xdaliclock inside the domU and started a live migration. Result: it works stable (modulo some scary kernel messages popping up when booting the domU. I didn't experience any crashes in this light test), xdaliclock stops for a mere 20s (yes, seconds, not milliseconds. Remember, this is two layers of virtualisation without hardware support.) Normal migration (pausing the domU), the migration takes roughly 2 min (both dom0 have 384M RAM assigned in Qemu, the domU has 128M in Xen, the host is a 3GHz P4 with 1G physical ram. There is some swapping going on (I use KDE, so some of the RAM is lost there. I also didn't stop beagle for this experiment.) The full live migration takes about twice as much time. But this said, if you're using Xen inside qemu, timing values are not what you're after... I was, frankly, astonished at how well this worked. Hmmm. I wonder, if I can stack some other virtualisation layer somewhere in there? Just to see how silly it might get.

Next.

Previous.