diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4f5cbac..d47b633 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,8 +1,13 @@ -name: Test +name: Test packages on: push: branches: [ "main" ] + paths-ignore: + - '.vscode/**' + - '.devcontainer/**' + - '.gitignore' + - 'CONTRIBUTING.md' pull_request: branches: [ "main" ] workflow_dispatch: @@ -98,7 +103,7 @@ jobs: - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: deb-package + name: deb-online-package # Upload entire repository path: './build/package.deb' @@ -148,7 +153,7 @@ jobs: - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: deb-package + name: deb-offline-package # Upload entire repository path: './build/package.deb' diff --git a/.vscode/extensions.json b/.vscode/extensions.json index d801e45..05773af 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,9 +1,6 @@ { "recommendations": [ "chouzz.vscode-innosetup", - "streetsidesoftware.code-spell-checker", - "streetsidesoftware.code-spell-checker-russian", "ms-vscode.cmake-tools", - "github.vscode-github-actions" ] } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index b5ed4a7..b0b7111 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -14,5 +14,4 @@ ".vscode-insiders", "package/DEBIAN" ], - "cmake.parallelJobs": 1 } \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index c33eb8e..7a34aab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,6 +22,9 @@ add_custom_target( COMMAND wget http://board.kolibrios.org/download/file.php?id=8301libisl.so.10.2.2.7z -q -O ${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2.7z WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Download linux toolchain" + BYPRODUCTS + ${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-linux.7z + ${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2.7z ) add_custom_target( @@ -29,6 +32,8 @@ add_custom_target( COMMAND wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/msys-kos32-5.4.0.7z -q -O ${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-win.7z COMMENT "Download windows toolchain" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + BYPRODUCTS + ${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-win.7z ) add_custom_target( @@ -36,6 +41,10 @@ add_custom_target( COMMENT "Extract linux archives" COMMAND 7z x ${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2.7z WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + BYPRODUCTS + ${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2 + DEPENDS + ${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2.7z ) add_custom_target( @@ -48,6 +57,8 @@ add_custom_target( WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/package/ + BYPRODUCTS + ${CMAKE_CURRENT_BINARY_DIR}/package ) @@ -58,6 +69,11 @@ add_custom_target( COMMAND dpkg-deb --build ${CMAKE_CURRENT_BINARY_DIR}/package ${CMAKE_CURRENT_BINARY_DIR}/package.deb WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Build deb offline package" + BYPRODUCTS + ${CMAKE_CURRENT_BINARY_DIR}/package.deb + DEPENDS + ${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2.7z + ${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-linux.7z ) add_custom_target( @@ -69,6 +85,9 @@ add_custom_target( COMMENT "Build deb package" SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/install.sh + ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE + BYPRODUCTS + ${CMAKE_CURRENT_BINARY_DIR}/package.deb ) add_custom_target( @@ -78,9 +97,9 @@ add_custom_target( COMMENT "Build windows installer" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} SOURCES - ${CMAKE_CURRENT_SOURCE_DIR}/installator.iss - ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE - ${CMAKE_CURRENT_SOURCE_DIR}/README.md + ${CMAKE_CURRENT_SOURCE_DIR}/installator.iss + ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE + ${CMAKE_CURRENT_SOURCE_DIR}/README.md ) add_custom_target( @@ -103,6 +122,11 @@ add_dependencies( add_dependencies( configureDebPackage + extract_linux +) + +add_dependencies( + extract_linux download_linux ) diff --git a/README.md b/README.md index a6b86b6..c6897e4 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,9 @@ ### Linux -Просто запустите `install.sh` с аргументом `online`: +Просто запустите `install.sh`: ``` -./install.sh online +./install.sh ``` Некоторые команды требуют sudo. @@ -25,7 +25,7 @@ Желательно чтобы вы перед установкой тулчейна установите msys из установщика MinGW. -Для windows есть установщик(посмотрите в релизах) или просто запустите `install.bat`. Рекомендуется запускать с повышенными правами. +Для windows есть установщик(посмотрите в релизах) или просто запустите `install.bat`. Нужно запускать с повышенными правами. wget для windows можно поискать в GnuWin32 например, 7z Нужно добавить в PATH. @@ -37,9 +37,18 @@ install.bat Path ## Сборка установщиков -Установщики полностью базируются на скриптах установки, так что без разницы что вы будете использовать скрипт или установщик, но установщики могут и удалить тулчейн. +Установщики базируются на скриптах установки, так что без разницы что вы будете использовать скрипт или установщик, но установщики могут и удалить тулчейн. -Установщики собираются с помощью cmake (cmake просто потому что могу). +Установщики собираются с помощью cmake. + +Просто запустите: + +``` +mkdir build +cd build +cmake .. +make <установщик> +``` ### Linux @@ -47,7 +56,7 @@ install.bat Path ### Windows -Для сборки установщиков необходимы `CoreUtils` и `wget` из `GnuWin32`. +Для сборки установщиков необходимы `CoreUtils` и `wget` из `GnuWin32` или ещё откуда то. Установщик собирается с помощью Inno Setup. Цель для сборки Installer. Для сборки требуется компилятор Inno Setup. diff --git a/package/DEBIAN/postrm b/package/DEBIAN/postrm index f4be720..b6db8c0 100755 --- a/package/DEBIAN/postrm +++ b/package/DEBIAN/postrm @@ -8,5 +8,5 @@ MESSAGE="PATH=\$PATH:$TOOLCHAIN_DIR/win32/bin" sudo sed -i '/$MESSAGE/d' /etc/profile -rm /etc/kos32-gcc -R +rm -R /etc/kos32-gcc diff --git a/package/DEBIAN/prerm b/package/DEBIAN/prerm index a58ff21..c15fd43 100755 --- a/package/DEBIAN/prerm +++ b/package/DEBIAN/prerm @@ -2,6 +2,6 @@ TOOLCHAIN_DIR=$(head -n 1 /etc/kos32-gcc/install-path) -rm -R $TOOLCHAIN_DIR +rm -Rf $TOOLCHAIN_DIR -rm -R /home/autobuild +rm -Rf /home/autobuild