Commit con funzionalità di firma complete.
This commit is contained in:
parent
2c60de03cb
commit
544d805b50
2 changed files with 89 additions and 36 deletions
|
@ -20,11 +20,14 @@ class Build(object):
|
|||
self.offline_help = False
|
||||
self.portable = False
|
||||
self.updatable = True
|
||||
self.sign = False
|
||||
self.storage_path = '/srv/http/appimage.sys42.eu'
|
||||
self.download_path = '/var/tmp/downloads'
|
||||
|
||||
# Specific build version
|
||||
self.appversion = ''
|
||||
self.appimagefilename = {}
|
||||
self.genappversion = ''
|
||||
self.appimagefilename = {}
|
||||
self.genappimagefilename = {}
|
||||
|
||||
# Getting versions and so on
|
||||
|
@ -45,6 +48,26 @@ class Build(object):
|
|||
self.relative_path = []
|
||||
self.full_path = ''
|
||||
|
||||
def version_strings(self):
|
||||
"""Build version strings based on the information received."""
|
||||
# Building expected AppImageName
|
||||
self.languagepart = "."
|
||||
if ',' in self.language:
|
||||
self.languagepart += self.language.replace(',', '-')
|
||||
else:
|
||||
self.languagepart += self.language
|
||||
|
||||
self.helppart = '.help' if self.offline_help else ''
|
||||
|
||||
# If the build was called by queried name, build from latest release available but build with the most generic name
|
||||
self.appversion = self.version + self.languagepart + self.helppart
|
||||
myver = str.join('.', self.version.split('.')[0:2])
|
||||
self.genappversion = myver + self.languagepart + self.helppart
|
||||
for arch in ARCHSTD:
|
||||
self.appimagefilename[arch] = self.appname + '-' + self.appversion + f'-{arch}.AppImage'
|
||||
self.genappimagefilename[arch] = self.appname + '-' + self.genappversion + f'-{arch}.AppImage'
|
||||
|
||||
|
||||
def check(self, storage_path):
|
||||
"""Checking if the requested AppImage has been already built."""
|
||||
# Mandate to the private function to calculate the full_path available
|
||||
|
@ -62,22 +85,8 @@ class Build(object):
|
|||
# to build an updatable version.
|
||||
self.updatable = False
|
||||
|
||||
# Building expected AppImageName
|
||||
self.languagepart = "."
|
||||
if ',' in self.language:
|
||||
self.languagepart += self.language.replace(',', '-')
|
||||
else:
|
||||
self.languagepart += self.language
|
||||
|
||||
self.helppart = '.help' if self.offline_help else ''
|
||||
|
||||
# If the build was called by queried name, build from latest release available but build with the most generic name
|
||||
myver = str.join('.', self.version.split('.')[0:2])
|
||||
self.genappversion = myver + self.languagepart + self.helppart
|
||||
self.appversion = self.version + self.languagepart + self.helppart
|
||||
for arch in ARCHSTD:
|
||||
self.genappimagefilename[arch] = self.appname + '-' + self.genappversion + f'-{arch}.AppImage'
|
||||
self.appimagefilename[arch] = self.appname + '-' + self.appversion + f'-{arch}.AppImage'
|
||||
# Call the build for queries
|
||||
self.version_strings()
|
||||
|
||||
for arch in self.arch:
|
||||
# For generalized builds, we need to check if there are .ver file
|
||||
|
@ -193,7 +202,8 @@ class Build(object):
|
|||
os.chmod('appimagetool', 0o755)
|
||||
|
||||
# Build the requested version.
|
||||
if self.queried_name:
|
||||
if self.queried_name and not self.portable:
|
||||
# If it is portable, do not generate a generalized version
|
||||
self.__unpackbuild__(arch, True)
|
||||
self.__unpackbuild__(arch)
|
||||
|
||||
|
@ -274,22 +284,27 @@ class Build(object):
|
|||
# updatable version.
|
||||
# zsync name was generated already
|
||||
|
||||
# Dealing with extra options
|
||||
buildopts = []
|
||||
if self.sign:
|
||||
buildopts.append('--sign')
|
||||
|
||||
# If asked to do a generalized build:
|
||||
if generalize:
|
||||
subprocess.run("VERSION={version} ./appimagetool -u 'zsync|{zsync}' -v ./{appname}.AppDir/".format(version = self.genappversion, zsync = self.genappimagefilename[arch] + '.zsync', appname = self.appname), shell=True)
|
||||
subprocess.run("VERSION={version} ./appimagetool {buildopts} -u 'zsync|{zsync}' -v ./{appname}.AppDir/".format(version = self.genappversion, buildopts = str.join(' ', buildopts), zsync = self.genappimagefilename[arch] + '.zsync', appname = self.appname), shell=True)
|
||||
# Build version file management
|
||||
with open(self.genappimagefilename[arch] + '.ver', 'w') as v:
|
||||
v.write(self.version)
|
||||
else:
|
||||
subprocess.run("VERSION={version} ./appimagetool -u 'zsync|{zsync}' -v ./{appname}.AppDir/".format(version = self.appversion, zsync = self.appimagefilename[arch] + '.zsync', appname = self.appname), shell=True)
|
||||
subprocess.run("VERSION={version} ./appimagetool {buildopts} -u 'zsync|{zsync}' -v ./{appname}.AppDir/".format(version = self.appversion, buildopts = str.join(' ', buildopts), zsync = self.appimagefilename[arch] + '.zsync', appname = self.appname), shell=True)
|
||||
|
||||
else:
|
||||
if generalize:
|
||||
subprocess.run("VERSION={version} ./appimagetool -v ./{appname}.AppDir/".format(version = self.genappversion, appname = self.appname), shell=True)
|
||||
subprocess.run("VERSION={version} ./appimagetool {buildopts} -v ./{appname}.AppDir/".format(version = self.genappversion, buildopts = str.join(' ', buildopts), appname = self.appname), shell=True)
|
||||
with open(self.genappimagefilename[arch] + '.ver', 'w') as v:
|
||||
v.write(self.version)
|
||||
else:
|
||||
subprocess.run("VERSION={version} ./appimagetool -v ./{appname}.AppDir/".format(version = self.appversion, appname = self.appname), shell=True)
|
||||
subprocess.run("VERSION={version} ./appimagetool {buildopts} -v ./{appname}.AppDir/".format(version = self.appversion, buildopts = str.join(' ', buildopts), appname = self.appname), shell=True)
|
||||
|
||||
print("Built AppImage version {version}".format(version = self.appversion))
|
||||
|
||||
|
|
Reference in a new issue