Bug#516625: pbuilder: pdebuild signs wrong .changes when building with --arch=i386 on amd64
Loïc Minier
lool at dooz.org
Wed Dec 30 14:09:26 UTC 2009
On Sun, Nov 29, 2009, Junichi Uekawa wrote:
> I was thinking along the lines of running something inside the chroot
> as part of build process, and passing the output back to pdebuild, and
> using that to get the correct value.
>
> However, that's a bit of work to implement, so I have so far deferred
> doing this.
Yeah it's not trivial; especially since there are two code pathes in
pdebuild (use-internal versus regular) and multiple builders. Probably
a nicer design would be to start some kind of pbuilder server in the
build env and feed commands to it so that we could send a
"get_architecture" command independently of running the build.
In the mean time, I came up with this proof of concept code:
#!/bin/bash
run() {
echo Regular output
echo arch=somearch >&3
echo More output
}
# fd 3 is used for IPC output from guest to host
exec 3>&1
# output goes to a copy of stdout by default and writes to fd 3 are captured by
# the backticks
ipc_output=`exec 4>&1- 1>&3- 3>&4-; run`
for var in $ipc_output; do
case $var in
arch=*)
export $var
;;
esac
done
echo arch=$arch
(it's possible to have a similar construct for sending stuff to run
over another fd)
If we can find an unused fd which doesn't get closed by the builders, I
think this should work, even if it's not too pretty.
I'm attaching a more complete example, albeit I didn't yet find a way
-- without two real FIFO files -- to send commands and process their
results sequentially.
--
Loïc Minier
-------------- next part --------------
A non-text attachment was scrubbed...
Name: foo.sh
Type: application/x-sh
Size: 738 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pbuilder-maint/attachments/20091230/7bfe4c18/attachment.sh>
More information about the Pbuilder-maint
mailing list