Description:
make distcheck broken for automake 1.11.1.
Fails with (truncated):
make[3]: Entering directory `/usr/home/serg/Abk/mysql/mysql-5.1/mysql-5.1.50/_build/mysql-test'
/bin/rm -f -r /usr/home/serg/Abk/mysql/mysql-5.1/mysql-5.1.50/_inst/mysql-test
( cd '/usr/home/serg/Abk/mysql/mysql-5.1/mysql-5.1.50/_inst/mysql-test' && rm -f valgrind.supp lib/v1/mysql-test-run.pl lib/v1/mtr_cases.pl ...)
/bin/sh: line 4: cd: /usr/home/serg/Abk/mysql/mysql-5.1/mysql-5.1.50/_inst/mysql-test: No such file or directory
make[3]: *** [uninstall-nobase_testDATA] Error 1
On our - mariadb - buildbots, make distcheck works. The log looks like
make[3]: Entering directory `/space3/buildbot/makedist/build/mysql-5.1.49-MariaDB/_build/mysql-test'
/bin/rm -f -r /var/lib/buildbot/maria-ext/makedist/build/mysql-5.1.49-MariaDB/_inst/mysql-test
rm -f '/var/lib/buildbot/maria-ext/makedist/build/mysql-5.1.49-MariaDB/_inst/mysql-test/valgrind.supp'
rm -f '/var/lib/buildbot/maria-ext/makedist/build/mysql-5.1.49-MariaDB/_inst/mysql-test/lib/v1/mysql-test-run.pl'
rm -f '/var/lib/buildbot/maria-ext/makedist/build/mysql-5.1.49-MariaDB/_inst/mysql-test/lib/v1/mtr_cases.pl'
That is, it does "rm -rf mysql-test" (which is forced manually in Makefile.am) and then "rm -f" of individual files inside mysql-test (which are auto generated). The latter, naturally, fail, but "rm -f" is silent, so nobody cares.
On my laptop (and I suspect automake 1.11.1 is the reason) this target is different. It basically does "rm -rf mysql-test" and then "cd mysql-test; rm -f ...". And fails because it cannot cd to a non-existent directory.
How to repeat:
install automake 1.11.1
run make distcheck
Suggested fix:
remove "rm -rf mysql-test" rule, make sure automake knows about all files and can uninstall them.