Skip to content

Commit 8043fd8

Browse files
authored
When appropriate, don't upgrade OpenSSL with pacman -Syuu (#4)
1 parent 0161ad4 commit 8043fd8

File tree

3 files changed

+21
-7
lines changed

3 files changed

+21
-7
lines changed

.github/workflows/windows-build-tools.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
include:
5151
- { gcc: mingw64 , ruby: mingw }
5252
- { gcc: ucrt64 , ruby: ucrt }
53-
- { gcc: ucrt64-3.0 , ruby: head }
53+
- { gcc: ucrt64-3.0 , ruby: 3.2 }
5454
steps:
5555
- name: Checkout
5656
uses: actions/checkout@v3

common.rb

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -315,16 +315,19 @@ def refresh_keys
315315
end
316316
end
317317

318-
def pacman_syuu
318+
def pacman_syuu(ignore = nil)
319+
319320
usr_bin = "#{MSYS2_ROOT}/usr/bin"
320321

321322
exit 1 unless system "#{usr_bin}/sed -i 's/^CheckSpace/#CheckSpace/g' C:/msys64/etc/pacman.conf"
322323

323-
exec_check 'Updating all installed packages', "#{PACMAN} -Syuu --noconfirm"
324+
ignore = ignore ? "--ignore #{ignore}" : nil
325+
326+
exec_check 'Updating all installed packages', "#{PACMAN} -Syuu --noconfirm #{ignore}"
324327

325328
system 'taskkill /f /fi "MODULES eq msys-2.0.dll"'
326329

327-
exec_check 'Updating all installed packages (2nd pass)', "#{PACMAN} -Syuu --noconfirm"
330+
exec_check 'Updating all installed packages (2nd pass)', "#{PACMAN} -Syuu --noconfirm #{ignore}"
328331

329332
system 'taskkill /f /fi "MODULES eq msys-2.0.dll"'
330333

create_gcc_pkg.rb

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,19 +61,30 @@ def openssl_upgrade
6161
exec_check "Install OpenSSL Upgrade", "pacman.exe -Udd --noconfirm --noprogressbar #{PKG_PRE}#{pkg_name}"
6262

6363
# copy previous dlls back into MSYS2 folder
64-
old_dlls.each { |fn| FileUtils.cp fn , "#{dll_root}/#{fn}" }
64+
old_dlls.each do |fn|
65+
unless File.exist? "#{dll_root}/#{fn}"
66+
FileUtils.cp fn , "#{dll_root}/#{fn}"
67+
end
68+
end
6569
end
6670

6771
def install_gcc
72+
6873
args = '--noconfirm --noprogressbar --needed'
6974
# zlib required by gcc, gdbm for older Rubies
7075
base_gcc = %w[make pkgconf libmangle-git tools-git gcc]
71-
base_ruby = %w[gdbm gmp libffi libyaml openssl ragel readline]
76+
base_ruby = PKG_NAME.end_with?('-3.0') ?
77+
%w[gdbm gmp libffi libyaml ragel readline] :
78+
%w[gdbm gmp libffi libyaml openssl ragel readline]
7279

7380
pkgs = (base_gcc + base_ruby).unshift('').join " #{PKG_PRE}"
7481

7582
# may not be needed, but...
76-
pacman_syuu
83+
if PKG_NAME.end_with?('-3.0')
84+
pacman_syuu "mingw-w64-ucrt-x86_64-openssl"
85+
else
86+
pacman_syuu
87+
end
7788

7889
exec_check "Updating the following #{PKG_PRE[0..-2]} packages:#{RST}\n" \
7990
"#{YEL}#{(base_gcc + base_ruby).join ' '}",

0 commit comments

Comments
 (0)