mirror of
https://github.com/CMiksche/gitea-auto-update
synced 2025-12-10 07:57:23 +01:00
add download xz file save (40%) and use sha256
This commit is contained in:
@@ -13,8 +13,10 @@ gtgithubapiurl = 'https://api.github.com/repos/go-gitea/gitea/releases/latest'
|
||||
# Gitea System
|
||||
gtsystem = 'linux-amd64'
|
||||
# Name and Path of gitea file
|
||||
gtfile = '/home/git/gitea'
|
||||
gtfile = '/usr/local/bin/gitea'
|
||||
# tmp Name and Path of gitea file
|
||||
tmpdir = '/tmp/'
|
||||
# Build new version from source?
|
||||
build_from_source = None
|
||||
# Source directroy
|
||||
source_dir = '/home/git/go/src/code.gitea.io/gitea'
|
||||
source_dir = '/home/git/go/src/code.gitea.io/gitea'
|
||||
|
||||
54
updater.py
54
updater.py
@@ -17,6 +17,7 @@ def download(url, file_name):
|
||||
# get request
|
||||
response = requests.get(url)
|
||||
# write to file
|
||||
print ("writing file", file_name)
|
||||
file.write(response.content)
|
||||
|
||||
# Function to build the new version from source
|
||||
@@ -36,18 +37,19 @@ def buildFromSource(tag):
|
||||
|
||||
# Version from gitea site
|
||||
current_version = requests.get(settings.gtsite).json()['version']
|
||||
|
||||
print ("current_version =", current_version)
|
||||
# Get version tag from github and remove first char (v)
|
||||
github_version_tag = requests.get(settings.gtgithubapiurl).json()['tag_name']
|
||||
|
||||
print ("github_version_tag =", github_version_tag)
|
||||
# Get version from version tag
|
||||
github_version = github_version_tag[1:]
|
||||
|
||||
# Check if there is a new version
|
||||
if github_version > current_version:
|
||||
|
||||
|
||||
# Stop systemd service
|
||||
os.system("systemctl stop gitea.service")
|
||||
print ("new version available, stopping service")
|
||||
#os.system("systemctl stop gitea.service")
|
||||
|
||||
# Should the new version be build from source?
|
||||
if settings.build_from_source:
|
||||
@@ -55,12 +57,50 @@ if github_version > current_version:
|
||||
buildFromSource(github_version_tag)
|
||||
|
||||
else:
|
||||
|
||||
# Set download url
|
||||
gtdownload = 'https://github.com/go-gitea/gitea/releases/download/'+github_version_tag+'/gitea-'+github_version+'-'+settings.gtsystem
|
||||
## main file
|
||||
gtdownload = 'https://github.com/go-gitea/gitea/releases/download/'+github_version_tag+'/gitea-'+github_version+'-'+settings.gtsystem+'.xz'
|
||||
print (gtdownload)
|
||||
## sha256 file
|
||||
shadownload = 'https://github.com/go-gitea/gitea/releases/download/'+github_version_tag+'/gitea-'+github_version+'-'+settings.gtsystem+'.xz.sha256'
|
||||
print (shadownload)
|
||||
|
||||
# Download file
|
||||
download(gtdownload, settings.gtfile)
|
||||
|
||||
## downloading sha
|
||||
print ("downloading sha256 hashsum")
|
||||
download(shadownload, settings.tmpdir+'gitea.xz.sha256')
|
||||
## downloading xz
|
||||
print ("downloading", github_version_tag+'gitea.xz')
|
||||
tmpxz = settings.tmpdir+'gitea-'+github_version+'-'+settings.gtsystem+'.xz'
|
||||
download(gtdownload, tmpxz)
|
||||
|
||||
# doing sha256 sum
|
||||
os.chdir(settings.tmpdir)
|
||||
#sha_value = os.system("sha256sum -c gitea.xz.sha256 > /dev/null")
|
||||
|
||||
if os.system("sha256sum -c gitea.xz.sha256 > /dev/null") == 0:
|
||||
print ("sha ok, extracting file to location")
|
||||
# extracting download file
|
||||
cmd = "xz -d "+tmpxz
|
||||
print (cmd)
|
||||
os.system(cmd)
|
||||
# moving temp file to gtfile location
|
||||
cmd = 'mv '+settings.tmpdir+'gitea-'+github_version+'-'+settings.gtsystem+' '+settings.gtfile
|
||||
print (cmd)
|
||||
os.system(cmd)
|
||||
else:
|
||||
print ("error")
|
||||
quit()
|
||||
|
||||
# Start systemd service
|
||||
print ("starting gitea.service")
|
||||
os.system("systemctl start gitea.service")
|
||||
|
||||
print ("update successfully")
|
||||
|
||||
|
||||
else:
|
||||
|
||||
#Print current version is uptodate
|
||||
print ("current version is uptodate")
|
||||
|
||||
Reference in New Issue
Block a user