1
0
Fork 0

Compare commits

..

No commits in common. "da8adc785fa1e14b53a1d51e0b0a46be3e843883" and "17fb8bb2b2534465a7b4cd072d293159eb59d6a3" have entirely different histories.

View file

@ -21,10 +21,7 @@ class Build(object):
self.updatable = True
self.storage_path = '/srv/http/appimage.sys42.eu'
self.download_path = '/var/tmp/downloads'
self.appversion = ''
self.appimagefilename = {}
self.genappversion = ''
self.genappimagefilename = {}
# Getting versions and so on
v = versions.BuildVersion(self.query)
@ -47,14 +44,17 @@ class Build(object):
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.genappimagefilename[u'x86'] = self.appname + '-' + self.genappversion + self.languagepart + self.helppart + '-x86.AppImage'
self.genappimagefilename[u'x86_64'] = self.appname + '-' + self.genappversion + self.languagepart + self.helppart + '-x86_64.AppImage'
if self.queried_name:
myver = str.join('.', self.version.split('.')[0:2])
self.appimagefilename[u'x86'] = self.appname + '-' + myver + self.languagepart + self.helppart + '-x86.AppImage'
self.appimagefilename[u'x86_64'] = self.appname + '-' + myver + self.languagepart + self.helppart + '-x86_64.AppImage'
else:
self.appimagefilename[u'x86'] = self.appname + '-' + self.version + self.languagepart + self.helppart + '-x86.AppImage'
self.appimagefilename[u'x86_64'] = self.appname + '-' + v.version + self.languagepart + self.helppart + '-x86_64.AppImage'
self.appversion = self.version + self.languagepart + self.helppart
self.appimagefilename[u'x86'] = self.appname + '-' + self.version + self.languagepart + self.helppart + '-x86.AppImage'
self.appimagefilename[u'x86_64'] = self.appname + '-' + self.version + self.languagepart + self.helppart + '-x86_64.AppImage'
def check(self, storage_path):
@ -75,16 +75,6 @@ class Build(object):
self.updatable = False
for arch in self.arch:
# For generalized builds, we need to check if there are .ver file
# and it contains the specific version found.
res = subprocess.check_output("find {path} -name {appimage}'".format(
path = self.storage_path,
appimage = self.genappimagefilename[arch] + '.ver'
), shell=True).decode('utf-8').strip('\n')
for file in res:
if self.version in open(file, 'r').read():
self.built = True
res = subprocess.check_output("find {path} -name '{appimage}'".format(
path = self.storage_path,
appimage = self.appimagefilename[arch]
@ -163,11 +153,9 @@ class Build(object):
os.chmod('appimagetool', 0o755)
# Build the requested version.
if self.queried_name:
self.__unpackbuild__(arch, True)
self.__unpackbuild__(arch)
def __unpackbuild__(self, arch, generalize = False):
def __unpackbuild__(self, arch):
# We start by filtering out tarballs from the list
buildtarballs = [ self.tarballs[arch][0] ]
@ -224,31 +212,23 @@ class Build(object):
urllib.request.urlretrieve(apprunurl, dest)
os.chmod(dest, 0o755)
# Setting app version
appversion = self.version + '.' + (self.language if not ',' in self.language else self.language.replace(',', '-'))
if self.offline_help:
appversion += '.help'
# Building app
if self.updatable:
if self.updatable and self.queried_name:
# Updatable make sense only for generic images for fresh, still,
# daily. If a request was for a specific version, I'd not build an
# updatable version.
# zsync name was generated already
# 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)
# Build version file management
with open(self.appimagefilename[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 -u 'zsync|{zsync}' -v ./{appname}.AppDir/".format(version = appversion, 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)
with open(self.appimagefilename[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 -v ./{appname}.AppDir/".format(version = appversion, appname = self.appname), shell=True)
print("Built AppImage version {version}".format(version = self.appversion))
print("Built AppImage version {version}".format(version = appversion))
# Cleanup phase, before new run.
for deb in glob.glob(self.appnamedir + '/*.deb'):
@ -273,7 +253,7 @@ class Build(object):
return
os.chdir(self.appnamedir)
subprocess.run("find . -iname '*.AppImage*' -exec cp -f {} %s \;" % self.storage_path, shell=True)
subprocess.run("find . -iname '*.AppImage*' -exec cp {} %s \;" % self.storage_path, shell=True)
def __del__(self):
"""Destructor"""