[PATCH] D129263: Windows packaging script. Check administrator permissions and/or 7-Zip version.
Carlos Alberto Enciso via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 8 04:57:18 PDT 2022
CarlosAlbertoEnciso updated this revision to Diff 443213.
CarlosAlbertoEnciso added a comment.
Change the test for administrator permissions by using the `mklink` command.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D129263/new/
https://reviews.llvm.org/D129263
Files:
llvm/utils/release/build_llvm_release.bat
Index: llvm/utils/release/build_llvm_release.bat
===================================================================
--- llvm/utils/release/build_llvm_release.bat
+++ llvm/utils/release/build_llvm_release.bat
@@ -16,6 +16,30 @@
:begin
+REM Note:
+REM 7zip versions 21.x and higher will try to extract the symlinks in
+REM llvm's git archive, which requires running as administrator.
+
+REM Unique temporal filename to use by the 'mklink' command.
+set "link_name=%temp%\%username%_%random%_%random%.tmp"
+
+REM Check for correct 7-zip version and/or administrator permissions.
+for /f "delims=" %%i in ('7z.exe ^| findstr /r "2[1-9].[0-9][0-9]"') do set version=%%i
+if not "%version%"=="" (
+ REM As the 'mklink' requires elevated permissions, the symbolic link
+ REM creation will fail if the script is not running as administrator.
+ mklink /d "%link_name%" . 1>nul 2>nul
+ if errorlevel 1 (
+ echo.
+ echo Script requires administrator permissions, or a 7-zip version 20.x or older.
+ echo Current version is "%version%"
+ exit /b
+ ) else (
+ REM Remove the temporal symbolic link.
+ rd "%link_name%"
+ )
+)
+
REM Prerequisites:
REM
REM Visual Studio 2019, CMake, Ninja, GNUWin32, SWIG, Python 3,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D129263.443213.patch
Type: text/x-patch
Size: 1270 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220708/0c7fe679/attachment.bin>
More information about the llvm-commits
mailing list