diff -Nru kernelstub-3.1.4~1657319181~20.04~bdefe03/debian/changelog kernelstub-3.1.4~1658498801~20.04~41819bb/debian/changelog --- kernelstub-3.1.4~1657319181~20.04~bdefe03/debian/changelog 2022-07-08 22:26:21.000000000 +0000 +++ kernelstub-3.1.4~1658498801~20.04~41819bb/debian/changelog 2022-07-22 14:06:41.000000000 +0000 @@ -1,10 +1,10 @@ -kernelstub (3.1.4~1657319181~20.04~bdefe03) focal; urgency=medium +kernelstub (3.1.4~1658498801~20.04~41819bb) focal; urgency=medium * Auto Build * Do live mode check immediately after parsing config - -- Pop OS (ISO Signing Key) Fri, 8 Jul 2022 16:26:21 -0600 + -- Pop OS (ISO Signing Key) Fri, 22 Jul 2022 08:06:41 -0600 kernelstub (3.1.3) eoan; urgency=medium diff -Nru kernelstub-3.1.4~1657319181~20.04~bdefe03/kernelstub/installer.py kernelstub-3.1.4~1658498801~20.04~41819bb/kernelstub/installer.py --- kernelstub-3.1.4~1657319181~20.04~bdefe03/kernelstub/installer.py 2022-07-08 22:26:21.000000000 +0000 +++ kernelstub-3.1.4~1658498801~20.04~41819bb/kernelstub/installer.py 2022-07-22 14:06:41.000000000 +0000 @@ -22,7 +22,7 @@ terms. """ -import os, shutil, logging +import os, shutil, logging, platform, gzip from pathlib import Path @@ -118,10 +118,17 @@ self.log.debug('kernel being copied to %s' % self.kernel_dest) try: - self.copy_files( - self.opsys.kernel_path, - self.kernel_dest, - simulate=simulate) + arch = platform.machine() + if arch == "arm64" or arch == "aarch64": + self.gunzip_files( + self.opsys.kernel_path, + self.kernel_dest, + simulate=simulate) + else: + self.copy_files( + self.opsys.kernel_path, + self.kernel_dest, + simulate=simulate) except FileOpsError as e: self.log.exception( @@ -237,6 +244,23 @@ self.log.debug(e) return False + def gunzip_files(self, src, dest, simulate): # Decompress file src to dest + if simulate: + self.log.info('Simulate decompressing: %s => %s' % (src, dest)) + return True + else: + try: + self.log.debug('Decompressing: %s => %s' % (src, dest)) + with gzip.open(src, 'rb') as in_obj: + with open(dest, 'wb') as out_obj: + shutil.copyfileobj(in_obj, out_obj) + return True + except Exception as e: + self.log.debug(e) + raise FileOpsError("Could not decompress one or more files.") + return False + + def copy_files(self, src, dest, simulate): # Copy file src into dest if simulate: self.log.info('Simulate copying: %s => %s' % (src, dest))