Subject: bug#3883: Interleaved builds in separate trees create different versions

From: Rob Browning <[email-masked]>
Date: Sun, 19 Jul 2009 13:02:33 -0700

If you try to build two trees from the same source directory at the
same time, alternating the respective SRCDIR/configure, make, and make
install operations, the first tree will end up with a ".2" version while
the second tree will end up with a ".1" version.  This doesn't happen if
you don't have separate "make" and "make install" steps.

I don't know if this behavior is intentional, but in case it's not, I
thought I'd report it.

You can trivially reproduce the situation with this script (using the
23.0.96 archive), and note that the same thing still happens if you omit
the differing configure arguments:

#!/bin/bash

set -e
set -x

tar xf emacs-23.0.96.tar.gz

mkdir -p build/1
mkdir -p build/2

(cd build/1 && ../../emacs-23.0.96/configure --with-x=yes)
(cd build/2 && ../../emacs-23.0.96/configure --with-x=no)

(cd build/1 && make)
(cd build/2 && make)

mkdir -p install/1
mkdir -p install/2

inst_1="$(pwd)/install/1"
inst_2="$(pwd)/install/2"

(cd build/1 && make DESTDIR="${inst_1}")
(cd build/2 && make DESTDIR="${inst_2}")

find -name "emacs-23.*"
find -name "DOC*"

-- 
Rob Browning
rlb @defaultvalue.org and @debian.org; previously @cs.utexas.edu
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4