David Lee wrote:
On Tue, 25 Apr 2006, Alan Robertson wrote:
David Lee wrote:
Forgive me (please) if I've overlooked something obvious.
At the end of "heartbeat/Makefile.am" is the clause:
uninstall-local:
-test -p $(DESTDIR)$(hafifo) && rm $(DESTDIR)$(hafifo)
rm -rf $(DESTDIR)$(havarrunhbdir)
But how is this implemented on systems (e.g. Redhat, Debian, Solaris) with
their own packaging mechanisms (i.e. other than "make uninstall")?
(I can answer (as its author) the Solaris one. "It doesn't happen." But
that's because I had replicated the functionality by reading the RH
"heartbeat.spec.in" file where it similarly seems not to happen.)
If the equivalent of "uninstall-local" doesn't happen (or at least,
doesn't happen consistently), how might we address this?
(If it does happen on RH/rpm (i.e. I've missed/overlooked it because of my
inexperience with RH/rpm), could someone point me to the relevant RH/rpm
bit in our source tree that implements the "uninstall-local" equivalents?)
What do you want this to do?
What is it you're missing from this?
Briefly: consistency across the various install/uninstall mechanisms.
The "make uninstall" mechanism cleans up (removes) various things, such as
the fifo, in "/var/run"-like locations. For one example among several see
the "heartbeat/Makefile.am" "uninstall-local:" target.
But the other mechanisms don't have (or don't seem to have) this cleaning
mechanism, so they are left in a dirtier state when the rpm/pkg/whatever
is removed (typically things left lying around in "/var/run"-like
locations).
(The above is about "uninstall". By analogy, we have similar consistency
issues at install time with owner/group/mode aspects of some special files.)
At the heart of it is that we have to support a variety of different
"install", and therefore by extension "uninstall", mechanisms. This (sadly
not easily resolvable) requires replication of information across those
mechanisms.
To a first approximation, anywhere that our Makefiles say "install-*" or
"uninstall-*" we are likely to need correponding special entries in (or
around) "heartbeat.spec" _and_ in "debian/" _and_ in "pkg/" _and_ in ...
For the post-install or pre-uninstall type of actions, it seems to me
that the thing to do is to create a directory like
/usr/lib/heartbeat/pkgscripts and factor out the common actions into
that directory and then just invoke them in the makefile and the various
packaging schemes.
For things that are pre-install or post-uninstall, that won't work
(obviously).
Any volunteers? ;-)
--
Alan Robertson <[EMAIL PROTECTED]>
"Openness is the foundation and preservative of friendship... Let me
claim from you at all times your undisguised opinions." - William
Wilberforce
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/