public function fixArchivePermissions($workingDir) {
		$fixCmds = array(
			// The directories need to have permissions changed one by one (hence the ; instead of +),
			// otherwise we might end up having no +x access to a directory deeper down.
			sprintf('find %s -type d -exec chmod 755 {} \;', escapeshellarg($workingDir)),
			sprintf('find %s -type f -exec chmod 644 {} +', escapeshellarg($workingDir))
		);

		foreach($fixCmds as $cmd) {
			$process = new Process($cmd);
			$process->setTimeout(3600);
			$process->run();
			if(!$process->isSuccessful()) {
				throw new RuntimeException($process->getErrorOutput());
			}
		}

		return true;
	}