Merge pull request #19430 from nextcloud/fix/17808/remove-timeout-appinstall
disable timeout on app install via cli
This commit is contained in:
commit
6bf0c1f4c3
|
@ -70,6 +70,8 @@ class Installer {
|
|||
private $apps = null;
|
||||
/** @var bool|null - for caching the result of the ready status */
|
||||
private $isInstanceReadyForUpdates = null;
|
||||
/** @var bool */
|
||||
private $isCLI;
|
||||
|
||||
/**
|
||||
* @param AppFetcher $appFetcher
|
||||
|
@ -78,16 +80,20 @@ class Installer {
|
|||
* @param ILogger $logger
|
||||
* @param IConfig $config
|
||||
*/
|
||||
public function __construct(AppFetcher $appFetcher,
|
||||
IClientService $clientService,
|
||||
ITempManager $tempManager,
|
||||
ILogger $logger,
|
||||
IConfig $config) {
|
||||
public function __construct(
|
||||
AppFetcher $appFetcher,
|
||||
IClientService $clientService,
|
||||
ITempManager $tempManager,
|
||||
ILogger $logger,
|
||||
IConfig $config,
|
||||
bool $isCLI
|
||||
) {
|
||||
$this->appFetcher = $appFetcher;
|
||||
$this->clientService = $clientService;
|
||||
$this->tempManager = $tempManager;
|
||||
$this->logger = $logger;
|
||||
$this->config = $config;
|
||||
$this->isCLI = $isCLI;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -270,8 +276,9 @@ class Installer {
|
|||
|
||||
// Download the release
|
||||
$tempFile = $this->tempManager->getTemporaryFile('.tar.gz');
|
||||
$timeout = $this->isCLI ? 0 : 120;
|
||||
$client = $this->clientService->newClient();
|
||||
$client->get($app['releases'][0]['download'], ['save_to' => $tempFile, 'timeout' => 120]);
|
||||
$client->get($app['releases'][0]['download'], ['save_to' => $tempFile, 'timeout' => $timeout]);
|
||||
|
||||
// Check if the signature actually matches the downloaded content
|
||||
$certificate = openssl_get_publickey($app['certificate']);
|
||||
|
|
|
@ -1272,7 +1272,8 @@ class Server extends ServerContainer implements IServerContainer {
|
|||
$c->getHTTPClientService(),
|
||||
$c->getTempManager(),
|
||||
$c->getLogger(),
|
||||
$c->getConfig()
|
||||
$c->getConfig(),
|
||||
\OC::$CLI
|
||||
);
|
||||
});
|
||||
|
||||
|
|
|
@ -57,7 +57,8 @@ class InstallerTest extends TestCase {
|
|||
\OC::$server->getHTTPClientService(),
|
||||
\OC::$server->getTempManager(),
|
||||
\OC::$server->getLogger(),
|
||||
$config
|
||||
$config,
|
||||
false
|
||||
);
|
||||
$installer->removeApp(self::$appid);
|
||||
}
|
||||
|
@ -68,7 +69,8 @@ class InstallerTest extends TestCase {
|
|||
$this->clientService,
|
||||
$this->tempManager,
|
||||
$this->logger,
|
||||
$this->config
|
||||
$this->config,
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -78,7 +80,8 @@ class InstallerTest extends TestCase {
|
|||
\OC::$server->getHTTPClientService(),
|
||||
\OC::$server->getTempManager(),
|
||||
\OC::$server->getLogger(),
|
||||
\OC::$server->getConfig()
|
||||
\OC::$server->getConfig(),
|
||||
false
|
||||
);
|
||||
$installer->removeApp(self::$appid);
|
||||
\OC::$server->getConfig()->setSystemValue('appstoreenabled', $this->appstore);
|
||||
|
@ -101,7 +104,8 @@ class InstallerTest extends TestCase {
|
|||
\OC::$server->getHTTPClientService(),
|
||||
\OC::$server->getTempManager(),
|
||||
\OC::$server->getLogger(),
|
||||
\OC::$server->getConfig()
|
||||
\OC::$server->getConfig(),
|
||||
false
|
||||
);
|
||||
$this->assertNull(\OC::$server->getConfig()->getAppValue('testapp', 'enabled', null), 'Check that the app is not listed before installation');
|
||||
$this->assertSame('testapp', $installer->installApp(self::$appid));
|
||||
|
|
Loading…
Reference in New Issue