lib/xezat/command/validate.rb in xezat-0.2.2 vs lib/xezat/command/validate.rb in xezat-0.2.3

- old
+ new

@@ -1,10 +1,13 @@ # frozen_string_literal: true require 'net/http' -require 'pkg-config' require 'uri' +require 'xezat/command/validate/config' +require 'xezat/command/validate/license' +require 'xezat/command/validate/pkgconfig' +require 'xezat/cygversion' require 'xezat/packages' require 'xezat/variables' module Xezat module Command @@ -19,25 +22,33 @@ def execute Xezat.logger.debug('Start validating') vars = variables(@cygport) pkgs = packages + gcc_version = Cygversion.new(pkgs[:'gcc-core'].gsub(/^gcc-core-/, '')).version.split('.')[0] + Xezat.logger.debug(' Validate .cygport') validate_cygport(@cygport) Xezat.logger.debug(' Validate category') validate_category(vars[:CATEGORY]) Xezat.logger.debug(' Validate homepage') validate_homepage(vars[:HOMEPAGE]) + Xezat.logger.debug(' Validate licenses') + validate_license(vars) + Xezat.logger.debug(' Validate BUILD_REQUIRES') validate_build_requires(vars[:BUILD_REQUIRES], pkgs) Xezat.logger.debug(' Validate *.pc') - validate_pkgconfig(vars) + validate_pkgconfig(vars, gcc_version) + Xezat.logger.debug(' Validate *-config') + validate_config(vars, gcc_version) + Xezat.logger.debug('End validating') end def validate_cygport(cygport) original_string = File.read(cygport) @@ -52,13 +63,13 @@ def validate_homepage(homepage) response = Net::HTTP.get_response(URI.parse(homepage)) code = response.code if code == '200' - Xezat.logger.debug(" code = #{response.code}") + Xezat.logger.debug(" code = #{code}") else - Xezat.logger.error(" code = #{response.code}") + Xezat.logger.error(" code = #{code}") end rescue OpenSSL::SSL::SSLError => e raise e unless @options[:ignore] Xezat.logger.error(' Ignore SSLError') @@ -75,28 +86,11 @@ Xezat.logger.debug(" #{build_require_pkg}") end end end - def validate_pkgconfig(variables) - pkgconfig_path = File.join(variables[:D], 'usr', 'lib', 'pkgconfig') - PKGConfig.add_path(pkgconfig_path) - Dir.glob('*.pc', 0, base: pkgconfig_path).each do |pc| - basename = File.basename(pc, '.pc') - Xezat.logger.debug(" #{basename}.pc found") - modversion = PKGConfig.modversion(basename) - Xezat.logger.debug(" modversion = #{modversion}") - pv = variables[:PV][0].gsub(/\+.+$/, '') - Xezat.logger.error(" modversion differs from $PN = #{pv}") unless modversion == pv - Xezat.logger.debug(" cflags = #{PKGConfig.cflags(basename)}") - libs = PKGConfig.libs(basename) - Xezat.logger.debug(" libs = #{libs}") - validate_libs(variables, libs) - end - end - - def validate_libs(variables, libs) - lib_dirs = [File.join(variables[:D], '/usr/lib'), '/usr/lib', '/usr/lib/w32api', '/usr/lib/gcc/x86_64-pc-cygwin/11'] + def validate_libs(variables, libs, gcc_version) + lib_dirs = [File.join(variables[:D], '/usr/lib'), '/usr/lib', '/usr/lib/w32api', "/usr/lib/gcc/x86_64-pc-cygwin/#{gcc_version}"] libs.split do |option| if option.start_with?('-l') lib_name = option[2, 255] # Assume file length limit found = false lib_dirs.each do |dir|