From 32aeb4f6308229768f7d37e97e5dcaafe44981ae Mon Sep 17 00:00:00 2001 From: Bruno Date: Sat, 16 Nov 2024 10:13:43 -0300 Subject: [PATCH] build/windows: Make .ps1 scripts produce checksums in common format --- build/windows/installer/3_dist-gimp-inno.ps1 | 12 ++++++++---- build/windows/store/3_dist-gimp-winsdk.ps1 | 17 +++++++++++------ 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/build/windows/installer/3_dist-gimp-inno.ps1 b/build/windows/installer/3_dist-gimp-inno.ps1 index b9eec110f0..51dc077cff 100644 --- a/build/windows/installer/3_dist-gimp-inno.ps1 +++ b/build/windows/installer/3_dist-gimp-inno.ps1 @@ -207,15 +207,19 @@ Remove-Item "$INNO_PATH\Languages\Unofficial" -Recurse -Force if ($GITLAB_CI) { # GitLab doesn't support wildcards when using "expose_as" so let's move to a dir - $output_dir = 'build\windows\installer\_Output' + $output_dir = "$GIMP_BASE\build\windows\installer\_Output" New-Item $output_dir -ItemType Directory | Out-Null Move-Item $GIMP_BASE\$INSTALLER $output_dir - # Generate checksums + # Generate checksums in common "sha*sum" format if ($CI_COMMIT_TAG) { Write-Output "(INFO): generating checksums for $INSTALLER" - Get-FileHash $output_dir\$INSTALLER -Algorithm SHA256 | Out-File $output_dir\$INSTALLER.SHA256SUMS - Get-FileHash $output_dir\$INSTALLER -Algorithm SHA512 | Out-File $output_dir\$INSTALLER.SHA512SUMS + # (We use .NET directly because 'sha*sum' does NOT support BOM from pre-PS6 'Set-Content') + $Utf8NoBomEncoding = New-Object -TypeName System.Text.UTF8Encoding -ArgumentList $False + [System.IO.File]::WriteAllText("$output_dir\$INSTALLER.SHA256SUMS", "$((Get-FileHash $output_dir\$INSTALLER -Algorithm SHA256 | Select-Object -ExpandProperty Hash).ToLower()) *$INSTALLER", $Utf8NoBomEncoding) + #Set-Content $output_dir\$INSTALLER.SHA256SUMS "$((Get-FileHash $output_dir\$INSTALLER -Algorithm SHA256 | Select-Object -ExpandProperty Hash).ToLower()) *$INSTALLER" -Encoding utf8NoBOM -NoNewline + [System.IO.File]::WriteAllText("$output_dir\$INSTALLER.SHA512SUMS", "$((Get-FileHash $output_dir\$INSTALLER -Algorithm SHA512 | Select-Object -ExpandProperty Hash).ToLower()) *$INSTALLER", $Utf8NoBomEncoding) + #Set-Content $output_dir\$INSTALLER.SHA512SUMS "$((Get-FileHash $output_dir\$INSTALLER -Algorithm SHA512 | Select-Object -ExpandProperty Hash).ToLower()) *$INSTALLER" -Encoding utf8NoBOM -NoNewline } } diff --git a/build/windows/store/3_dist-gimp-winsdk.ps1 b/build/windows/store/3_dist-gimp-winsdk.ps1 index ce388e682d..85315b475e 100644 --- a/build/windows/store/3_dist-gimp-winsdk.ps1 +++ b/build/windows/store/3_dist-gimp-winsdk.ps1 @@ -366,18 +366,23 @@ if (-not $CI_COMMIT_TAG -and ($GIMP_CI_MS_STORE -notlike 'MSIXUPLOAD*') -and ($M if ($GITLAB_CI) { # GitLab doesn't support wildcards when using "expose_as" so let's move to a dir - New-Item build\windows\store\_Output -ItemType Directory | Out-Null - Move-Item $MSIX_ARTIFACT build\windows\store\_Output + $output_dir = "$PWD\build\windows\store\_Output" + New-Item $output_dir -ItemType Directory | Out-Null + Move-Item $MSIX_ARTIFACT $output_dir if (-not $CI_COMMIT_TAG -and ($GIMP_CI_MS_STORE -notlike 'MSIXUPLOAD*')) { - Get-ChildItem pseudo-gimp.pfx | Move-Item -Destination build\windows\store\_Output + Get-ChildItem pseudo-gimp.pfx | Move-Item -Destination $output_dir } - # Generate checksums + # Generate checksums in common "sha*sum" format if ($CI_COMMIT_TAG) { Write-Output "(INFO): generating checksums for $MSIX_ARTIFACT" - Get-FileHash build\windows\store\_Output\$MSIX_ARTIFACT -Algorithm SHA256 | Out-File build\windows\store\_Output\$MSIX_ARTIFACT.SHA256SUMS - Get-FileHash build\windows\store\_Output\$MSIX_ARTIFACT -Algorithm SHA512 | Out-File build\windows\store\_Output\$MSIX_ARTIFACT.SHA512SUMS + # (We use .NET directly because 'sha*sum' does NOT support BOM from pre-PS6 'Set-Content') + $Utf8NoBomEncoding = New-Object -TypeName System.Text.UTF8Encoding -ArgumentList $False + [System.IO.File]::WriteAllText("$output_dir\$MSIX_ARTIFACT.SHA256SUMS", "$((Get-FileHash $output_dir\$MSIX_ARTIFACT -Algorithm SHA256 | Select-Object -ExpandProperty Hash).ToLower()) *$MSIX_ARTIFACT", $Utf8NoBomEncoding) + #Set-Content $output_dir\$MSIX_ARTIFACT.SHA256SUMS "$((Get-FileHash $output_dir\$MSIX_ARTIFACT -Algorithm SHA256 | Select-Object -ExpandProperty Hash).ToLower()) *$MSIX_ARTIFACT" -Encoding utf8NoBOM -NoNewline + [System.IO.File]::WriteAllText("$output_dir\$MSIX_ARTIFACT.SHA512SUMS", "$((Get-FileHash $output_dir\$MSIX_ARTIFACT -Algorithm SHA512 | Select-Object -ExpandProperty Hash).ToLower()) *$MSIX_ARTIFACT", $Utf8NoBomEncoding) + #Set-Content $output_dir\$MSIX_ARTIFACT.SHA512SUMS "$((Get-FileHash $output_dir\$MSIX_ARTIFACT -Algorithm SHA512 | Select-Object -ExpandProperty Hash).ToLower()) *$MSIX_ARTIFACT" -Encoding utf8NoBOM -NoNewline } }