Browse Source

on installation save channel to config.php if not stable

- the default channel to the NC server is what is provided in /version.php
  unless it is overridden in config.php
- the default channel to the NC Updater however is 'stable'
- this resultant in inconsistent results and confusing admin experience
- therefore "stable" is considered default and other channels are being
  written to config.php now upon installation

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
tags/v26.0.0beta1
Arthur Schiwon 1 year ago
parent
commit
403923d72c
1 changed files with 13 additions and 11 deletions
  1. 13
    11
      lib/private/Setup.php

+ 13
- 11
lib/private/Setup.php View File

@@ -393,7 +393,12 @@ class Setup {
$config = \OC::$server->getConfig();
$config->setAppValue('core', 'installedat', microtime(true));
$config->setAppValue('core', 'lastupdatedat', microtime(true));
$config->setAppValue('core', 'vendor', $this->getVendor());

$vendorData = $this->getVendorData();
$config->setAppValue('core', 'vendor', $vendorData['vendor']);
if ($vendorData['channel'] !== 'stable') {
$config->setSystemValue('updater.release.channel', $vendorData['channel']);
}

$group = \OC::$server->getGroupManager()->createGroup('admin');
if ($group instanceof IGroup) {
@@ -582,17 +587,14 @@ class Setup {
file_put_contents($baseDir . '/index.html', '');
}

/**
* Return vendor from which this version was published
*
* @return string Get the vendor
*
* Copy of \OC\Updater::getVendor()
*/
private function getVendor() {
private function getVendorData(): array {
// this should really be a JSON file
require \OC::$SERVERROOT . '/version.php';
/** @var string $vendor */
return (string)$vendor;
/** @var mixed $vendor */
/** @var mixed $OC_Channel */
return [
'vendor' => (string)$vendor,
'channel' => (string)$OC_Channel,
];
}
}

Loading…
Cancel
Save