diff options
Diffstat (limited to 'g_common/g_common.py')
-rw-r--r-- | g_common/g_common.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/g_common/g_common.py b/g_common/g_common.py index 17742bc..90fecfa 100644 --- a/g_common/g_common.py +++ b/g_common/g_common.py @@ -89,17 +89,23 @@ def generate_tree(repo_location): driver_conf=read_driver_config(repo_conf['driver']) ebuild_file=settings.COMMON_EBUILD_FILE #get from settings + import hashlib + ebuild_digest=hashlib.sha1(open(ebuild_file).read()).hexdigest() + Manifest="EBUILD %s SHA1 "+ebuild_digest packages_list_pipe=subprocess.Popen(driver_conf['exec']+' '+repo_location+' list-packages',shell=True,stdout=subprocess.PIPE) os.waitpid(packages_list_pipe.pid,0) for line in packages_list_pipe.stdout: category=line[:line.find("/")] package=line[line.find("/")+1:line.find(" ")] - version=line[line.find(" ")+1:] + version=line[line.find(" ")+1:-1] ebuild_dir=os.path.join(repo_location,category,package) if not os.path.exists(ebuild_dir): os.makedirs(ebuild_dir) - os.symlink(ebuild_file,os.path.join(ebuild_dir,package+'-'+version+'.ebuild')) + package_file=package+'-'+version+'.ebuild' + os.symlink(ebuild_file,os.path.join(ebuild_dir,package_file)) + manifest_file=open(os.path.join(ebuild_dir,'Manifest'),"w") + manifest_file.write(Manifest % package_file) #list package details, in PMS's format def action_package(repo_location,package_name): |