Changeset 12654 for packaging/centuryegg

Show
Ignore:
Timestamp:
01/21/11 06:59:42 (16 months ago)
Author:
build
Message:

Some Centos 4 fixes. Support for packaging versions as well as package versions

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • packaging/centuryegg/find-srpms

    r12518 r12654  
    158158for p in packages: 
    159159    min_p_version = None 
     160    min_package_version = 0 
    160161    if ">=" in p: 
    161162        p, min_p_version = p.split(">=") 
    162163        min_p_version = min_p_version.strip() 
     164        if "-" in min_p_version: 
     165            min_p_version, min_package_version = min_p_version.split("-") 
     166            min_package_version = int(min_package_version) 
    163167        min_p_version = [int(m) for m in min_p_version.split(".")] 
    164168    p = p.strip() 
     
    190194            elif min_p_version: 
    191195                s_version = s.replace(p,"") 
     196                s_package_version = s_version.split("-")[2].split(".")[0] 
    192197                s_version = s_version.split("-")[1] 
    193198                sd_version = [] 
     
    201206                        break 
    202207                    elif v > s_version[n]: 
     208                        srpms.remove(s) 
     209                        break 
     210                    elif v == s_version[n] and min_package_version > int(s_package_version): 
    203211                        srpms.remove(s) 
    204212                        break 
     
    225233    package_name = "" 
    226234    defines = {} 
     235    if p == "python-sqlalchemy" and version <= 4: 
     236        # In RedHat 4, strip off the first 8 lines - boolean logic old rpmtools can't handle 
     237        lines = [lines[1]] + lines[8:] 
    227238    for line in lines: 
    228239        if line.startswith("%define"): 
     
    232243            if "-n" not in line: 
    233244                line = line.rstrip("\n") + " -n %{name}-%{version}\n" 
    234         if replace_python and "python " in line and "setup.py" in line: 
     245        if replace_python and "python " in line: 
    235246            line = line.replace("/usr/bin/python ","%{__python} ").replace("python ", "%{__python} ") 
    236247            line_parts = line.split() 
     
    303314                specfile.write("%%{python_sitearch}/matplotlib-*-py%s.egg-info\n" % python_version) 
    304315            continue 
    305         if "_xmlplus" in line and package_name == "PyXML": 
     316        if "_xmlplus" in line and package_name == "PyXML" and version > 4: 
    306317            specfile.write("%%{_libdir}/python%%pyver/site-packages/%s-*-py%s.egg-info\n" % (package_name, python_version)) 
    307318        if "_bindir" in line and package_name == "PyXML": 
     
    319330        if package_name == "protobuf" and "py2.5" in line: 
    320331            line = line.replace("py2.5", "py%s" % python_version) 
     332        if version <= 4 and package_name == "python-sqlalchemy" and "filter_setup" in line or "filter_provides" in line: 
     333            continue 
    321334        specfile.write(line) 
    322335    specfile.close()