| Bug #51024 | Don't try to outsmart automake | ||
|---|---|---|---|
| Submitted: | 9 Feb 2010 13:21 | Modified: | 27 Apr 2010 9:29 |
| Reporter: | Hartmut Holzgraefe | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Workbench | Severity: | S3 (Non-critical) |
| Version: | mysql-workbench-5.2-bzr | OS: | Linux |
| Assigned to: | Alfredo Kojima | CPU Architecture: | Any |
[9 Feb 2010 13:54]
Alfredo Kojima
Hi Hartmut Thanks for the suggestion. The problem is that ctemplate is an external project and contains many files that should not be installed during make install or make install-DATA or make install-anything If these files get into the target directory, packages like RPM which dont expect such files will fail building wasting us many hours to find and correct problems. We could of course override each of the targets that we don't want, but that takes a lot of time to fix and test and since we have so many other things to fix it's kind of a low priority issue atm.
[26 Apr 2010 22:56]
Alfredo Kojima
Fixed according to suggested by http://www.gnu.org/software/automake/manual/automake.html#Miscellaneous
[26 Apr 2010 23:52]
Johannes Taxacher
fix confirmed in repository
[27 Apr 2010 9:29]
Tony Bedford
An entry has been added to the 5.2.20 changelog: The MySQL Workbench make targets, with the exception of make all, were broken by the file ext/ctemplate/Makefile.

Description: Newly added ext/ctemplate/Makefile breaks use of all make targets besides "all", "install" "uninstall" and "distclean", and "clean" and "distclean" and "uninstall" targets do nothing ... How to repeat: Check out latest workbench-5.2 bzr tree, run autogen.sh and then a make target like e.g. "make info" (just to pick one) -> recursive make fails once it hits the ext/ctemplate subdir. Or try a "make clean" after a build and see that object files under ext/ctemplate are *not* cleaned up. Suggested fix: Override the "install" and "uninstall" targets in Makefile.am instead of introducing a Makefile not under the control of automake. automake is clever enough to not generate any rules that are already present in the Makefile.am: SUBDIRS=ctemplate-src # only install what is really needed for workbench install: make -C ctemplate-src install-libLTLIBRARIES uninstall: make -C ctemplate-src uninstall-libLTLIBRARIES