=begin create_setup_ini.rb: Create setup.ini of Cygwin Setup for installation of Dennou Ruby Product binary packages Time-stamp: <2007-06-01 01:33:52 koshiro> Copyright (C) 2004-2007 GFD Dennou Club Dennou Ruby Project =end module NumRu module Cygwin class Package @@cyg_dir = Dir.pwd def self.cygwin_dir=(cyg_dir) @@cyg_dir = cyg_dir end attr_reader :name, :sdesc, :req, :categ, :fname, :ver, :install def initialize(name, sdesc="", req="") @name = name @sdesc = (sdesc == "") ? "" : "\"" + sdesc + " \"" @sdesc = "\"" + sdesc + " \"" @req = req if /^Removed package/ =~ sdesc @categ = "_obsolete" rel_dir = "release/_obsolete" else @categ = "Dennou-Ruby" rel_dir = "release" end dirname = File.join(@@cyg_dir, "#{rel_dir}/#{@name}") fnames = Dir.glob(File.join(dirname, "#{@name}-*.tar.bz2")) vers = [] fnames.each{|fn| ver = File.basename(fn.sub("#{rel_dir}/#{@name}/#{@name}-",""),".tar.bz2").split("-") ver[0] = ver[0].split(".") fnbase = fn.sub(@@cyg_dir+"/","") if vers[0] latest = 0 vers.each{|v| for i in 0...(v[0].length) if !ver[0][i] latest = -1 puts fnbase + "," + "!ver[0][i]" break elsif (ver[0][i].to_i)<(v[0][i].to_i) latest = -1 puts fnbase + "," + ver[0][i] + "," + v[0][i] + "," + "(ver[0][i].to_i)<(v[0][i].to_i)" break elsif (ver[0][i].to_i)>(v[0][i].to_i) latest = 1 break end end if latest == 0 if v[0].length < ver[0].length latest = 1 end end if latest == 0 if ((ver[1].to_i)<(v[1].to_i)) latest = -1 puts fnbase + "," + ver[1] + "," + v[1] + "," + "ver[1]