Do not call ldconfig when building Debian package
authorMichal Sojka <sojkam1@fel.cvut.cz>
Wed, 16 Jun 2010 14:14:18 +0000 (16:14 +0200)
committerCarl Worth <cworth@cworth.org>
Thu, 28 Oct 2010 20:06:46 +0000 (13:06 -0700)
Hi,

If I want to build Debian package, it fails with the following message:

    ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
    make[1]: *** [install-lib] Error 1

The reason is that I build the package as a non-root user and make
install invokes ldconfig unconditionally. The following patch contains a
workaround, but I think that a more correct solution would be to check
the condition LIBDIR_IN_LDCONFIG directly when make install is invoked
rather than in configure as it is done now.

Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
lib/Makefile.local

index a60ef989f49c21ca49618c56e35baef7a30c11a8..2d36db1cc84f53f151e9bf85ad430305d492a3cd 100644 (file)
@@ -36,9 +36,11 @@ SONAME = $(LINKER_NAME).$(LIBNOTMUCH_VERSION_MAJOR)
 LIBNAME = $(SONAME).$(LIBNOTMUCH_VERSION_MINOR).$(LIBNOTMUCH_VERSION_RELEASE)
 LIBRARY_LINK_FLAG = -shared -Wl,-soname=$(SONAME)
 ifeq ($(LIBDIR_IN_LDCONFIG),1)
+ifeq ($(DESTDIR),)
 LIBRARY_INSTALL_POST_COMMAND=ldconfig
 endif
 endif
+endif
 
 dir := lib
 extra_cflags += -I$(dir) -fPIC