Introduce astcachedir, to be used for temporary bucket files

As described in the issue, /tmp is not a suitable location for a
large amount of cached media files, since most distributions make
/tmp a RAM-based tmpfs mount with limited capacity.

I opted for a location that can be configured separately, as opposed
to using a subdirectory of spooldir, given the different storage
profile (transient files vs files that might stay there indefinitely).

This commit just makes the cache directory configurable, but leaves
it at /tmp by default, to ensure backwards compatibility.

A future commit that only targets master could change the default
location to something more sensible such as /var/tmp/asterisk. At
that point, the cachedir could be created and cleaned up during
uninstall by the Makefile script.

ASTERISK-29143

Change-Id: Ic54e95199405abacd9e509cef5f08fa14c510b5d
This commit is contained in:
lvl
2020-10-29 12:25:27 +01:00
committed by George Joseph
parent f39d5ea7cd
commit 92fcd4edba
13 changed files with 31 additions and 4 deletions

3
configure vendored
View File

@@ -1295,6 +1295,7 @@ BUILD_OS
BUILD_VENDOR
BUILD_CPU
BUILD_PLATFORM
astcachedir
astvarrundir
astlogdir
astspooldir
@@ -4660,6 +4661,7 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
# System default paths
astsbindir='${sbindir}'
astcachedir='/tmp'
astetcdir='${sysconfdir}/asterisk'
astheaderdir='${includedir}/asterisk'
astlibdir='${libdir}'
@@ -4728,6 +4730,7 @@ $as_echo "#define _DARWIN_UNLIMITED_SELECT 1" >>confdefs.h
;;
solaris*)
if test ${prefix} = 'NONE'; then
astcachedir=/tmp
astetcdir=/var/etc/asterisk
astsbindir=/opt/asterisk/sbin
astlibdir=/opt/asterisk/lib