From faa7c5eea2de7e053f38c0726c01147531687361 Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Sun, 19 May 2019 20:52:53 +0200 Subject: [PATCH] Allow overriding self-update target file with envvar COMPOSER_SELF_UPDATE_TARGET Useful if Composer is provided on a read-only filesystems, to allow self-update to work with a different destination --- src/Composer/Command/SelfUpdateCommand.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Composer/Command/SelfUpdateCommand.php b/src/Composer/Command/SelfUpdateCommand.php index 78b27460e..226aafeb5 100644 --- a/src/Composer/Command/SelfUpdateCommand.php +++ b/src/Composer/Command/SelfUpdateCommand.php @@ -351,6 +351,10 @@ TAGSPUBKEY @copy($localFilename, $backupTarget); } + if ($targetFilename = getenv('COMPOSER_SELF_UPDATE_TARGET')) { + $localFilename = realpath($targetFilename) ?: $targetFilename; + } + rename($newFilename, $localFilename); return null;