From 3f2db72083b0a02cc35afbbfb7a6a52244388098 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Gerg=C5=91=20Tisza?= Date: Sat, 23 Jun 2018 16:10:20 +0200 Subject: [PATCH] shell.php: prevent permission error Avoid bobthecow/psysh#443[1] (PsySH using XDG_RUNTIME_DIR as temp directory, which is inherited by the new user when doing sudo -E but is only writable by the old user) by using the MediaWiki temp dir. [1]: https://github.com/bobthecow/psysh/issues/443 Change-Id: Ica9344cdf23323d264f66df03b9d82ccc0582e45 --- maintenance/shell.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/maintenance/shell.php b/maintenance/shell.php index c8a8a4527f..a67417fc09 100644 --- a/maintenance/shell.php +++ b/maintenance/shell.php @@ -67,8 +67,12 @@ class MediaWikiShell extends Maintenance { // add this after initializing the code cleaner so all the default passes get added first $traverser->addVisitor( new CodeCleanerGlobalsPass() ); - $config = new \Psy\Configuration( [ 'codeCleaner' => $codeCleaner ] ); + $config = new \Psy\Configuration(); + $config->setCodeCleaner( $codeCleaner ); $config->setUpdateCheck( \Psy\VersionUpdater\Checker::NEVER ); + // prevent https://github.com/bobthecow/psysh/issues/443 when using sudo -E + $config->setRuntimeDir( wfTempDir() ); + $shell = new \Psy\Shell( $config ); if ( $this->hasOption( 'd' ) ) { $this->setupLegacy(); -- 2.20.1