All pastes #151144 Raw Edit

Someone

public text v1 · immutable
#151144 ·published 2006-08-27 19:02 UTC
rendered paste body
require 'rexml/document'
include REXML



out = {}

freedesktop = REXML::Document.new( File.open( 'freedesktop-2.15.92.modules' ) )
gnome = REXML::Document.new( File.open( 'gnome-2.15.92.modules' ) )
gnutls = REXML::Document.new( File.open( 'gnutls-2.15.92.modules' ) )

freedesktop.root.each_element( 'tarball') { |tarball|
   out[tarball.attributes['id']] = tarball.attributes['version']    
}

gnome.root.each_element( 'tarball') { |tarball|
   out[tarball.attributes['id']] = tarball.attributes['version']    
}


#gnutls.root.each_element( 'tarball') { |tarball|
#   gnutls_out[tarball.attributes[id]] = tarball.attributes[version]    
#}


def find_version(t) 
     File.open(t) do |file|
       	      while line = file.gets.strip!
		    if line.include? "version"
		       str = line.split[2]
		       return str.delete("'")
		       break
		    end
       	      end 
      end
end

def normalize_pkg_name (str)
    case str
    when "mozilla"
    	 return "firefox"
    when "libsigc++2"
    	 return "libsigc++"
    when "gnome-control-center"
    	 return "control-center"
    when "gconf"
    	 return "GConf"
    when "gtk+"
    	 return "gtk"
    when "gdm2"
         return "gdm"
    when "hal-0-5-7"
    	 return "hal"
    when "gnomemm/libgnomeuimm"
    	 return "libgnomeuimm"
    when "gnomemm/libglademm"
    	 return "libglademm"
    when "gnomemm/libgnomecanvasmm"
    	 return "libgnomecanvasmm"
    when "gnomemm/gnome-vfsmm"
    	 return "gnome-vfsmm"
    when "gnomemm/libgnomemm"
    	 return "libgnomemm"
    when "gnomemm/gconfmm"
    	 return "gconfmm"
    else 
    	 return str
    end
end


out.each do |pkg|
	nname = ''
	target = "/home/am/conary/all-1-devel/"
  	nname << normalize_pkg_name(pkg[0])

	target << nname 
	if  File.exist?(target) 
	    existing = find_version(target << '/' << nname<<'.recipe')
	    if existing == pkg[1]
	       p "#{nname}-#{existing} is up-to-date"
	    else
	       p "#{nname} should be #{pkg[1]} but is #{existing}" 
	    end
	else
	    p "#{nname}-#{pkg[1]} seems missing"
	end       
end