[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Automake 1.7.2b uploaded (beta for 1.7.3)

From: Robert Boehne
Subject: Re: Automake 1.7.2b uploaded (beta for 1.7.3)
Date: Sun, 16 Feb 2003 13:52:12 -0600


The "dir" file in ${prefix}/info is created by this command:
install-info --info-dir=/net/testme/info /net/testme/info/
It makes sense that this file still exists after "make uninstall"
because unless it is alone in the directory, it should still exist.

The other files were eventually tracked down to libltdl/'s
local-install-files rule, checked in as 1.30 May 22, 1999.
ChangeLog entry:
        * libltdl/ (local-install-files):  New rule to install
        libltdl without creating links or mode 777 directories.

The rule itself has a tell-tale "FIXME:" in it, which I would have found
if this rule was run by "make install" in the libltdl subdir, but
it is run by install-data-hook in the top-level Makefile.

## This allows us to install libltdl without using ln and without
## a world writeable directory.
## FIXME:  Removed this rule once automake can do this properly by
local-install-files: $(DISTFILES)
        -rm -rf $(DESTDIR)$(datadir)/libtool/libltdl
        $(mkinstalldirs) $(DESTDIR)$(datadir)/libtool/libltdl
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
            cp -pr $$d/$$file $(DESTDIR)$(datadir)/libtool/libltdl/$$file; \
          else \
            test -f $(DESTDIR)$(datadir)/libtool/libltdl/$$file \
            || cp -p $$d/$$file $(DESTDIR)$(datadir)/libtool/libltdl/$$file ||
:; \
          fi; \

And from the top-level, this rule to run the above:

# Create and install libltdl
        cd libltdl && $(MAKE) local-install-files

Because $(DISTFILES) contains ../config.guess ../config.sub
../mkinstalldirs" ../ and ../missing, these files are installed
by the local-install-files rule as
and so on, and these are then not cleaned by this rule from the
# Uninstall libltdl
        -rm -rf $(DESTDIR)$(pkgdatadir)/libltdl

Because they reside in the wrong directory.  The simplest way I can get
around this trouble would be to add the three files that don't get
cleaned by uninstall to the uninstall-local rule, but is there a
cleaner way for Automake to handle all this itself?  I could also use
"basename" in the local-install-files rule to transform ../foo to foo
but is that portable enough to use?

Probably of more concern to the readers is the conculsion that this
problem wasn't Automake's fault.



Alexandre Duret-Lutz wrote:
> >>> "Robert" == Robert Boehne <address@hidden> writes:
> [...]
>  Robert> these files are installed by "make install",
> Could you send the output of `make install', so we see exactly
> when these files are installed?
>  Robert> which is run as a dependency of distcheck.  Any ideas
>  Robert> why this is happening?  I began to look into this
>  Robert> problem because another maintainer has not been able to
>  Robert> run "make distcheck" since he abandoned a much older
>  Robert> Automake.
> Which version worked last?
> [...]
> --
> Alexandre Duret-Lutz

reply via email to

[Prev in Thread] Current Thread [Next in Thread]