From 770292a42cf28440a01dfa2c21f16130b4a383c2 Mon Sep 17 00:00:00 2001 From: ntoniazzi Date: Tue, 11 Dec 2012 11:49:30 +0100 Subject: [PATCH] Conforming to XDG Base Directory Specification (http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html) --- src/Composer/Factory.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Composer/Factory.php b/src/Composer/Factory.php index d02f68d41..c2565c0b4 100644 --- a/src/Composer/Factory.php +++ b/src/Composer/Factory.php @@ -42,7 +42,11 @@ class Factory if (defined('PHP_WINDOWS_VERSION_MAJOR')) { $home = getenv('APPDATA') . '/Composer'; } else { - $home = rtrim(getenv('HOME'), '/') . '/.composer'; + $xdgConfig = getenv('XDG_CONFIG_HOME'); + if (!$xdgConfig) { + $xdgConfig = rtrim(getenv('HOME'), '/') . '/.config'; + } + $home = $xdgConfig . '/composer'; } } if (!$cacheDir) { @@ -53,7 +57,11 @@ class Factory $cacheDir = getenv('APPDATA') . '/Composer/cache'; } } else { - $cacheDir = $home.'/cache'; + $xdgCache = getenv('XDG_CACHE_HOME'); + if (!$xdgCache) { + $xdgCache = rtrim(getenv('HOME'), '/') . '/.cache'; + } + $cacheDir = $xdgCache . '/composer'; } }