mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-16 18:26:12 +01:00
package manager support for cent7
This commit is contained in:
@@ -67,6 +67,8 @@ class ApplicationInstaller(multi.Thread):
|
||||
|
||||
f = open(ServerStatusUtil.lswsInstallStatusPath, 'a')
|
||||
|
||||
if ProcessUtilities.decideDistro() == ProcessUtilities.ubuntu:
|
||||
|
||||
if package == 'all':
|
||||
command = 'apt-get update -y'
|
||||
f.write(ProcessUtilities.outputExecutioner(command))
|
||||
@@ -80,6 +82,11 @@ class ApplicationInstaller(multi.Thread):
|
||||
f.write(ProcessUtilities.outputExecutioner(command))
|
||||
|
||||
f.close()
|
||||
elif ProcessUtilities.decideDistro() == ProcessUtilities.centos:
|
||||
command = 'yum update %s -y' % (package)
|
||||
f.write(ProcessUtilities.outputExecutioner(command))
|
||||
|
||||
f.close()
|
||||
|
||||
logging.statusWriter(ServerStatusUtil.lswsInstallStatusPath,
|
||||
'Package(s) upgraded successfully. [200]',
|
||||
|
||||
@@ -753,6 +753,59 @@ def fetchPackages(request):
|
||||
upgradePackages.append(pack)
|
||||
|
||||
packages = upgradePackages
|
||||
elif ProcessUtilities.decideDistro() == ProcessUtilities.centos:
|
||||
|
||||
if type == 'installed':
|
||||
|
||||
#### Cater for packages that need updates.
|
||||
|
||||
startForUpdate = 1
|
||||
|
||||
command = 'yum check-update'
|
||||
updates = ProcessUtilities.outputExecutioner(command).split('\n')
|
||||
|
||||
for items in updates:
|
||||
if items == '':
|
||||
updates = updates[startForUpdate:]
|
||||
break
|
||||
else:
|
||||
startForUpdate = startForUpdate + 1
|
||||
|
||||
## make list of packages that need update
|
||||
|
||||
updateNeeded = []
|
||||
for items in updates:
|
||||
updateNeeded.append(items.split(' ')[0])
|
||||
|
||||
###
|
||||
|
||||
command = 'yum list installed'
|
||||
packages = ProcessUtilities.outputExecutioner(command).split('\n')
|
||||
|
||||
startFrom = 1
|
||||
|
||||
for items in packages:
|
||||
if items.find('Installed Packages') > -1:
|
||||
packages = packages[startFrom:]
|
||||
break
|
||||
else:
|
||||
startFrom = startFrom + 1
|
||||
elif type == 'upgrade':
|
||||
#### Cater for packages that need updates.
|
||||
|
||||
startForUpdate = 1
|
||||
|
||||
command = 'yum check-update'
|
||||
packages = ProcessUtilities.outputExecutioner(command).split('\n')
|
||||
|
||||
for items in packages:
|
||||
if items == '':
|
||||
packages = packages[startForUpdate:-1]
|
||||
break
|
||||
else:
|
||||
startForUpdate = startForUpdate + 1
|
||||
|
||||
## make list of packages that need update
|
||||
|
||||
|
||||
#if os.path.exists(ProcessUtilities.debugPath):
|
||||
@@ -773,6 +826,7 @@ def fetchPackages(request):
|
||||
|
||||
import re
|
||||
for items in finalPackages:
|
||||
if ProcessUtilities.decideDistro() == ProcessUtilities.ubuntu:
|
||||
try:
|
||||
if type == 'CyberPanel':
|
||||
|
||||
@@ -815,9 +869,37 @@ def fetchPackages(request):
|
||||
checker = 1
|
||||
else:
|
||||
json_data = json_data + ',' + json.dumps(dic)
|
||||
|
||||
except BaseException as msg:
|
||||
logging.CyberCPLogFileWriter.writeToFile('[ERROR] %s. [fetchPackages:773]' % (str(msg)))
|
||||
elif ProcessUtilities.decideDistro() == ProcessUtilities.centos:
|
||||
try:
|
||||
if type == 'installed' or type == 'upgrade':
|
||||
|
||||
details = items.split(' ')
|
||||
details = [a for a in details if a != '']
|
||||
|
||||
if type == 'installed':
|
||||
if details[0] in updateNeeded:
|
||||
upgrade = 'Upgrade available'
|
||||
else:
|
||||
upgrade = 'Not needed.'
|
||||
else:
|
||||
upgrade = 'Upgrade available'
|
||||
|
||||
dic = {'package': details[0],
|
||||
'version': details[1],
|
||||
'upgrade': upgrade, 'lock': 1}
|
||||
|
||||
counter = counter + 1
|
||||
if checker == 0:
|
||||
json_data = json_data + json.dumps(dic)
|
||||
checker = 1
|
||||
else:
|
||||
json_data = json_data + ',' + json.dumps(dic)
|
||||
|
||||
|
||||
except BaseException as msg:
|
||||
logging.CyberCPLogFileWriter.writeToFile('[ERROR] %s. [fetchPackages:839]' % (str(msg)))
|
||||
|
||||
json_data = json_data + ']'
|
||||
|
||||
@@ -847,6 +929,9 @@ def fetchPackageDetails(request):
|
||||
if ProcessUtilities.decideDistro() == ProcessUtilities.ubuntu:
|
||||
command = 'apt-cache show %s' % (package)
|
||||
packageDetails = ProcessUtilities.outputExecutioner(command)
|
||||
elif ProcessUtilities.decideDistro() == ProcessUtilities.centos:
|
||||
command = 'yum info %s' % (package)
|
||||
packageDetails = ProcessUtilities.outputExecutioner(command)
|
||||
|
||||
data_ret = {'status': 1, 'packageDetails': packageDetails}
|
||||
json_data = json.dumps(data_ret)
|
||||
|
||||
Reference in New Issue
Block a user