Re: builds

Anders Qvist <[email protected]> Tue, 16 Jul 2002 23:00:19 +0200
Newsgroups gmane.comp.python.snake-farm.user
Message-ID <[email protected]>
(This mail got stuck in postponed. Sorry.)

On Sun, Jul 14, 2002 at 10:57:57PM +0200, M.-A. Lemburg wrote:
> Snake Farmer (Python autobuilder) wrote:
> >To: [email protected]
> >Subject: Failed to build python-AIX-2-000000042E00-hal
> >Build all failed.
> >--
> 
> Some comments:
> 
> * it would help to have discussions about the snake farm
>   on a separate mailing list; I think it suffices to only
>   post problem cases

This is underway. There will be an announcement tomorrow.

> * please make sure that rebuilds also rerun configure

Configure is always run before trying to build. Like so (note that the
entire build dir is deleted, so nothing is cached between builds):

    if [ -d $builddir ]; then
        rm -rf $builddir
	echo "- removed old builddir"
    fi

    mkdir $builddir
    echo "- created build directory $builddir"
    cd $builddir

    # Time to configure the build dir
    conflog=$builddir-configure-`date "+%Y%m%d"`.log
    echo "- doing configure (log in $conflog)"
    ../${module}/${configure} $configopts > $conflog 2>&1
    if [ "$?" -ne 0 ]; then
        echo "- configure failed"
	mailit "Failed to configure $builddir" "" $conflog $recipient
	cp $conflog $publishdir
	exit 1
    fi
    cp $conflog $publishdir
    echo "- done configuring"


> * for failures it is essential that someone from the dev team
>   gets access to the failing machine so that the header files
>   and esp. config.* can be checked for hints

I'm thinking of saving the entire build directory, so that the problem
can be reconstructed. As for access to the machine, that is a question
for whoever is responsible for that machine. In the case of the
current machine, that question needs to be put tom the roots at
Lysator. I have recently done so.

> * we would also need several different configurations being
>   tested on each machine, e.g. --with-pydebug,
>   --with-unicode=UCS4. On some machines (e.g. AIX) it is
>   also useful to try the build with different compilers,
>   e.g. gcc and xlc from IBM.

Currently, uname info is used to distinguish between builds, so only
one configuration can be built on each machine. Some architectures are
present in quantity, which will alleviate this problem, but the build
system will need to be changed later on to accomodate multiple builds
per machine.
-- 
Anders "Quest" Qvist

"We've all heard that a million monkeys banging on a million typewriters
will eventually reproduce the entire works of Shakespeare. Now, thanks 
to the Internet, we know this is not true." -- Robert Wilensky