From 3812696d61af91f02b53e0d546c170f8cafbc964 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B3=D0=BE=D1=80?= <148970641+Egor00f@users.noreply.github.com> Date: Sat, 7 Dec 2024 00:26:48 +0500 Subject: [PATCH 1/6] Create CONTRIBUTING.md --- CONTRIBUTING.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..92c83c0 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,3 @@ +# Как законтрибьютить? + +просто форкаешь репозиторий, делаешь нужные изменения, делаешь запрос на слияние, ждёшь принятия запроса From adf0f3a62ab45fb030fa1e9191919179aba114d7 Mon Sep 17 00:00:00 2001 From: Egor00f Date: Sat, 28 Dec 2024 17:46:12 +0500 Subject: [PATCH 2/6] fix `Permisiion deined` for lds scripts --- install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 89502aa..dd8a44c 100755 --- a/install.sh +++ b/install.sh @@ -156,8 +156,9 @@ fi sudo chmod 775 $TOOLCHAIN_DIR/win32/bin/* sudo chmod 774 $TOOLCHAIN_DIR/win32/include/* -sudo chmod -R 775 /home/autobuild/tools/win32/lib/gcc sudo chmod 774 $TOOLCHAIN_DIR/win32/lib/* +sudo chmod 774 $TOOLCHAIN_DIR/win32/mingw32/lib/* +sudo chmod -R 775 /home/autobuild/tools/win32/lib/gcc cd "$OLDPWD" From 9f5b23a58674fbfafab964575ab2fc24bb8d6587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B3=D0=BE=D1=80?= <148970641+Egor00f@users.noreply.github.com> Date: Sat, 28 Dec 2024 13:53:35 +0000 Subject: [PATCH 3/6] hide 7z output in deb package --- CMakeLists.txt | 2 +- install.sh | 6 +++--- package/DEBIAN/control | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 62faa24..0c778b9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 3.10) +CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12) project( KolibriOS-gcc-Toolchain-installer diff --git a/install.sh b/install.sh index dd8a44c..fa87be4 100755 --- a/install.sh +++ b/install.sh @@ -76,7 +76,7 @@ print_ok "Successfully!" print_msg "Extracting files ..." cd $TOOLCHAIN_DIR -sudo 7z x -y kos32-toolchain.7z +sudo 7z x -y -bso0 -bsp0 kos32-toolchain.7z sudo rm -rf kos32-toolchain.7z print_ok "Successfully!" @@ -87,7 +87,7 @@ print_msg "Downloading libraries..." cd $TOOLCHAIN_DIR/win32/mingw32 sudo wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -q -O sdk-28-10-16.7z -sudo 7z x -y sdk-28-10-16.7z +sudo 7z x -y -bso0 -bsp0 sdk-28-10-16.7z sudo rm -rf sdk-28-10-16.7z print_ok "Successfully!" @@ -109,7 +109,7 @@ print_msg "Downloading libisl..." cd /tmp sudo wget http://board.kolibrios.org/download/file.php?id=8301libisl.so.10.2.2.7z -q -O /tmp/libisl.so.10.2.2.7z -sudo 7z x -y libisl.so.10.2.2.7z +sudo 7z x -y -bso0 -bsp0 libisl.so.10.2.2.7z if ! [ -d /usr/lib/x86_64-linux-gnu/ ]; then sudo mkdir -p /usr/lib/x86_64-linux-gnu/ diff --git a/package/DEBIAN/control b/package/DEBIAN/control index b2acc75..cfd9eef 100755 --- a/package/DEBIAN/control +++ b/package/DEBIAN/control @@ -1,5 +1,5 @@ Package: kos32-gcc -Version: 0.1.5 +Version: 0.1.6 Architecture: all Section: devel Depends: libc6-i386:amd64, libmpc3:amd64 From 3fe69b35df13d2867803ab7fadae3450884755af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B3=D0=BE=D1=80?= <148970641+Egor00f@users.noreply.github.com> Date: Wed, 8 Jan 2025 09:17:21 +0000 Subject: [PATCH 4/6] fix downloading all sdk dir from kolibrios build && toolchain for x86_64 -> deb package for amd64 only && update install.bat && add more colors to install.sh --- install.bat | 12 +++--------- install.sh | 19 ++++++++----------- package/DEBIAN/control | 4 ++-- package/DEBIAN/postrm | 6 +++--- 4 files changed, 16 insertions(+), 25 deletions(-) diff --git a/install.bat b/install.bat index c5568e9..b4b2567 100644 --- a/install.bat +++ b/install.bat @@ -49,15 +49,9 @@ Call :print_msg Updating libraries cd %TOOLCHAIN_DIR%\win32\mingw32\lib -wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libdll.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libdll.a -wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libfreetype.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libfreetype.a -wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libc.dll.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libc.dll.a -wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libSDLn.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libSDLn.a -wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libcurses.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libcurses.a -wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libz.dll.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libz.dll.a -wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libogg.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libogg.a -wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libvorbis.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libvorbis.a -wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libopenjpeg.a -O %TOOLCHAIN_DIR%\win32\mingw32\lib\libopenjpeg.a +wget -r --no-parent http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/ +move /-y builds.kolibrios.org\en_US\data\contrib\sdk\lib\* .\ +rd /s /q builds.kolibrios.org Call :print_ok Successfully! diff --git a/install.sh b/install.sh index fa87be4..1b056a9 100755 --- a/install.sh +++ b/install.sh @@ -5,6 +5,11 @@ # modified by Egor00f (Egor) set -e +pwd + +DEFAULT_TOOLCHAIN_DIR="/home/autobuild/tools" + +TOOLCHAIN_DIR=$DEFAULT_TOOLCHAIN_DIR print_msg(){ echo -e "\e[34m$1\e[0m" @@ -29,22 +34,14 @@ check_utils(){ fi } -pwd - -DEFAULT_TOOLCHAIN_DIR="/home/autobuild/tools" - -TOOLCHAIN_DIR=$DEFAULT_TOOLCHAIN_DIR - -MESSAGE="Toolchain install path(default is $TOOLCHAIN_DIR): " - -echo -n $MESSAGE +echo -n -e "\e[0m Toolchain install path \e[90m(default is $TOOLCHAIN_DIR): \e[97m" read INPUT if [[ ! -z "$INPUT" ]]; then TOOLCHAIN_DIR=$INPUT fi -echo "Installing toolchain to $TOOLCHAIN_DIR" +echo -e "\e[0mInstalling toolchain to \e[97m$TOOLCHAIN_DIR\e[0m" print_msg "Checking utilities..." @@ -97,7 +94,7 @@ print_ok "Successfully!" print_msg "Updating libraries" cd lib -sudo wget -r --no-parent -q http://builds.kolibrios.org/en_US/data/contrib/sdk/lib +sudo wget -r --no-parent -q http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/ sudo mv builds.kolibrios.org/en_US/data/contrib/sdk/lib/* ./ sudo rm -R builds.kolibrios.org diff --git a/package/DEBIAN/control b/package/DEBIAN/control index cfd9eef..9cd3714 100755 --- a/package/DEBIAN/control +++ b/package/DEBIAN/control @@ -1,6 +1,6 @@ Package: kos32-gcc -Version: 0.1.6 -Architecture: all +Version: 0.1.7 +Architecture: amd64 Section: devel Depends: libc6-i386:amd64, libmpc3:amd64 Pre-Depends: p7zip-full, wget diff --git a/package/DEBIAN/postrm b/package/DEBIAN/postrm index 20eddeb..f4be720 100755 --- a/package/DEBIAN/postrm +++ b/package/DEBIAN/postrm @@ -2,11 +2,11 @@ TOOLCHAIN_DIR=$(head -n 1 /etc/kos32-gcc/install-path) + + MESSAGE="PATH=\$PATH:$TOOLCHAIN_DIR/win32/bin" -if grep -q '$MESSAGE' /etc/profile; then - sudo sed -i '/$MESSAGE/d' /etc/profile -fi +sudo sed -i '/$MESSAGE/d' /etc/profile rm /etc/kos32-gcc -R From 79af1f9411ff974a6bad26c7eb4e0a85a1982ae1 Mon Sep 17 00:00:00 2001 From: Egor00f Date: Wed, 8 Jan 2025 15:54:39 +0500 Subject: [PATCH 5/6] fix windows installer --- .gitignore | 1 + README.md | 6 +++++- bat/cleanArchives.bat | 4 ++++ bat/downloadLibraries.bat | 6 ++++++ bat/downloadToolchain.bat | 5 +++++ bat/updateLibraries.bat | 5 +++++ install.bat | 22 ++++++---------------- installator.iss | 15 +++++++++++---- 8 files changed, 43 insertions(+), 21 deletions(-) create mode 100644 bat/cleanArchives.bat create mode 100644 bat/downloadLibraries.bat create mode 100644 bat/downloadToolchain.bat create mode 100644 bat/updateLibraries.bat diff --git a/.gitignore b/.gitignore index bd75751..76081ad 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ build/ chocolatey/kos32-gcc*.nupkg chocolatey/install.ps1 chocolatey/tools/install.ps1 +bat/builds.kolibrios.org diff --git a/README.md b/README.md index a041ab3..708735f 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,11 @@ wget для windows можно поискать в GnuWin32 например, 7z Нужно добавить в PATH. -Тулчейн по умолчанию устанавливается в папку `C:/MinGW/msys/1.0/home/autobuild/tools/win32`, но вы можете изменить путь добавив аргумент - путь установки(пустой - путь по умолчанию). +Тулчейн по умолчанию устанавливается в папку `C:/MinGW/msys/1.0/home/autobuild/tools/win32`, но вы можете изменить путь добавив аргумент - путь установки(пустой - путь по умолчанию). Например: + +``` +install.bat Path +``` ## Сборка установщиков diff --git a/bat/cleanArchives.bat b/bat/cleanArchives.bat new file mode 100644 index 0000000..e10ab8a --- /dev/null +++ b/bat/cleanArchives.bat @@ -0,0 +1,4 @@ +set TOOLCHAIN_DIR=%1 + +del /Q %TOOLCHAIN_DIR%\kos32-toolchain.7z +del /Q %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z diff --git a/bat/downloadLibraries.bat b/bat/downloadLibraries.bat new file mode 100644 index 0000000..bf3f12b --- /dev/null +++ b/bat/downloadLibraries.bat @@ -0,0 +1,6 @@ +set TOOLCHAIN_DIR=%1 + + +wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -O %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z + +7z x -y %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z -o%TOOLCHAIN_DIR%\win32\mingw32 diff --git a/bat/downloadToolchain.bat b/bat/downloadToolchain.bat new file mode 100644 index 0000000..07b02eb --- /dev/null +++ b/bat/downloadToolchain.bat @@ -0,0 +1,5 @@ +set TOOLCHAIN_DIR=%1 + +wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/msys-kos32-5.4.0.7z -O %TOOLCHAIN_DIR%\kos32-toolchain.7z + +7z x -y %TOOLCHAIN_DIR%\kos32-toolchain.7z -o%TOOLCHAIN_DIR% diff --git a/bat/updateLibraries.bat b/bat/updateLibraries.bat new file mode 100644 index 0000000..6de8aba --- /dev/null +++ b/bat/updateLibraries.bat @@ -0,0 +1,5 @@ +set TOOLCHAIN_DIR=%1 + +wget -r --no-parent http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/ +move /y builds.kolibrios.org\en_US\data\contrib\sdk\lib\* %TOOLCHAIN_DIR%\win32\mingw32\lib +rd /s /q builds.kolibrios.org diff --git a/install.bat b/install.bat index b4b2567..1cfbe58 100644 --- a/install.bat +++ b/install.bat @@ -1,4 +1,4 @@ -@echo off +rem@echo off for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a" @@ -12,6 +12,7 @@ else ( set TOOLCHAIN_DIR=%1 ) +echo %TOOLCHAIN_DIR% Call :print_msg Create the %TOOLCHAIN_DIR% folder... @@ -20,14 +21,11 @@ mkdir %TOOLCHAIN_DIR% Call :print_ok Successfully! +cd bat call :print_msg Download the kos32-gcc toolchain... -cd %TOOLCHAIN_DIR% - -wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/msys-kos32-5.4.0.7z -O %TOOLCHAIN_DIR%\kos32-toolchain.7z - -7z x -y %TOOLCHAIN_DIR%\kos32-toolchain.7z -o%TOOLCHAIN_DIR% +downloadToolchain %TOOLCHAIN_DIR% Call :print_ok Successfully! @@ -35,11 +33,7 @@ Call :print_ok Successfully! Call :print_msg Downloading libraries... -cd %TOOLCHAIN_DIR%\win32\mingw32 - -wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -O %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z - -7z x -y %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z +downloadLibraries.bat %TOOLCHAIN_DIR% Call :print_ok Successfully! @@ -47,11 +41,7 @@ Call :print_ok Successfully! Call :print_msg Updating libraries -cd %TOOLCHAIN_DIR%\win32\mingw32\lib - -wget -r --no-parent http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/ -move /-y builds.kolibrios.org\en_US\data\contrib\sdk\lib\* .\ -rd /s /q builds.kolibrios.org +updateLibraries %TOOLCHAIN_DIR% Call :print_ok Successfully! diff --git a/installator.iss b/installator.iss index 0942d36..ee0a4f9 100644 --- a/installator.iss +++ b/installator.iss @@ -65,18 +65,25 @@ Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environmen Check: NeedsAddPath('{app}\win32\bin') [Files] -Source: ".\install.ps1"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: ".\bat\downloadToolchain.bat"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: ".\bat\downloadLibraries.bat"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: ".\bat\updateLibraries.bat"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs + ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Run] -Filename: "{app}\install.ps1"; description: "install script"; StatusMsg: "Installing toolchain"; Parameters: "-InstallPath {app}"; Flags: runhidden logoutput +Filename: "{app}\downloadToolchain.bat"; description: "install toolchain script"; StatusMsg: "Installing toolchain"; Parameters: "{app}"; Flags: runhidden logoutput +Filename: "{app}\downloadLibraries.bat"; description: "download libraries script"; StatusMsg: "Download libraries"; Parameters: "{app}"; Flags: runhidden logoutput +Filename: "{app}\updateLibraries.bat"; description: "update libraries script"; StatusMsg: "Updating libraries"; Parameters: "{app}"; Flags: runhidden logoutput +Filename: "{app}\cleanArchives.bat"; description: "Delete downloaded archives script"; StatusMsg: "Delete downloaded archives"; Parameters: "{app}"; Flags: runhidden logoutput [Icons] Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}" Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" [UninstallDelete] -Type: files; Name: "{app}\*" +Type: files; Name: "{app}" +Type: filesandordirs; Name: "{app}\win32" [Code] function NeedsAddPath(Param: string): boolean; @@ -93,4 +100,4 @@ begin { look for the path with leading and trailing semicolon } { Pos() returns 0 if not found } Result := Pos(';' + Param + ';', ';' + OrigPath + ';') = 0; -end; \ No newline at end of file +end; From fc8b049a0bab9315484b2fd9f36f95056663d115 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B3=D0=BE=D1=80?= <148970641+Egor00f@users.noreply.github.com> Date: Sat, 18 Jan 2025 11:05:40 +0500 Subject: [PATCH 6/6] Update install.sh --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 1b056a9..908a442 100755 --- a/install.sh +++ b/install.sh @@ -34,7 +34,7 @@ check_utils(){ fi } -echo -n -e "\e[0m Toolchain install path \e[90m(default is $TOOLCHAIN_DIR): \e[97m" +echo -n -e "\e[0mToolchain install path \e[90m(default is $TOOLCHAIN_DIR)\e[97m: " read INPUT if [[ ! -z "$INPUT" ]]; then