202 lines
5.4 KiB
Ruby
202 lines
5.4 KiB
Ruby
|
module Opscode
|
||
|
module Mysql
|
||
|
module Helpers
|
||
|
def package_name_for(platform, platform_family, platform_version, version)
|
||
|
keyname = keyname_for(platform, platform_family, platform_version)
|
||
|
PlatformInfo.mysql_info[platform_family][keyname][version]['package_name']
|
||
|
rescue NoMethodError
|
||
|
nil
|
||
|
end
|
||
|
|
||
|
def keyname_for(platform, platform_family, platform_version)
|
||
|
case
|
||
|
when platform_family == 'rhel'
|
||
|
platform == 'amazon' ? platform_version : platform_version.to_i.to_s
|
||
|
when platform_family == 'suse'
|
||
|
platform_version
|
||
|
when platform_family == 'fedora'
|
||
|
platform_version
|
||
|
when platform_family == 'debian'
|
||
|
if platform == 'ubuntu'
|
||
|
platform_version
|
||
|
elsif platform_version =~ /sid$/
|
||
|
platform_version
|
||
|
else
|
||
|
platform_version.to_i.to_s
|
||
|
end
|
||
|
when platform_family == 'smartos'
|
||
|
platform_version
|
||
|
when platform_family == 'omnios'
|
||
|
platform_version
|
||
|
when platform_family == 'freebsd'
|
||
|
platform_version.to_i.to_s
|
||
|
end
|
||
|
rescue NoMethodError
|
||
|
nil
|
||
|
end
|
||
|
end
|
||
|
|
||
|
class PlatformInfo
|
||
|
def self.mysql_info
|
||
|
@mysql_info ||= {
|
||
|
'rhel' => {
|
||
|
'5' => {
|
||
|
'5.0' => {
|
||
|
'package_name' => 'mysql-server'
|
||
|
},
|
||
|
'5.1' => {
|
||
|
'package_name' => 'mysql51-mysql-server'
|
||
|
},
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql55-mysql-server'
|
||
|
}
|
||
|
},
|
||
|
'6' => {
|
||
|
'5.1' => {
|
||
|
'package_name' => 'mysql-server'
|
||
|
},
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql-community-server'
|
||
|
},
|
||
|
'5.6' => {
|
||
|
'package_name' => 'mysql-community-server'
|
||
|
}
|
||
|
},
|
||
|
'7' => {
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql-community-server'
|
||
|
},
|
||
|
'5.6' => {
|
||
|
'package_name' => 'mysql-community-server'
|
||
|
}
|
||
|
},
|
||
|
'2013.03' => {
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql-server'
|
||
|
}
|
||
|
},
|
||
|
'2013.09' => {
|
||
|
'5.1' => {
|
||
|
'package_name' => 'mysql-server'
|
||
|
},
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql-community-server'
|
||
|
},
|
||
|
'5.6' => {
|
||
|
'package_name' => 'mysql-community-server'
|
||
|
}
|
||
|
},
|
||
|
'2014.03' => {
|
||
|
'5.1' => {
|
||
|
'package_name' => 'mysql51-server'
|
||
|
},
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql-community-server'
|
||
|
},
|
||
|
'5.6' => {
|
||
|
'package_name' => 'mysql-community-server'
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
'fedora' => {
|
||
|
'19' => {
|
||
|
'5.5' => {
|
||
|
'package_name' => 'community-mysql-server'
|
||
|
}
|
||
|
},
|
||
|
'20' => {
|
||
|
'5.5' => {
|
||
|
'package_name' => 'community-mysql-server'
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
'suse' => {
|
||
|
'11.3' => {
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql'
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
'debian' => {
|
||
|
'6' => {
|
||
|
'5.1' => {
|
||
|
'package_name' => 'mysql-server-5.1'
|
||
|
}
|
||
|
},
|
||
|
'7' => {
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql-server-5.5'
|
||
|
}
|
||
|
},
|
||
|
'jessie/sid' => {
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql-server-5.5'
|
||
|
}
|
||
|
},
|
||
|
'10.04' => {
|
||
|
'5.1' => {
|
||
|
'package_name' => 'mysql-server-5.1'
|
||
|
}
|
||
|
},
|
||
|
'12.04' => {
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql-server-5.5'
|
||
|
}
|
||
|
},
|
||
|
'13.04' => {
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql-server-5.5'
|
||
|
}
|
||
|
},
|
||
|
'13.10' => {
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql-server-5.5'
|
||
|
}
|
||
|
},
|
||
|
'14.04' => {
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql-server-5.5'
|
||
|
},
|
||
|
'5.6' => {
|
||
|
'package_name' => 'mysql-server-5.6'
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
'smartos' => {
|
||
|
'5.11' => {
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql-server'
|
||
|
},
|
||
|
'5.6' => {
|
||
|
'package_name' => 'mysql-server'
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
'omnios' => {
|
||
|
'151006' => {
|
||
|
'5.5' => {
|
||
|
'package_name' => 'database/mysql-55'
|
||
|
},
|
||
|
'5.6' => {
|
||
|
'package_name' => 'database/mysql-56'
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
'freebsd' => {
|
||
|
'9' => {
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql55-server'
|
||
|
}
|
||
|
},
|
||
|
'10' => {
|
||
|
'5.5' => {
|
||
|
'package_name' => 'mysql55-server'
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|