summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile52
-rwxr-xr-xconfigure22
-rw-r--r--configure.ac21
-rw-r--r--main/Makefile2
4 files changed, 40 insertions, 57 deletions
diff --git a/Makefile b/Makefile
index 95a3d3da5..f29c07f68 100644
--- a/Makefile
+++ b/Makefile
@@ -606,26 +606,56 @@ oldmodcheck:
ld-cache-update:
ifneq ($(LDCONFIG),)
+ifeq ($(DESTDIR),) # DESTDIR means binary archive creation; ldconfig should be run on postinst
@if [ $${EUID} -eq 0 ] ; then \
- $(LDCONFIG) "$(DESTDIR)$(ASTLIBDIR)/" ; \
+ $(LDCONFIG) "$(ASTLIBDIR)/" ; \
else \
echo " WARNING WARNING WARNING" ;\
echo "" ;\
echo " You cannot rebuild the system linker cache unless you are root. " ;\
- echo " You MUST do one of the follwing..." ;\
+ echo " You MUST do one of the following..." ;\
echo " * Re-run 'make install' as root. " ;\
- echo " * Run 'ldconfig $(DESTDIR)$(ASTLIBDIR)' as root. " ;\
- echo " * Run asterisk with 'LD_LIBRARY_PATH=$(DESTDIR)$(ASTLIBDIR) asterisk' " ;\
+ echo " * Run 'ldconfig $(ASTLIBDIR)' as root. " ;\
+ echo " * Run asterisk with 'LD_LIBRARY_PATH=$(ASTLIBDIR) asterisk' " ;\
echo "" ;\
echo " WARNING WARNING WARNING" ;\
fi
endif
+endif
-ifeq ($(and $(findstring 64,$(HOST_CPU)),$(findstring lib64,$(DESTDIR)$(ASTLIBDIR))),lib64)
-_oldlibdir = $(subst lib64,lib,$(DESTDIR)$(ASTLIBDIR))
+export _oldlibdir =
+export _oldmoddir =
+ifeq ($(findstring 64,$(HOST_CPU)),64)
+ # Strip any trailing '/' so the dir and notdir functions work correctly
+ _current_libdir = $(patsubst %/,%,$(DESTDIR)$(ASTLIBDIR))
+
+ # Only process if the paths end in lib64 or lib.
+ # If we're installing to lib64, check lib for orphans.
+ # If we're installing to lib, check lib64 for orphans.
+ # Otherwise, leave _oldlibdir empty.
+ ifeq ($(notdir $(_current_libdir)),lib64)
+ _oldlibdir = $(dir $(_current_libdir))lib
+ else ifeq ($(notdir $(_current_libdir)),lib)
+ _oldlibdir = $(dir $(_current_libdir))lib64
+ endif
+
+ # Strip any trailing '/' so the dir and notdir functions work correctly
+ _current_moddir = $(patsubst %/,%,$(DESTDIR)$(ASTMODDIR))
+
+ # Only process if the paths contain /lib64/ or /lib/.
+ # If we're installing to lib64, check lib for orphans.
+ # If we're installing to lib, check lib64 for orphans.
+ # Otherwise, leave _oldmoddir empty.
+ ifeq ($(findstring /lib64/,$(_current_moddir)),/lib64/)
+ _oldmoddir = $(subst /lib64/,/lib/,$(_current_moddir))
+ else ifeq ($(findstring /lib/,$(_current_moddir)),/lib/)
+ _oldmoddir = $(subst /lib/,/lib64/,$(_current_moddir))
+ endif
+endif
check-old-libdir:
- @oldfiles=`find "$(_oldlibdir)" -name libasterisk* -print -quit -o \( -path *asterisk/modules/* -a -name *.so \) -print -quit` ;\
+ @test -n "$(_oldlibdir)" -a -d "$(_oldlibdir)" || exit 0 ;\
+ oldfiles=`find "$(_oldlibdir)" -name libasterisk* -print -quit -o \( -path *asterisk/modules/* -a -name *.so \) -print -quit 2>/dev/null` ;\
if [ "x$$oldfiles" != "x" ] ; then \
echo " WARNING WARNING WARNING" ;\
echo "" ;\
@@ -647,10 +677,6 @@ check-old-libdir:
echo "" ;\
echo " WARNING WARNING WARNING" ;\
fi
-else
-check-old-libdir:
-
-endif
badshell:
ifneq ($(filter ~%,$(DESTDIR)),)
@@ -912,7 +938,7 @@ main-binuninstall:
_uninstall: $(SUBDIRS_UNINSTALL) main-binuninstall
rm -f "$(DESTDIR)$(ASTMODDIR)/"*
- rm -f "$(subst lib64,lib,$(DESTDIR)$(ASTMODDIR))/"*
+ test -n "$(_oldmoddir)" -a -d "$(_oldmoddir)" && rm -f "$(_oldmoddir)/"* || :
rm -f "$(DESTDIR)$(ASTSBINDIR)/astgenkey"
rm -f "$(DESTDIR)$(ASTSBINDIR)/autosupport"
rm -rf "$(DESTDIR)$(ASTHEADERDIR)"
@@ -945,7 +971,7 @@ uninstall: _uninstall
uninstall-all: _uninstall
rm -rf "$(DESTDIR)$(ASTMODDIR)"
- rm -rf "$(subst lib64,lib,$(DESTDIR)$(ASTMODDIR))"
+ test -n "$(_oldmoddir)" -a -d "$(_oldmoddir)" && rm -rf "$(_oldmoddir)" || :
rm -rf "$(DESTDIR)$(ASTVARLIBDIR)"
rm -rf "$(DESTDIR)$(ASTDATADIR)"
rm -rf "$(DESTDIR)$(ASTSPOOLDIR)"
diff --git a/configure b/configure
index 15f127b12..b27c94e7a 100755
--- a/configure
+++ b/configure
@@ -4890,28 +4890,6 @@ if test ${prefix} = ${ac_default_prefix} || test ${prefix} = 'NONE'; then
fi
fi
-#
-# The following code for detecting lib64 was taken from Fedora's
-# /usr/share/config.site with a modification to check that the
-# /usr/lib64 directory actually exists. This prevents libdir from
-# being set to /usr/lib64 on 64-bit systems that still use /usr/lib.
-#
-if test "$prefix" = /usr ||\
- { test "$prefix" = NONE && test "$ac_default_prefix" = /usr ; }
-then
- for i in x86_64 ppc64 s390x aarch64; do
- if test $host_cpu = $i; then
- if test "$libdir" = '${exec_prefix}/lib' &&\
- { test -d "${exec_prefix}/lib64" || test -d "${ac_default_prefix}/lib64" ; } ; then
- libdir='${exec_prefix}/lib64'
- { $as_echo "$as_me:${as_lineno-$LINENO}: Setting libdir=${libdir} " >&5
-$as_echo "$as_me: Setting libdir=${libdir} " >&6;}
- fi
- break
- fi
- done
-fi
-
BUILD_PLATFORM=${build}
BUILD_CPU=${build_cpu}
BUILD_VENDOR=${build_vendor}
diff --git a/configure.ac b/configure.ac
index a57446f92..b0f04887a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -135,27 +135,6 @@ if test ${prefix} = ${ac_default_prefix} || test ${prefix} = 'NONE'; then
fi
fi
-#
-# The following code for detecting lib64 was taken from Fedora's
-# /usr/share/config.site with a modification to check that the
-# /usr/lib64 directory actually exists. This prevents libdir from
-# being set to /usr/lib64 on 64-bit systems that still use /usr/lib.
-#
-if test "$prefix" = /usr ||\
- { test "$prefix" = NONE && test "$ac_default_prefix" = /usr ; }
-then
- for i in x86_64 ppc64 s390x aarch64; do
- if test $host_cpu = $i; then
- if test "$libdir" = '${exec_prefix}/lib' &&\
- { test -d "${exec_prefix}/lib64" || test -d "${ac_default_prefix}/lib64" ; } ; then
- libdir='${exec_prefix}/lib64'
- AC_MSG_NOTICE([ Setting libdir=${libdir} ])
- fi
- break
- fi
- done
-fi
-
BUILD_PLATFORM=${build}
BUILD_CPU=${build_cpu}
BUILD_VENDOR=${build_vendor}
diff --git a/main/Makefile b/main/Makefile
index cd553cb0d..4fb6a0131 100644
--- a/main/Makefile
+++ b/main/Makefile
@@ -351,7 +351,7 @@ binuninstall:
rm -f "$(DESTDIR)$(ASTSBINDIR)/$(MAIN_TGT)"
rm -f "$(DESTDIR)$(ASTSBINDIR)/rasterisk"
rm -f "$(DESTDIR)$(ASTLIBDIR)/libasterisk"* || :
- rm -f "$(subst lib64,lib,$(DESTDIR)$(ASTLIBDIR))/libasterisk"* || :
+ test -n "$(_oldlibdir)" -a -d "$(_oldlibdir)" && rm -f "$(_oldlibdir)/libasterisk"* || :
clean::
rm -f asterisk libasteriskssl.o