Revision: 936 Author: teawater Date: Fri Feb 24 07:37:10 2012 Log: Adding release.py http://code.google.com/p/kgtp/source/detail?r=936 Added: /bak/release.py ======================================= --- /dev/null +++ /bak/release.py Fri Feb 24 07:37:10 2012 @@ -0,0 +1,124 @@ +#!/usr/bin/python + +import os + +home = os.path.expandvars('$HOME') + +#Get kernel_src and kernel_b +print("With directory you want to use?") +print("1 "+home+"/kernel/") +print("2 "+home+"/kernel2/") +kernel_dir = "" +while 1: + try: + n = input("select:") + if n == 1: + kernel_dir = home+"/kernel/" + elif n == 2: + kernel_dir = home+"/kernel2/" + else: + continue + except: + continue + break +kernel_src = kernel_dir + "linux/" +kernel_b = kernel_dir + "b/" + +#call command +def callcmd(cmd): + if os.system(cmd) != 0: + raise Exception("Call \""+cmd+"\" got error.") + +#Clear current patch dir +def clear_kernel_src(): + os.chdir(kernel_src) + os.system("quilt pop -a") + callcmd("rm -rf .pc patches") + +def query_continue(): + while 1: + try: + n = raw_input("Continue?") + if n == "y": + break + elif n == "n": + exit(0) + else: + continue + except: + continue + +#update patch +def update_patch(tag, patch): + os.chdir(kernel_src) + callcmd("git checkout "+tag) + callcmd("quilt import ~/kernel/svn/trunk/"+patch) + callcmd("quilt push") + #gtp.c + if patch == "gtp_for_review.patch": + callcmd("kdiff3 lib/gtp.c ~/kernel/svn/trunk/gtp.c") + query_continue() + else: + callcmd("cp ~/kernel/svn/trunk/gtp.c lib/") + fd = open("lib/gtp.c", "r") + buf = fd.read() + fd.close() + buf = buf.replace("__gtp_perf_event_disable", "__perf_event_disable") + buf = buf.replace("__gtp_perf_event_enable", "__perf_event_enable") + buf = buf.replace("gtp_perf_event_enable", "perf_event_enable") + buf = buf.replace("gtp_perf_event_disable", "perf_event_disable") + buf = buf.replace("gtp_perf_event_set", "perf_event_set")+ buf = buf.replace("#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0))\n\t\tif (enable)\n\t\t\tperf_event_enable(pts->event);\n\t\telse\n\t\t\tperf_event_disable(pts->event);\n#else\n\t\tif (enable)\n\t\t\tperf_event_enable(pts->event);\n\t\telse\n\t\t\tperf_event_disable(pts->event);\n#endif", "\t\tif (enable)\n\t\t\tperf_event_enable(pts->event);\n\t\telse\n\t\t\tperf_event_disable(pts->event);")
+ fd = open("lib/gtp.c", "w") + buf = fd.write(buf) + fd.close() + #others + callcmd("cp ~/kernel/svn/trunk/gtp_rb.c lib/") + callcmd("cp ~/kernel/svn/trunk/gtp.txt Documentation/trace/gtp.txt") + callcmd("cp ~/kernel/svn/trunk/gtp_quickstart.txt Documentation/trace/") + if os.path.exists("scripts/getgtprsp.pl"): + callcmd("rm -rf scripts/getgtprsp.pl") + callcmd("quilt add scripts/gtp/getgtprsp.pl") + callcmd("cp ~/kernel/svn/trunk/getgtprsp.pl scripts/gtp/") + if os.path.exists("scripts/getmod.pl"): + callcmd("rm -rf scripts/getmod.py") + callcmd("quilt add scripts/gtp/getmod.py") + callcmd("cp ~/kernel/svn/trunk/getmod.py scripts/gtp/") + callcmd("quilt add scripts/gtp/add-ons/pe.py") + callcmd("cp scripts/gtp/add-ons/ ~/kernel/svn/trunk/add-ons/pe.py") + #try to build + os.chdir(kernel_b) + callcmd("make lib/gtp.o") + if tag == "master" or tag == "v3.0": + callcmd("make kernel/events/core.o") + else: + callcmd("make kernel/perf_event.o") + #copy patch + os.chdir(kernel_src) + callcmd("quilt refresh") + if patch == "gtp_for_review.patch": + callcmd("perl scripts/checkpatch.pl patches/gtp_for_review.patch") + callcmd("diffstat patches/" + patch) + query_continue() + callcmd("cp patches/"+patch+" ~/kernel/svn/trunk/") + +clear_kernel_src() +callcmd("git pull") + +update_patch("v2.6.32", "gtp_older_to_2.6.32.patch") +clear_kernel_src() + +update_patch("v2.6.38", "gtp_2.6.33_to_2.6.38.patch") +clear_kernel_src() + +update_patch("v2.6.39", "gtp_2.6.39.patch") +clear_kernel_src() + +update_patch("v3.0", "gtp_3.0_to_upstream.patch") +clear_kernel_src() + +update_patch("master", "gtp_3.0_to_upstream.patch") +clear_kernel_src() + +update_patch("master", "gtp_for_review.patch") +clear_kernel_src()