On Wed, 2010-12-01 at 20:29 -0600, Dennis Gilmore wrote:
I took a look out of curiosity, and this appears to be an intermittent
problem that occurs when two instances of install(1) try to write to the
same file at the same time:
/usr/bin/install -c -m 644 'doc/examples/runExample.sh'
'/builddir/build/BUILDROOT/libgnome-java-2.12.7-2.fc14.1.i386/usr/share/doc/libgnome-java-2.12.7/examples/runExample.sh'
/usr/bin/install -c 'doc/examples/runExample.sh'
'/builddir/build/BUILDROOT/libgnome-java-2.12.7-2.fc14.1.i386/usr/share/doc/libgnome-java-2.12.7/examples/runExample.sh'
...
/usr/bin/install: cannot create regular file
`/builddir/build/BUILDROOT/libgnome-java-2.12.7-2.fc14.1.i386/usr/share/doc/libgnome-java-2.12.7/examples/runExample.sh':
File exists
Indeed:
$ install -c -m 644 foo bar & install -c foo bar
[1] 29565
[1]+ Done install -c -m 644 foo bar
$ install -c -m 644 foo bar & install -c foo bar
[1] 29567
[1]+ Done install -c -m 644 foo bar
$ install -c -m 644 foo bar & install -c foo bar
[1] 29569
install: cannot create regular file `bar': File exists
[1]+ Exit 1 install -c -m 644 foo bar
$ install -c -m 644 foo bar & install -c foo bar
[1] 29571
[1]+ Done install -c -m 644 foo bar
$ install -c -m 644 foo bar & install -c foo bar
[1] 29573
install: cannot create regular file `bar': File exists
[1]+ Done install -c -m 644 foo bar
$ install -c -m 644 foo bar & install -c foo bar
[1] 29575
install: cannot create regular file `bar': File exists
[1]+ Done install -c -m 644 foo bar
When this succeeds, the permissions are unpredictably 644 or 755.
The solution: patch the package to not do that, or just try again and
hope you get lucky.
--
Matt