Commit 62e5118a authored by satmandu's avatar satmandu Committed by GitHub

Fix gcc11 issues, and upgrade issues with gcc10, modify preflight (#5767)

* change rpartition to partition

* bump versions

* don't make more symbolic links

* Add preinstallcheck functionality

* gcc11 builds added

* cleanup preinstallcheck in gcc package files

* change abort verbiage

* add armv7l for gcc10, redo error messages in preinstallcheck

* merge preinstallcheck into preflight

* Run preflight in CREW_DEST_DIR

* preflight adjustment
parent 73d76a52
......@@ -827,6 +827,13 @@ def build_and_preconfigure(target_dir)
end
end
def pre_flight(dest_dir)
Dir.chdir dest_dir do
puts 'Performing pre-flight checks...'
@pkg.preflight
end
end
def pre_install(dest_dir)
Dir.chdir dest_dir do
puts 'Performing pre-install...'
......@@ -954,6 +961,11 @@ def install_package(pkgdir)
end
def resolve_dependencies_and_install
unless @pkg.is_fake?
# Process preflight block to see if package should even
# be downloaded or installed.
pre_flight CREW_DEST_DIR
end
begin
origin = @pkg.name
......@@ -1255,7 +1267,6 @@ def build_command(args)
@pkgName = name
search @pkgName
print_current_package @opt_verbose
@pkg.preflight
resolve_dependencies_and_build
end
end
......@@ -1314,7 +1325,6 @@ def install_command(args)
search @pkgName
print_current_package true
@pkg.build_from_source = true if @opt_src or @opt_recursive
@pkg.preflight
resolve_dependencies_and_install
end
end
......@@ -1351,7 +1361,6 @@ def reinstall_command(args)
@pkg.build_from_source = true if @opt_src or @opt_recursive
if @pkgName
@pkg.in_upgrade = true
@pkg.preflight
resolve_dependencies_and_install
@pkg.in_upgrade = false
end
......
# Defines common constants used in different parts of crew
CREW_VERSION = '1.9.6'
CREW_VERSION = '1.9.7'
ARCH_ACTUAL = `uname -m`.strip
# This helps with virtualized builds on aarch64 machines
......
......@@ -85,7 +85,7 @@ class Package
@is_fake
end
# Function to perform pre-flight operations prior to dependency checks.
# Function for checks to see if install should occur.
def self.preflight
end
......
......@@ -4,28 +4,28 @@ require 'open3'
class Gcc10 < Package
description 'The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Ada, and Go.'
homepage 'https://www.gnu.org/software/gcc/'
version '10.3.0-2'
version '10.3.0-3'
license 'GPL-3'
compatibility 'all'
source_url 'https://ftpmirror.gnu.org/gcc/gcc-10.3.0/gcc-10.3.0.tar.xz'
source_sha256 '64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344'
binary_url({
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc10/10.3.0-2_armv7l/gcc10-10.3.0-2-chromeos-armv7l.tpxz',
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc10/10.3.0-2_armv7l/gcc10-10.3.0-2-chromeos-armv7l.tpxz',
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc10/10.3.0-2_i686/gcc10-10.3.0-2-chromeos-i686.tpxz',
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc10/10.3.0-2_x86_64/gcc10-10.3.0-2-chromeos-x86_64.tpxz'
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc10/10.3.0-3_armv7l/gcc10-10.3.0-3-chromeos-armv7l.tpxz',
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc10/10.3.0-3_armv7l/gcc10-10.3.0-3-chromeos-armv7l.tpxz',
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc10/10.3.0-3_i686/gcc10-10.3.0-3-chromeos-i686.tpxz',
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc10/10.3.0-3_x86_64/gcc10-10.3.0-3-chromeos-x86_64.tpxz'
})
binary_sha256({
aarch64: '658745ec60c4c51902ec8a3b44268051e32675b583e975932d1d04df64e307c2',
armv7l: '658745ec60c4c51902ec8a3b44268051e32675b583e975932d1d04df64e307c2',
i686: '3da3094cba3aa94a3abfe8c80b78ef0fa411b37248b9940cf6892079a1afac28',
x86_64: '0bc7853779446996e267e8142e87bf2e1e989b54fc03813c0cf2350b463bb3fc'
aarch64: '0c7c7fa852a1b95e7cd18c60e5950d8acfe204073e9a4a3ecd13fa715a38b1c4',
armv7l: '0c7c7fa852a1b95e7cd18c60e5950d8acfe204073e9a4a3ecd13fa715a38b1c4',
i686: 'd9648e0d2d042ccb771f215ab7ceaf566e43d64c77c2df4ac8e8c0182ae4ff22',
x86_64: '82d5f5c2c492a39494891f55cb37c7226ac2e3048241964816dceb1c517dd5f1'
})
depends_on 'ccache' => :build
depends_on 'dejagnu' => :build # for test
depends_on 'hashpipe' => :build
# depends_on 'hashpipe' => :build
depends_on 'glibc' # R
depends_on 'gmp' # R
depends_on 'isl' # R
......@@ -33,7 +33,7 @@ class Gcc10 < Package
depends_on 'mpfr' # R
depends_on 'libssp' # L
@gcc_version = version.split('-')[0].rpartition('.')[0]
@gcc_version = version.split('-')[0].partition('.')[0]
@gcc_global_opts = '--disable-bootstrap \
--disable-libmpx \
......@@ -75,7 +75,7 @@ class Gcc10 < Package
@archflags = '--with-arch-32=i686'
end
def self.preinstall
def self.preflight
# Use full gcc path to bypass ccache
stdout_and_stderr, status = Open3.capture2e('bash', '-c',
"#{CREW_PREFIX}/bin/gcc -dumpversion 2>&1 | tail -1 | cut -d' ' -f1")
......@@ -85,8 +85,11 @@ class Gcc10 < Package
unless installed_gccver.to_s == '-dumpversion' ||
installed_gccver.to_s == 'bash:' ||
installed_gccver.to_s == @gcc_version.to_s ||
installed_gccver.rpartition('.')[0].to_s == @gcc_version.rpartition('.')[0].to_s
abort "GCC version #{installed_gccver} already installed.".lightgreen
installed_gccver.partition('.')[0].to_s == @gcc_version.partition('.')[0].to_s
$stderr.puts "GCC version #{installed_gccver} is currently installed.".lightred
$stderr.puts "To use #{self.to_s.downcase} please run:".lightgreen
$stderr.puts "crew remove gcc#{installed_gccver} && crew install #{self.to_s.downcase}".lightgreen
exit 1
end
end
end
......@@ -292,12 +295,6 @@ class Gcc10 < Package
# byte-compile python libraries
system "python -m compileall #{CREW_DEST_PREFIX}/share/gcc-#{@gcc_version}/ || true"
system "python -O -m compileall #{CREW_DEST_PREFIX}/share/gcc-#{@gcc_version} || true"
# Make symbolic links
FileUtils.mkdir_p "#{CREW_DEST_LIB_PREFIX}/#{gcc_dir}"
Dir.chdir "#{CREW_DEST_LIB_PREFIX}/#{gcc_dir}" do
system "find . -type f -maxdepth 1 -exec ln -sv #{gcc_libdir}/{} #{CREW_DEST_LIB_PREFIX}/{} \\;"
end
end
Dir.chdir "#{CREW_DEST_MAN_PREFIX}/man1" do
......
......@@ -4,28 +4,28 @@ require 'open3'
class Gcc11 < Package
description 'The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Ada, and Go.'
homepage 'https://www.gnu.org/software/gcc/'
version '11.1.0-1'
version '11.1.0-2'
license 'GPL-3, LGPL-3, libgcc, FDL-1.2'
compatibility 'all'
source_url 'https://ftpmirror.gnu.org/gcc/gcc-11.1.0/gcc-11.1.0.tar.xz'
source_sha256 '4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf'
binary_url({
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc11/11.1.0-1_armv7l/gcc11-11.1.0-1-chromeos-armv7l.tpxz',
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc11/11.1.0-1_armv7l/gcc11-11.1.0-1-chromeos-armv7l.tpxz',
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc11/11.1.0-1_i686/gcc11-11.1.0-1-chromeos-i686.tpxz',
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc11/11.1.0-1_x86_64/gcc11-11.1.0-1-chromeos-x86_64.tpxz'
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc11/11.1.0-2_armv7l/gcc11-11.1.0-2-chromeos-armv7l.tpxz',
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc11/11.1.0-2_armv7l/gcc11-11.1.0-2-chromeos-armv7l.tpxz',
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc11/11.1.0-2_i686/gcc11-11.1.0-2-chromeos-i686.tpxz',
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gcc11/11.1.0-2_x86_64/gcc11-11.1.0-2-chromeos-x86_64.tpxz'
})
binary_sha256({
aarch64: '47cac6b4a5716b439ba5a4f81f41059c8bd81030c45ea9d729dd998748a9b17f',
armv7l: '47cac6b4a5716b439ba5a4f81f41059c8bd81030c45ea9d729dd998748a9b17f',
i686: 'd5994c92969e4d61320157654ccd1bcd3afcd6c66aa6e89e56b67b15cf06bd30',
x86_64: '9f6b7e180d66506732c52c5a23337e5cdf559721939ade8bde975bcea9ada04b'
aarch64: '5a245c4d158cc0c10fc7468d3fdc09cb5e38dd6a23646ceb658dce887c908dca',
armv7l: '5a245c4d158cc0c10fc7468d3fdc09cb5e38dd6a23646ceb658dce887c908dca',
i686: '9c1e13720a102c62bd0794e4872e9936d73c6c3bcb2934854c32798090035021',
x86_64: '91ed0f513618b8d548928d256e68219046c5dcf6726b79f1d71979e0ae5d64dc'
})
depends_on 'ccache' => :build
depends_on 'dejagnu' => :build # for test
depends_on 'hashpipe' => :build
# depends_on 'hashpipe' => :build
depends_on 'glibc' # R
depends_on 'gmp' # R
depends_on 'isl' # R
......@@ -33,7 +33,7 @@ class Gcc11 < Package
depends_on 'mpfr' # R
depends_on 'libssp' # L
@gcc_version = version.split('-')[0].rpartition('.')[0]
@gcc_version = version.split('-')[0].partition('.')[0]
@gcc_global_opts = '--disable-bootstrap \
--disable-libmpx \
......@@ -75,7 +75,7 @@ class Gcc11 < Package
@archflags = '--with-arch-32=i686'
end
def self.preinstall
def self.preflight
# Use full gcc path to bypass ccache
stdout_and_stderr, status = Open3.capture2e('bash', '-c',
"#{CREW_PREFIX}/bin/gcc -dumpversion 2>&1 | tail -1 | cut -d' ' -f1")
......@@ -85,8 +85,11 @@ class Gcc11 < Package
unless installed_gccver.to_s == '-dumpversion' ||
installed_gccver.to_s == 'bash:' ||
installed_gccver.to_s == @gcc_version.to_s ||
installed_gccver.rpartition('.')[0].to_s == @gcc_version.rpartition('.')[0].to_s
abort "GCC version #{installed_gccver} already installed.".lightgreen
installed_gccver.partition('.')[0].to_s == @gcc_version.partition('.')[0].to_s
$stderr.puts "GCC version #{installed_gccver} is currently installed.".lightred
$stderr.puts "To use #{self.to_s.downcase} please run:".lightgreen
$stderr.puts "crew remove gcc#{installed_gccver} && crew install #{self.to_s.downcase}".lightgreen
exit 1
end
end
end
......@@ -292,12 +295,6 @@ class Gcc11 < Package
# byte-compile python libraries
system "python -m compileall #{CREW_DEST_PREFIX}/share/gcc-#{@gcc_version}/"
system "python -O -m compileall #{CREW_DEST_PREFIX}/share/gcc-#{@gcc_version}"
# Make symbolic links
FileUtils.mkdir_p "#{CREW_DEST_LIB_PREFIX}/#{gcc_dir}"
Dir.chdir "#{CREW_DEST_LIB_PREFIX}/#{gcc_dir}" do
system "find . -type f -maxdepth 1 -exec ln -sv #{gcc_libdir}/{} #{CREW_DEST_LIB_PREFIX}/{} \\;"
end
end
Dir.chdir "#{CREW_DEST_MAN_PREFIX}/man1" do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment