def upload_release(args, rel_prep, logwrite=lambda x:None): """ Given a path of a relase make tarball out of it, PGP sign it, and then upload it to kernel.org using kup. The linux-next based release do not require a RELMOD_UPDATE given that typically only one release is made per day. Using RELMOD_UPDATE for these releases is allowed though and if present it must be > 1. The linux-stable based releases require a RELMOD_UPDATE. RELMOD_UPDATE must be numeric and > 0 just as the RC releases of the Linux kernel. The tree must also be tagged with the respective release, without the RELMOD_TYPE. For linux-next based releases this consists of backports- followed by DATE_VERSION and if RELMOD_TYPE is present. For linux-stable releases this consists of v followed by the full release version except the RELMOD_TYPE. Uploads will not be allowed if these rules are not followed. """ korg_path = "/pub/linux/kernel/projects/backports" if (rel_prep['stable']): korg_path += "/stable" parent = os.path.dirname(args.bpid.project_dir) release = os.path.basename(args.bpid.project_dir) tar_name = parent + '/' + release + ".tar" gzip_name = tar_name + ".gz" create_tar_and_gz(tar_name, args.bpid.project_dir) logwrite(gpg.sign(tar_name, extra_args=['--armor', '--detach-sign'])) logwrite("------------------------------------------------------") if (not args.kup_test): logwrite("About to upload, current target path contents:") else: logwrite("kup-test: current target path contents:") logwrite(kup.ls(path=korg_path)) for path in rel_prep['paths_to_create']: korg_path += '/' + path if (not args.kup_test): logwrite("create directory: %s" % korg_path) logwrite(kup.mkdir(korg_path)) korg_path += '/' if (not args.kup_test): logwrite("upload file %s to %s" % (gzip_name, korg_path)) logwrite(kup.put(gzip_name, tar_name + '.asc', korg_path)) logwrite("\nFinished upload!\n") logwrite("Target path contents:") logwrite(kup.ls(path=korg_path)) else: kup_cmd = "kup put /\n\t\t%s /\n\t\t%s /\n\t\t%s" % (gzip_name, tar_name + '.asc', korg_path) logwrite("kup-test: skipping cmd: %s" % kup_cmd)
def upload_release(args, rel_prep, logwrite=lambda x:None): """ Given a path of a relase make tarball out of it, PGP sign it, and then upload it to kernel.org using kup. The linux-next based release do not require a RELMOD_UPDATE given that typically only one release is made per day. Using RELMOD_UPDATE for these releases is allowed though and if present it must be > 1. The linux-stable based releases require a RELMOD_UPDATE. RELMOD_UPDATE must be numeric and > 0 just as the RC releases of the Linux kernel. The tree must also be tagged with the respective release, without the RELMOD_TYPE. For linux-next based releases this consists of backports- followed by DATE_VERSION and if RELMOD_TYPE is present. For linux-stable releases this consists of v followed by the full release version except the RELMOD_TYPE. Uploads will not be allowed if these rules are not followed. """ korg_path = "/pub/linux/kernel/projects/backports" if (rel_prep['stable']): korg_path += "/stable" parent = os.path.dirname(args.outdir) release = os.path.basename(args.outdir) tar_name = parent + '/' + release + ".tar" gzip_name = tar_name + ".gz" create_tar_and_gz(tar_name, args.outdir) logwrite(gpg.sign(tar_name, extra_args=['--armor', '--detach-sign'])) logwrite("------------------------------------------------------") if (not args.kup_test): logwrite("About to upload, current target path contents:") else: logwrite("kup-test: current target path contents:") logwrite(kup.ls(path=korg_path)) for path in rel_prep['paths_to_create']: korg_path += '/' + path if (not args.kup_test): logwrite("create directory: %s" % korg_path) logwrite(kup.mkdir(korg_path)) korg_path += '/' if (not args.kup_test): logwrite("upload file %s to %s" % (gzip_name, korg_path)) logwrite(kup.put(gzip_name, tar_name + '.asc', korg_path)) logwrite("\nFinished upload!\n") logwrite("Target path contents:") logwrite(kup.ls(path=korg_path)) else: kup_cmd = "kup put /\n\t\t%s /\n\t\t%s /\n\t\t%s" % (gzip_name, tar_name + '.asc', korg_path) logwrite("kup-test: skipping cmd: %s" % kup_cmd)