It would be nice if there was an option to tell automake not to (do 'uninstall' as part of distcheck | require that uninstall leaves no files behind)
distcheck is very useful, it catches many distribution related bugs like missing EXTRA_DIST and so on. However, uninstall as a target is much less valuable - most users use external packaging systems like rpm/deb. Further to that it can be time consuming when integrating with non automake build systems such as MakeMaker (via a Makefile.PL and -local & -hook rules such as those appended) to get uninstall working at all - when they neither support uninstall nor trivially expose appropriate hooks to implement it for them. As it stands, making distcheck work in cross-language packages where external build tool integration is required, is a real nuisance because of the requirement for uninstall to both work & not leave anything behind. There are two projects I'm involved in that this is causing some nuisance; one is squid, where our uninstall target deliberately leaves behind the users configuration file - uninstall vs purge, in debian packaging concepts. The second is subunit, where a contributor has provided some perl bindings and tools, but MakeMaker doesn't generate an uninstall target - and even if it did files would likely be [correctly] left behind, because a perl config file is edited as part of install. [Please don't let the specific examples become a bikeshed :)] -Rob === all-local: perl/Makefile $(MAKE) -C perl all check-local: perl/Makefile $(MAKE) -C perl check clean-local: rm -f perl/Makefile # Remove perl dir for VPATH builds. distclean-local: -rmdir perl > /dev/null -rm perl/Makefile.PL > /dev/null install-exec-local: perl/Makefile $(MAKE) -C perl install mostlyclean-local: rm -rf perl/blib rm -rf perl/pm_to_blib uninstall-local: -# there is no uninstall target! $(MAKE) -C perl uninstall perl/Makefile: perl/Makefile.PL mkdir -p perl cd perl && perl Makefile.PL -rm perl/Makefile.old > /dev/null
signature.asc
Description: This is a digitally signed message part