Server IP : 172.67.158.161 / Your IP : 18.117.77.73 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/ |
Upload File : |
# frozen_string_literal: true module Puppet::Util::Package def versioncmp(version_a, version_b, ignore_trailing_zeroes = false) vre = /[-.]|\d+|[^-.\d]+/ if ignore_trailing_zeroes version_a = normalize(version_a) version_b = normalize(version_b) end ax = version_a.scan(vre) bx = version_b.scan(vre) while (ax.length>0 && bx.length>0) a = ax.shift b = bx.shift next if a == b return -1 if a == '-' return 1 if b == '-' return -1 if a == '.' return 1 if b == '.' if a =~ /^\d+$/ && b =~ /^\d+$/ return a.to_s.upcase <=> b.to_s.upcase if a =~ /^0/ || b =~ /^0/ return a.to_i <=> b.to_i end return a.upcase <=> b.upcase end version_a <=> version_b end module_function :versioncmp def self.normalize(version) version = version.split('-') version.first.sub!(/([\.0]+)$/, '') version.join('-') end private_class_method :normalize end