Skip to contentSkip to conversation

fix ioemu build

PATCH In review Christian Tramnitz 3 participants 4 messages Aug 6, 2009 – Aug 10, 2009

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fix ioemu build

Hello,

apparently the xen-setup script in ioemu tries to delete non-existant files which currently causes gentoo live-ebuilds to fail (I can't patch because the ioemu tree is being dynamically populated using git).

Anyway checking for the existence of a file before actually deleting it shouldn't really hurt...

This lives as patch in funtoo for a while, but as mentioned before patching doesnt work with live ebuilds so I'd prefer this to be fixed in ioemu.

Thanks,
Christian

ioemu-dir/xen-setup 2009-03-11 13:08:51.000000000 +0000 renamed from ioemu-dir/xen-setup~ 2009-01-05 11:36:22.000000000 +0000 +0 -0
@@ -3,9 +3,9 @@
 
 # git-clean -x -d && ./xen-setup && make prefix=/usr 

CMDLINE_CFLAGS='-O0 -g' -j4 && make install DESTDIR=pwd/dist/ prefix=/usr && rsync -a --stats --delete . thule:shadow/qemu-iwj.git/ && rsync -a --stats dist/. root@thule:/

-rm -f $target/Makefile
-rm -f $target/config.mak
-rm -f config-host.mak
+[[ -f $target/Makefile ]] && rm -f $target/Makefile +[[ -f $target/config.mak ]] && rm -f $target/config.mak +[[ -f config-host.mak ]] && rm -f config-host.mak

if test -f config-host.h; then mv config-host.h config-host.h~; fi

#1 lore raw
Quoted 6 lines · Christian Tramnitz

apparently the xen-setup script in ioemu tries to delete non-existant files which currently causes gentoo live-ebuilds to fail (I can't patch because the ioemu tree is being dynamically populated using git).

Anyway checking for the existence of a file before actually deleting it shouldn't really hurt...

But... 'rm -f' doesn't fail when the file doesn't exist?

-- Keir

#2 lore raw
Quoted 4 lines · Keir Fraser
Quoted 2 lines

Anyway checking for the existence of a file before actually deleting it shouldn't really hurt...

But... 'rm -f' doesn't fail when the file doesn't exist?

It doesn't, but under circumstances this is escaping the sandbox and generating an access violation.
This was initially reported for 3.3.1 as gentoo bug and fixed with this patch. Now I'm trying to get the live ebuilds working but patching is not an option there...

Details are available here:
http://bugs.gentoo.org/262124

Not really sure if this only manifests itself in the gentoo build environment, but since other places in xen-setup check for the existence of the file before doing sth with it, I don't think it would hurt to apply.

Btw, the path in my patch was wrong, I guess it should be qemu-xen-unstable instead of ioemu-dir.

Best regards,
Christian

#3 lore raw

Christian Tramnitz writes ("[Xen-devel] Re: [PATCH] fix ioemu build"):

Quoted 5 lines
Quoted 1 line · Keir Fraser

But... 'rm -f' doesn't fail when the file doesn't exist?

It doesn't, but under circumstances this is escaping the sandbox and generating an access violation.

Err, what ? What sandbox ? Some kind of special Gentoo build environment ?

Quoted 2 lines

Details are available here:
http://bugs.gentoo.org/262124

This shows this error message:
ACCESS DENIED unlinkat: /Makefile

That appears to suggest that it's trying to delete /Makefile, rather than some more sensible path. Is that really what's going on ? In which case the problem is that it's accessing the wrong paths, not that rm -f isn't working. Perhaps some source directory variable isn't being set properly ?

I suggest you investigate in that direction. If you get stuck let me know and I'll take a look myself.

Quoted 3 lines

Not really sure if this only manifests itself in the gentoo build environment, but since other places in xen-setup check for the existence of the file before doing sth with it, I don't think it would hurt to apply.

The patch is definitely wrong.

Ian.