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>
pull/34136/head
Arthur Schiwon 2 years ago committed by blizzz (Rebase PR Action)
parent 7848d1cab6
commit 403923d72c

@ -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