forked from extern/egroupware
maintain an maintenance_release version in api/setup/setup.inc.php, also move update-checker images to api
This commit is contained in:
parent
e3bacb3565
commit
be32282214
@ -14,6 +14,8 @@ $setup_info['api']['name'] = 'api';
|
|||||||
$setup_info['api']['title'] = 'EGroupware API';
|
$setup_info['api']['title'] = 'EGroupware API';
|
||||||
$setup_info['api']['version'] = '16.9.001';
|
$setup_info['api']['version'] = '16.9.001';
|
||||||
$setup_info['api']['versions']['current_header'] = '1.29';
|
$setup_info['api']['versions']['current_header'] = '1.29';
|
||||||
|
// maintenance release in sync with changelog in doc/rpm-build/debian.changes
|
||||||
|
$setup_info['api']['versions']['maintenance_release'] = '16.1.20170118';
|
||||||
$setup_info['api']['enable'] = 3;
|
$setup_info['api']['enable'] = 3;
|
||||||
$setup_info['api']['app_order'] = 1;
|
$setup_info['api']['app_order'] = 1;
|
||||||
$setup_info['api']['license'] = 'GPL';
|
$setup_info['api']['license'] = 'GPL';
|
||||||
|
@ -81,12 +81,12 @@ class Updates
|
|||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return Html::a_href(Html::image('phpgwapi', 'security-update', lang('EGroupware security update %1 needs to be installed!', $versions['security'])),
|
return Html::a_href(Html::image('api', 'security-update', lang('EGroupware security update %1 needs to be installed!', $versions['security'])),
|
||||||
'http://www.egroupware.org/changelog', null, ' target="_blank"');
|
'http://www.egroupware.org/changelog', null, ' target="_blank"');
|
||||||
}
|
}
|
||||||
if ($GLOBALS['egw_info']['user']['apps']['admin'] && version_compare($api, $versions['current'], '<'))
|
if ($GLOBALS['egw_info']['user']['apps']['admin'] && version_compare($api, $versions['current'], '<'))
|
||||||
{
|
{
|
||||||
return Html::a_href(Html::image('phpgwapi', 'update', lang('EGroupware maintenance update %1 available', $versions['current'])),
|
return Html::a_href(Html::image('api', 'update', lang('EGroupware maintenance update %1 available', $versions['current'])),
|
||||||
'http://www.egroupware.org/changelog', null, ' target="_blank"');
|
'http://www.egroupware.org/changelog', null, ' target="_blank"');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -121,7 +121,7 @@ class Updates
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get current API version from changelog or database, whichever is bigger
|
* Get current API version from api/setup/setup.inc.php "maintenance_release" or database, whichever is bigger
|
||||||
*
|
*
|
||||||
* @param string &$changelog on return path to changelog
|
* @param string &$changelog on return path to changelog
|
||||||
* @return string
|
* @return string
|
||||||
@ -130,16 +130,20 @@ class Updates
|
|||||||
{
|
{
|
||||||
$changelog = EGW_SERVER_ROOT.'/doc/rpm-build/debian.changes';
|
$changelog = EGW_SERVER_ROOT.'/doc/rpm-build/debian.changes';
|
||||||
|
|
||||||
return Cache::getTree(__CLASS__, 'api_version', function() use ($changelog)
|
return Cache::getTree(__CLASS__, 'api_version', function()
|
||||||
{
|
{
|
||||||
$version = preg_replace('/[^0-9.]/', '', $GLOBALS['egw_info']['server']['versions']['phpgwapi']);
|
$version = preg_replace('/[^0-9.]/', '', $GLOBALS['egw_info']['server']['versions']['api']);
|
||||||
// parse version from changelog
|
|
||||||
$matches = null;
|
if (empty($GLOBALS['egw_info']['server']['versions']['maintenance_release']))
|
||||||
if (($f = fopen($changelog, 'r')) && preg_match('/egroupware-epl \(([0-9.]+)/', fread($f, 80), $matches) &&
|
|
||||||
version_compare($version, $matches[1], '<'))
|
|
||||||
{
|
{
|
||||||
$version = $matches[1];
|
$setup_info = null;
|
||||||
fclose($f);
|
include (EGW_SERVER_ROOT.'/api/setup/setup.inc.php');
|
||||||
|
$GLOBALS['egw_info']['server']['versions'] += $setup_info['api']['versions'];
|
||||||
|
unset($setup_info);
|
||||||
|
}
|
||||||
|
if (version_compare($version, $GLOBALS['egw_info']['server']['versions']['maintenance_release'], '<'))
|
||||||
|
{
|
||||||
|
$version = $GLOBALS['egw_info']['server']['versions']['maintenance_release'];
|
||||||
}
|
}
|
||||||
return $version;
|
return $version;
|
||||||
}, array(), 300);
|
}, array(), 300);
|
||||||
|
BIN
api/templates/default/images/security-update.png
Normal file
BIN
api/templates/default/images/security-update.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
BIN
api/templates/default/images/update.png
Normal file
BIN
api/templates/default/images/update.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.4 KiB |
@ -595,13 +595,16 @@ function do_editchangelog()
|
|||||||
throw new Exception("Changelog '$changelog' not found!");
|
throw new Exception("Changelog '$changelog' not found!");
|
||||||
}
|
}
|
||||||
file_put_contents($changelog, update_changelog(file_get_contents($changelog)));
|
file_put_contents($changelog, update_changelog(file_get_contents($changelog)));
|
||||||
|
|
||||||
|
update_api_setup($api_setup=$config['checkoutdir'].'/api/setup/setup.inc.php');
|
||||||
|
|
||||||
if (file_exists($config['checkoutdir'].'/.git'))
|
if (file_exists($config['checkoutdir'].'/.git'))
|
||||||
{
|
{
|
||||||
$cmd = $config['git']." commit -m 'Changelog for $config[version].$config[packaging]' ".$changelog;
|
$cmd = $config['git']." commit -m 'Changelog for $config[version].$config[packaging]' ".$changelog.' '.$api_setup;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$cmd = $svn." commit -m 'Changelog for $config[version].$config[packaging]' ".$changelog;
|
$cmd = $svn." commit -m 'Changelog for $config[version].$config[packaging]' ".$changelog.' '.$api_setup;
|
||||||
}
|
}
|
||||||
run_cmd($cmd);
|
run_cmd($cmd);
|
||||||
|
|
||||||
@ -875,6 +878,30 @@ function update_changelog($content)
|
|||||||
return $content;
|
return $content;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update content of api/setup/setup.inc.php file with new maintenance version
|
||||||
|
*
|
||||||
|
* @param string $path full path to "api/setup/setup.inc.php"
|
||||||
|
*/
|
||||||
|
function update_api_setup($path)
|
||||||
|
{
|
||||||
|
global $config;
|
||||||
|
|
||||||
|
if (!($content = file_get_contents($path)))
|
||||||
|
{
|
||||||
|
throw new Exception("Could not read file '$path' to update maintenance-version!");
|
||||||
|
}
|
||||||
|
|
||||||
|
$content = preg_replace('/'.preg_quote("\$setup_info['api']['versions']['maintenance_release']", '/').'[^;]+;',
|
||||||
|
"\$setup_info['api']['versions']['maintenance_release'] = '".$config['version'].'.'.$config['packaging']."';",
|
||||||
|
$content);
|
||||||
|
|
||||||
|
if (!file_put_contents($path, $content))
|
||||||
|
{
|
||||||
|
throw new Exception("Could not update file '$path' with maintenance-version!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sign sha1sum file
|
* Sign sha1sum file
|
||||||
*/
|
*/
|
||||||
|
@ -52,8 +52,8 @@ $GLOBALS['egw_info']['server']['mcrypt_iv'] = '{MCRYPT_IV}';
|
|||||||
$GLOBALS['egw_info']['flags']['page_start_time'] = microtime(true);
|
$GLOBALS['egw_info']['flags']['page_start_time'] = microtime(true);
|
||||||
|
|
||||||
include(EGW_SERVER_ROOT.'/api/setup/setup.inc.php');
|
include(EGW_SERVER_ROOT.'/api/setup/setup.inc.php');
|
||||||
|
$GLOBALS['egw_info']['server']['versions'] = $setup_info['api']['versions'];
|
||||||
$GLOBALS['egw_info']['server']['versions']['phpgwapi'] = $GLOBALS['egw_info']['server']['versions']['api'] = $setup_info['api']['version'];
|
$GLOBALS['egw_info']['server']['versions']['phpgwapi'] = $GLOBALS['egw_info']['server']['versions']['api'] = $setup_info['api']['version'];
|
||||||
$GLOBALS['egw_info']['server']['versions']['current_header'] = $setup_info['api']['versions']['current_header'];
|
|
||||||
unset($setup_info);
|
unset($setup_info);
|
||||||
$GLOBALS['egw_info']['server']['versions']['header'] = '1.29';
|
$GLOBALS['egw_info']['server']['versions']['header'] = '1.29';
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user