[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] stubdom build fails with external git directories


  • To: xen-devel@xxxxxxxxxxxxx
  • From: Olaf Hering <olaf@xxxxxxxxx>
  • Date: Wed, 24 Sep 2014 13:08:59 +0200
  • Delivery-date: Wed, 24 Sep 2014 11:11:22 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

I tried to improve my rebuild times after 'git clean -dffx', which wipes
all and everything from the xen source dir, including external git
clones. First step was to use a proxy for the stubdom files. Then I
tried to use local copies of qemu from xenbits.xen.org. The latter fails
if I just point QEMU_TRADITIONAL_URL to the copy. For some reason xen
does an out-of-tree build of qemu-xen-unstable.git, and stores the
result in tools/qemu-xen-traditional-dir/. Then stubdom tries to symlink
to that tree, but fails to find any source files in
stubdom/Makefile:ioemu/linkfarm.stamp. The source files are in
QEMU_TRADITIONAL_URL instead of tools/qemu-xen-traditional-dir/.

Any ideas how to fix that? Maybe do a similar 'test -d' as its done in
qemu-xen-traditional-dir-find?  My build wrapper is below.

A workaround is likely to use QEMU_TRADITIONAL_URL=file:///dir instead
of QEMU_TRADITIONAL_URL=/dir to force a git clone into the xen source
tree.

Olaf

-- 
#!/bin/bash
set -ex
unset LANG
unset ${!LC_*}
proxy=http://proxy:3128
bug=upstream
cpus=`grep -Ec 'cpu[0-9]' /proc/stat || echo 1`
suffix="-${bug}"
topdir=~/work/github/olafhering
prefix=/opt/xen/staging${suffix}
libdir=${prefix}/lib64
sysconfdir=${prefix}/etc
OVMF_UPSTREAM_URL=~/work/src/xen.org/ovmf.git
QEMU_UPSTREAM_URL=~/work/src/xen.org/qemu-xen-upstream.git
QEMU_TRADITIONAL_URL=~/work/src/xen.org/qemu-xen-traditional.git
SEABIOS_UPSTREAM_URL=~/work/src/xen.org/seabios.git
test -d "${topdir}" || mkdir "${topdir}"
cd "${topdir}"
cd xen
export http_proxy=$proxy
export https_proxy=$proxy
export ftp_proxy=$proxy
cmd=$1
shift
case "${cmd}" in
        -c)
        time \
                env \
                xLDFLAGS="-Wl,-rpath,${libdir}" \
                ./configure \
                --enable-docs \
                --enable-stubdom \
                --enable-xen \
                --enable-tools \
                --enable-rpath \
                --disable-ovmf \
                --disable-systemd \
                --prefix=${prefix} \
                --sysconfdir=${sysconfdir} \
                "$@"
        ;;
        -b)
        rm -rf dist/install
        time \
                make \
                        -j ${cpus} \
                        rpmball \
                        debug=n \
                        V=1 \
                        OVMF_UPSTREAM_URL=$OVMF_UPSTREAM_URL \
                        QEMU_UPSTREAM_URL=$QEMU_UPSTREAM_URL \
                        QEMU_TRADITIONAL_URL=$QEMU_TRADITIONAL_URL \
                        SEABIOS_UPSTREAM_URL=$SEABIOS_UPSTREAM_URL \
                        OCAMLDESTDIR=$PWD/dist/install/${libdir}/ocaml \
                        BOOT_DIR=${prefix}/boot \
                        EFI_DIR=${libdir}/efi \
                        PKG_SUFFIX=${suffix} \
                        XEN_VENDORVERSION=`date +.%s` \
                        "$@"
                for rpm in `for i in dist/*.rpm
                do
                        rpm -qp --qf "%{BUILDTIME}-$i\n" $i
                done | sort -nr`
                do
                        echo $rpm
                        pkg=${rpm#*-}
                        mv -v ${pkg} dist/`rpm -qp --qf %{NAME}.rpm ${pkg}`
                        break
                done
        ;;
        -anonymi)
                rsync -avP dist/xen${suffix}.rpm root@anonymi:
        ;;
        -ss)
                rsync -avP dist/xen${suffix}.rpm root@xxxxxxxxxxxx:
        ;;
esac

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.