def get_external_deps(conf_obj, archive=False): if archive: external_url_path = "../../../../external_packages" else: external_url_path = "../../external_packages" return_text = "" external_rpms = glob.glob("../external_packages/%s/*.rpm" % conf_obj.name) external_src_rpms = glob.glob("../external_packages/%s/*.src.rpm" % conf_obj.name) # For the RPMS if external_rpms: return_text += "<h3>External Dependencies</h3>\n" return_text += "<ul>\n" for i in external_rpms: i = os.path.basename(i) if re.compile("\.src\.rpm").search(i): continue (NAME, DESC) = rpm_utils.rpm_query(['NAME', 'SUMMARY'], '../external_packages/%s/%s' % (conf_obj.name, i)) return_text += "<li><a href='%s/%s/%s'>%s</a> -- %s</li>\n" % ( external_url_path, conf_obj.name, i, NAME, DESC) return_text += "</ul>\n" # For the source RPMS if external_src_rpms: return_text += "<p>Source RPMS: \n" for i in external_src_rpms: i = os.path.basename(i) NAME = rpm_utils.rpm_query( 'NAME', '../external_packages/%s/%s' % (conf_obj.name, i)) return_text += "<a href='%s/%s/%s'>%s</a> \n" % ( external_url_path, conf_obj.name, i, NAME) return_text += "</p>\n" return return_text
def get_external_deps(conf_obj, archive=False): if archive: external_url_path = "../../../../external_packages" else: external_url_path = "../../external_packages" return_text = "" external_rpms = glob.glob("../external_packages/%s/*.rpm" % conf_obj.name) external_src_rpms = glob.glob("../external_packages/%s/*.src.rpm" % conf_obj.name) # For the RPMS if external_rpms: return_text += "<h3>External Dependencies</h3>\n" return_text += "<ul>\n" for i in external_rpms: i = os.path.basename(i) if re.compile("\.src\.rpm").search(i): continue (NAME, DESC) = rpm_utils.rpm_query(['NAME', 'SUMMARY'], '../external_packages/%s/%s' % (conf_obj.name, i) ) return_text += "<li><a href='%s/%s/%s'>%s</a> -- %s</li>\n" % (external_url_path, conf_obj.name, i, NAME, DESC) return_text += "</ul>\n" # For the source RPMS if external_src_rpms: return_text += "<p>Source RPMS: \n" for i in external_src_rpms: i = os.path.basename(i) NAME = rpm_utils.rpm_query('NAME', '../external_packages/%s/%s' % (conf_obj.name, i) ) return_text += "<a href='%s/%s/%s'>%s</a> \n" % (external_url_path, conf_obj.name, i, NAME) return_text += "</p>\n" return return_text
# If there are more than one rpms to be in the zip file if len(RPMS) > 1 and not skip_zip: print "Creating zip: " + zipname # rpms are compressed anyways -- doing any compression is a waste of time os.system("zip -j -0 %s %s" % (zip_filename, " ".join(RPMS))) out.write( "<p><a href='%s.zip'><img src='%s/zip-icon.png' />All of these RPMs in a ZIP file</a></p>\n" % (zipname, webroot_path)) out.write("<ul>\n") arc_out.write("<ul>\n") for i in RPMS: (NAME, DESC) = rpm_utils.rpm_query(['NAME', 'SUMMARY'], i) out.write("<li><a href='../../%s/%s'>%s</a> -- %s</li>\n" % (package_src_url, i, NAME, DESC)) arc_out.write( "<li><a href='../../../../%s/%s'>%s</a> -- %s</li>\n" % (package_src_url, i, NAME, DESC)) out.write("</ul>\n") arc_out.write("</ul>\n") # Print links to spec files if len(SPECS) == 0: continue out.write("<p>RPM Spec files: \n") arc_out.write("<p>RPM Spec files: \n")
os.unlink(zip_filename) # If there are more than one rpms to be in the zip file if len(RPMS) > 1 and not skip_zip: print "Creating zip: " + zipname # rpms are compressed anyways -- doing any compression is a waste of time os.system("zip -j -0 %s %s" % (zip_filename, " ".join(RPMS)) ) out.write("<p><a href='%s.zip'><img src='%s/zip-icon.png' />All of these RPMs in a ZIP file</a></p>\n" % (zipname, webroot_path)) out.write("<ul>\n") arc_out.write("<ul>\n") for i in RPMS: (NAME, DESC) = rpm_utils.rpm_query(['NAME', 'SUMMARY'], i) out.write("<li><a href='../../%s/%s'>%s</a> -- %s</li>\n" % (package_src_url, i, NAME, DESC) ) arc_out.write("<li><a href='../../../../%s/%s'>%s</a> -- %s</li>\n" % (package_src_url, i, NAME, DESC) ) out.write("</ul>\n") arc_out.write("</ul>\n") # Print links to spec files if len(SPECS) == 0: continue out.write("<p>RPM Spec files: \n") arc_out.write("<p>RPM Spec files: \n") for i in SPECS: NAME = os.path.basename(i) out.write("<a href='../../%s/%s'>%s</a> \n" % (package_src_url, i, NAME) )
for pack in packages_in_repo: pack_obj = packaging.package(distro_obj, os.path.basename(pack), bundle_obj=bundle_conf, package_basepath=package_src_dir) # Only if package is valid on this distro if pack_obj.valid_use_platform(distro_obj.name): rpms += pack_obj.get_files(fail_on_missing=False) # Get external rpms for rpm_file in glob.glob(os.path.join(package_src_dir, '..', 'external_packages', distro_obj.name, "*.rpm")): # Skip source rpms if not re.compile('\.src\.rpm').search(rpm_file): rpms.append(os.path.normpath(rpm_file)) # Create hard links for all rpms for file in rpms: arch_dir = distro_obj.name + os.sep + rpm_utils.rpm_query('ARCH', file) if not os.path.exists(arch_dir): distutils.dir_util.mkpath(arch_dir) # Hrm... seems the shutil.rmtree didn't work... ? link = arch_dir + os.sep + os.path.basename(file) if not os.path.exists(link): os.link(file, link) # Start creating repositories if utils.get_dict_var('RPM_MD_REPO', distro_obj.info): if os.system("createrepo " + distro_obj.name): print "Error. (Is createrepo installed?)" sys.exit(1) if utils.get_dict_var('YUM_INSTALL', distro_obj.info):
# Only if package is valid on this distro if pack_obj.valid_use_platform(distro_obj.name): rpms += pack_obj.get_files(fail_on_missing=False) # Get external rpms for rpm_file in glob.glob( os.path.join(package_src_dir, '..', 'external_packages', distro_obj.name, "*.rpm")): # Skip source rpms if not re.compile('\.src\.rpm').search(rpm_file): rpms.append(os.path.normpath(rpm_file)) # Create hard links for all rpms for file in rpms: arch_dir = distro_obj.name + os.sep + rpm_utils.rpm_query( 'ARCH', file) if not os.path.exists(arch_dir): distutils.dir_util.mkpath(arch_dir) # Hrm... seems the shutil.rmtree didn't work... ? link = arch_dir + os.sep + os.path.basename(file) if not os.path.exists(link): os.link(file, link) # Start creating repositories if utils.get_dict_var('RPM_MD_REPO', distro_obj.info): if os.system("createrepo " + distro_obj.name): print "Error. (Is createrepo installed?)" sys.exit(1) if utils.get_dict_var('YUM_INSTALL', distro_obj.info):