[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
distcheck and uninstall
From: |
Robert Collins |
Subject: |
distcheck and uninstall |
Date: |
Sat, 19 Sep 2009 14:16:25 +1000 |
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
- distcheck and uninstall,
Robert Collins <=