All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olaf Hering <olaf@aepfle.de>
To: xen-devel@lists.xen.org
Subject: stubdom build fails with external git directories
Date: Wed, 24 Sep 2014 13:08:59 +0200	[thread overview]
Message-ID: <20140924110859.GA14404@aepfle.de> (raw)


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@10.121.8.246:
	;;
esac

                 reply	other threads:[~2014-09-24 11:08 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140924110859.GA14404@aepfle.de \
    --to=olaf@aepfle.de \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.