lib/xezat/command/validate.rb in xezat-0.2.1 vs lib/xezat/command/validate.rb in xezat-0.2.2
- old
+ new
@@ -1,10 +1,11 @@
# frozen_string_literal: true
require 'net/http'
require 'pkg-config'
require 'uri'
+require 'xezat/packages'
require 'xezat/variables'
module Xezat
module Command
class Validate
@@ -16,20 +17,24 @@
end
def execute
Xezat.logger.debug('Start validating')
vars = variables(@cygport)
+ pkgs = packages
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 BUILD_REQUIRES')
+ validate_build_requires(vars[:BUILD_REQUIRES], pkgs)
+
Xezat.logger.debug(' Validate *.pc')
validate_pkgconfig(vars)
Xezat.logger.debug('End validating')
end
@@ -51,12 +56,29 @@
if code == '200'
Xezat.logger.debug(" code = #{response.code}")
else
Xezat.logger.error(" code = #{response.code}")
end
+ rescue OpenSSL::SSL::SSLError => e
+ raise e unless @options[:ignore]
+
+ Xezat.logger.error(' Ignore SSLError')
end
+ def validate_build_requires(build_requires, pkgs)
+ return if build_requires.nil?
+
+ build_requires.split.each do |build_require|
+ build_require_pkg = pkgs[build_require.to_sym]
+ if build_require_pkg.nil?
+ Xezat.logger.error(" #{build_require} not found")
+ else
+ 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')
@@ -71,10 +93,10 @@
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/10']
+ lib_dirs = [File.join(variables[:D], '/usr/lib'), '/usr/lib', '/usr/lib/w32api', '/usr/lib/gcc/x86_64-pc-cygwin/11']
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|