]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Revert partial attempt at handling pathnames with spaces.
authorKevin P. Fleming <kpfleming@digium.com>
Tue, 19 Jul 2011 21:29:07 +0000 (21:29 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Tue, 19 Jul 2011 21:29:07 +0000 (21:29 +0000)
Revision 299794 attempted to improve the build system to be able to handle
pathnames (primarily DESTDIR) with spaces in them, since this is common on
some platforms (including Mac OSX). Unfortunately, the changes were incomplete
and did not actually provide the desired behavior, and as a side effect the
functionality that ensured that stale headers in the Asterisk 'include' directory
were removed got broken. In addition, the check for stale (and possibly
incompatible) modules in the Asterisk 'modules' directory also got broken, and
would never report any stale modules. Users upgrading to this version or later
versions would then see unexpected module load errors.

Since there are few users who actually want to install Asterisk into paths
that contain spaces, and a proper fix for the build system would take many hours,
the best solution for now is to just revert the partial solution.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@328878 65c4cc65-6c06-0410-ace0-fbb531ad65f3

Makefile
Makefile.moddir_rules
sounds/Makefile

index 37dcaecb04995141887ca2645e10ab12d591958f..0044e0dd508a9be3d95ec66b33c3bc319deb5bcb 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -459,11 +459,11 @@ datafiles: _all doc/core-en_US.xml
 # improved a lot.  I'll put it here for now.
 
        for x in static-http/*; do \
-               $(INSTALL) -m 644 $$x "$(DESTDIR)$(ASTDATADIR)/static-http" ; \
+               $(INSTALL) -m 644 $$x $(DESTDIR)$(ASTDATADIR)/static-http ; \
        done
-       $(INSTALL) -m 644 doc/core-en_US.xml "$(DESTDIR)$(ASTDATADIR)/static-http";
+       $(INSTALL) -m 644 doc/core-en_US.xml $(DESTDIR)$(ASTDATADIR)/static-http;
        for x in images/*.jpg; do \
-               $(INSTALL) -m 644 $$x "$(DESTDIR)$(ASTDATADIR)/images" ; \
+               $(INSTALL) -m 644 $$x $(DESTDIR)$(ASTDATADIR)/images ; \
        done
        $(MAKE) -C sounds install
 
@@ -562,21 +562,21 @@ bininstall: _all installdirs $(SUBDIRS_INSTALL)
                rm -f $(addprefix $(DESTDIR)$(ASTHEADERDIR)/,$(OLDHEADERS)) ;\
        fi
 
-       $(INSTALL) -m 644 doc/core-*.xml "$(DESTDIR)$(ASTDATADIR)/documentation"
-       $(INSTALL) -m 644 doc/appdocsxml.dtd "$(DESTDIR)$(ASTDATADIR)/documentation"
-       $(INSTALL) -m 644 doc/asterisk.8 "$(DESTDIR)$(ASTMANDIR)/man8"
-       $(INSTALL) -m 644 contrib/scripts/astgenkey.8 "$(DESTDIR)$(ASTMANDIR)/man8"
-       $(INSTALL) -m 644 contrib/scripts/autosupport.8 "$(DESTDIR)$(ASTMANDIR)/man8"
-       $(INSTALL) -m 644 contrib/scripts/safe_asterisk.8 "$(DESTDIR)$(ASTMANDIR)/man8"
+       $(INSTALL) -m 644 doc/core-*.xml $(DESTDIR)$(ASTDATADIR)/documentation
+       $(INSTALL) -m 644 doc/appdocsxml.dtd $(DESTDIR)$(ASTDATADIR)/documentation
+       $(INSTALL) -m 644 doc/asterisk.8 $(DESTDIR)$(ASTMANDIR)/man8
+       $(INSTALL) -m 644 contrib/scripts/astgenkey.8 $(DESTDIR)$(ASTMANDIR)/man8
+       $(INSTALL) -m 644 contrib/scripts/autosupport.8 $(DESTDIR)$(ASTMANDIR)/man8
+       $(INSTALL) -m 644 contrib/scripts/safe_asterisk.8 $(DESTDIR)$(ASTMANDIR)/man8
        if [ -f contrib/firmware/iax/iaxy.bin ] ; then \
-               $(INSTALL) -m 644 contrib/firmware/iax/iaxy.bin "$(DESTDIR)$(ASTDATADIR)/firmware/iax/iaxy.bin"; \
+               $(INSTALL) -m 644 contrib/firmware/iax/iaxy.bin $(DESTDIR)$(ASTDATADIR)/firmware/iax/iaxy.bin; \
        fi
 
 $(SUBDIRS_INSTALL):
        +@DESTDIR="$(DESTDIR)" ASTSBINDIR="$(ASTSBINDIR)" $(SUBMAKE) -C $(@:-install=) install 
 
 NEWMODS:=$(foreach d,$(MOD_SUBDIRS),$(notdir $(wildcard $(d)/*.so)))
-OLDMODS=$(filter-out $(NEWMODS),$(notdir $(wildcard "$(DESTDIR)$(MODULES_DIR)/*.so")))
+OLDMODS=$(filter-out $(NEWMODS),$(notdir $(wildcard $(DESTDIR)$(MODULES_DIR)/*.so)))
 
 oldmodcheck:
        @if [ -n "$(OLDMODS)" ]; then \
@@ -684,33 +684,33 @@ samples: adsi
                rm -f $(DESTDIR)$(ASTCONFPATH).tmp ; \
        fi ; \
        $(INSTALL) -d $(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/INBOX
-       build_tools/make_sample_voicemail "$(DESTDIR)$(ASTDATADIR)" "$(DESTDIR)$(ASTSPOOLDIR)"
+       build_tools/make_sample_voicemail $(DESTDIR)/$(ASTDATADIR) $(DESTDIR)/$(ASTSPOOLDIR)
 
        @for x in phoneprov/*; do \
                dst="$(DESTDIR)$(ASTDATADIR)/$$x" ;     \
-               if [ -f "$${dst}" ]; then \
+               if [ -f $${dst} ]; then \
                        if [ "$(OVERWRITE)" = "y" ]; then \
-                               if cmp -s "$${dst}" $$x ; then \
+                               if cmp -s $${dst} $$x ; then \
                                        echo "Config file $$x is unchanged"; \
                                        continue; \
                                fi ; \
-                               mv -f "$${dst}" "$${dst}.old" ; \
+                               mv -f $${dst} $${dst}.old ; \
                        else \
                                echo "Skipping config file $$x"; \
                                continue; \
                        fi ;\
                fi ; \
                echo "Installing file $$x"; \
-               $(INSTALL) -m 644 $$x "$${dst}" ;\
+               $(INSTALL) -m 644 $$x $${dst} ;\
        done
 
 webvmail:
        @[ -d $(DESTDIR)$(HTTP_DOCSDIR)/ ] || ( printf "http docs directory not found.\nUpdate assignment of variable HTTP_DOCSDIR in Makefile!\n" && exit 1 )
        @[ -d $(DESTDIR)$(HTTP_CGIDIR) ] || ( printf "cgi-bin directory not found.\nUpdate assignment of variable HTTP_CGIDIR in Makefile!\n" && exit 1 )
-       $(INSTALL) -m 4755 contrib/scripts/vmail.cgi "$(DESTDIR)$(HTTP_CGIDIR)/vmail.cgi"
+       $(INSTALL) -m 4755 contrib/scripts/vmail.cgi $(DESTDIR)$(HTTP_CGIDIR)/vmail.cgi
        $(INSTALL) -d $(DESTDIR)$(HTTP_DOCSDIR)/_asterisk
        for x in images/*.gif; do \
-               $(INSTALL) -m 644 $$x "$(DESTDIR)$(HTTP_DOCSDIR)/_asterisk/"; \
+               $(INSTALL) -m 644 $$x $(DESTDIR)$(HTTP_DOCSDIR)/_asterisk/; \
        done
        @echo " +--------- Asterisk Web Voicemail ----------+"  
        @echo " +                                           +"
@@ -829,12 +829,12 @@ $(SUBDIRS_UNINSTALL):
        +@$(SUBMAKE) -C $(@:-uninstall=) uninstall
 
 _uninstall: $(SUBDIRS_UNINSTALL)
-       rm -f "$(DESTDIR)$(MODULES_DIR)/"*
+       rm -f $(DESTDIR)$(MODULES_DIR)/*
        rm -f $(DESTDIR)$(ASTSBINDIR)/*asterisk*
        rm -f $(DESTDIR)$(ASTSBINDIR)/astgenkey
        rm -f $(DESTDIR)$(ASTSBINDIR)/autosupport
        rm -rf $(DESTDIR)$(ASTHEADERDIR)
-       rm -rf "$(DESTDIR)$(ASTDATADIR)/firmware"
+       rm -rf $(DESTDIR)$(ASTDATADIR)/firmware
        rm -f $(DESTDIR)$(ASTMANDIR)/man8/asterisk.8
        rm -f $(DESTDIR)$(ASTMANDIR)/man8/astgenkey.8
        rm -f $(DESTDIR)$(ASTMANDIR)/man8/autosupport.8
@@ -856,12 +856,12 @@ uninstall: _uninstall
        @echo " +-------------------------------------------+"  
 
 uninstall-all: _uninstall
-       rm -rf "$(DESTDIR)$(ASTLIBDIR)"
-       rm -rf "$(DESTDIR)$(ASTVARLIBDIR)"
-       rm -rf "$(DESTDIR)$(ASTDATADIR)"
-       rm -rf "$(DESTDIR)$(ASTSPOOLDIR)"
-       rm -rf "$(DESTDIR)$(ASTETCDIR)"
-       rm -rf "$(DESTDIR)$(ASTLOGDIR)"
+       rm -rf $(DESTDIR)$(ASTLIBDIR)
+       rm -rf $(DESTDIR)$(ASTVARLIBDIR)
+       rm -rf $(DESTDIR)$(ASTDATADIR)
+       rm -rf $(DESTDIR)$(ASTSPOOLDIR)
+       rm -rf $(DESTDIR)$(ASTETCDIR)
+       rm -rf $(DESTDIR)$(ASTLOGDIR)
 
 menuconfig: menuselect
 
index b0bc148acbbc205236907b1da59725fa73a04aee..b883548afab986591a273ca2c99f932d2a07f2fa 100644 (file)
@@ -122,7 +122,7 @@ clean::
 
 install:: all
        @echo "Installing modules from `basename $(CURDIR)`..."
-       @for x in $(LOADABLE_MODS:%=%.so); do $(INSTALL) -m 755 $$x "$(DESTDIR)$(MODULES_DIR)" ; done
+       @for x in $(LOADABLE_MODS:%=%.so); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
 
 uninstall::
 
index 178c30c7b5328c6035addd393b7c222f7655d6cf..9826d9fb8eae1729e11777834c9a159118ee94f1 100644 (file)
 
 -include $(ASTTOPDIR)/menuselect.makeopts $(ASTTOPDIR)/makeopts
 
-# Make doesn't tolerate spaces in pathnames well.  I hate to hardcode the OS X
-# path, but Make doesn't allow spaces as arguments, either.
-ifneq ($(findstring Application Support,$(ASTDATADIR)),)
-TMPDATADIR=/tmp/astdatadir
-PREFIXCMD=ln -sf "$(ASTDATADIR)/" /tmp/astdatadir
-else
-TMPDATADIR=$(ASTDATADIR)
-endif
-
 CMD_PREFIX?=@
-SOUNDS_DIR:=$(DESTDIR)$(TMPDATADIR)/sounds
+SOUNDS_DIR:=$(DESTDIR)$(ASTDATADIR)/sounds
 SOUNDS_CACHE_DIR?=
-MOH_DIR:=$(DESTDIR)$(TMPDATADIR)/moh
+MOH_DIR:=$(DESTDIR)$(ASTDATADIR)/moh
 CORE_SOUNDS_VERSION:=1.4.21
 EXTRA_SOUNDS_VERSION:=1.4.11
 MOH_VERSION:=2.03
@@ -142,13 +133,7 @@ endef
 
 endif
 
-all: prefixcmd $(SOUNDS_CACHE_DIR) $(CORE_SOUNDS) $(EXTRA_SOUNDS) $(MOH)
-
-prefixcmd:
-       if [ -d /tmp/astdatadir ] ; then \
-               rm -rf /tmp/astdatadir ; \
-       fi
-       @$(PREFIXCMD)
+all: $(SOUNDS_CACHE_DIR) $(CORE_SOUNDS) $(EXTRA_SOUNDS) $(MOH)
 
 have_download:
        @if test "$(DOWNLOAD)" = ":" ; then \
@@ -196,7 +181,7 @@ dist-clean:
 $(SOUNDS_DIR)/en $(MOH_DIR) $(SOUNDS_DIR)/en_AU $(SOUNDS_DIR)/es $(SOUNDS_DIR)/fr $(SOUNDS_DIR)/ru $(SOUNDS_CACHE_DIR):
        mkdir -p $@
 
-install: prefixcmd $(SOUNDS_CACHE_DIR) $(SOUNDS_DIR)/en $(SOUNDS_DIR)/en_AU $(SOUNDS_DIR)/es $(SOUNDS_DIR)/fr $(SOUNDS_DIR)/ru $(MOH_DIR) $(CORE_SOUND_TAGS) $(EXTRA_SOUND_TAGS) $(MOH_TAGS)
+install: $(SOUNDS_CACHE_DIR) $(SOUNDS_DIR)/en $(SOUNDS_DIR)/en_AU $(SOUNDS_DIR)/es $(SOUNDS_DIR)/fr $(MOH_DIR) $(CORE_SOUND_TAGS) $(EXTRA_SOUND_TAGS) $(MOH_TAGS)
 
 uninstall:
        rm -rf $(SOUNDS_DIR)