Merge pull request #3 from Egor00f/add-deb-package

create deb package
This commit is contained in:
Егор 2024-11-08 21:05:45 +05:00 committed by GitHub
commit 2346cbda4a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 98 additions and 28 deletions

View File

@ -47,4 +47,29 @@ jobs:
kos32-gcc -v
shell: cmd
build-Installer:
runs-on: windowd-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: |
cmake -B ${{ github.workspace }}/build
cmake --build ${{ github.workspace }}/build --target Installer
build-package:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: |
cmake -B ${{ github.workspace }}/build
cmake --build ${{ github.workspace }}/build --target Package
- name: Install package
run: sudo dpkg -i ${{ github.workspace }}/build/package.deb
- name: Add toolchain to path
run: echo "/home/autobuild/tools/win32/bin" >> $GITHUB_PATH

5
.gitignore vendored
View File

@ -1 +1,4 @@
Output/
Output/
package/DEBIAN/postinst
package.deb
build/

View File

@ -2,6 +2,7 @@
"recommendations": [
"chouzz.vscode-innosetup",
"streetsidesoftware.code-spell-checker",
"streetsidesoftware.code-spell-checker-russian"
"streetsidesoftware.code-spell-checker-russian",
"ms-vscode.cmake-tools"
]
}

View File

@ -4,6 +4,7 @@
"тулчейн",
"тулчейна",
"msys",
"kolibrios"
"kolibrios",
"Egor"
]
}

19
CMakeLists.txt Normal file
View File

@ -0,0 +1,19 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.10)
project(
KolibriOS-gcc-Toolchain-installer
DESCRIPTION "Installer of gcc toolchain for KolibriOS"
)
add_custom_target(
Package
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/install.sh ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postinst
COMMAND dpkg-deb --build ${CMAKE_CURRENT_SOURCE_DIR}/package ${CMAKE_CURRENT_BINARY_DIR}/package.deb
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_custom_target(
Installer
COMMAND iscc /O"${CMAKE_CURRENT_BINARY_DIR}" ${CMAKE_CURRENT_SOURCE_DIR}/installator.iss
)

View File

@ -28,6 +28,10 @@ check_utils(){
fi
}
pwd
TOOLCHAIN_DIR="/home/autobuild/tools"
print_msg "Checking utilities..."
@ -40,9 +44,7 @@ check_utils 7z
print_msg "Create the /home/autobuild folder..."
sudo rm -rf ~/autobuild /home/autobuild
mkdir -p ~/autobuild/tools
sudo ln -sf ~/autobuild /home/autobuild
sudo mkdir -p $TOOLCHAIN_DIR
print_ok "Successfully!"
@ -50,7 +52,7 @@ print_ok "Successfully!"
print_msg "Download the kos32-gcc toolchain..."
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/x86_64-linux-kos32-5.4.0.7z -q -O ~/autobuild/tools/kos32-toolchain.7z
sudo wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/x86_64-linux-kos32-5.4.0.7z -q -O $TOOLCHAIN_DIR/kos32-toolchain.7z
print_ok "Successfully!"
@ -58,9 +60,9 @@ print_ok "Successfully!"
print_msg "Extracting files ..."
cd ~/autobuild/tools/
7z x -y kos32-toolchain.7z
rm -rf kos32-toolchain.7z
cd $TOOLCHAIN_DIR
sudo 7z x -y kos32-toolchain.7z
sudo rm -rf kos32-toolchain.7z
print_ok "Successfully!"
@ -68,10 +70,10 @@ print_ok "Successfully!"
print_msg "Downloading libraries..."
cd ~/autobuild/tools/win32/mingw32
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -q -O sdk-28-10-16.7z
7z x -y sdk-28-10-16.7z
rm -rf sdk-28-10-16.7z
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 rm -rf sdk-28-10-16.7z
print_ok "Successfully!"
@ -80,15 +82,15 @@ print_ok "Successfully!"
print_msg "Updating libraries"
cd lib
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libdll.a -q -O libdll.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libfreetype.a -q -O libfreetype.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libc.dll.a -q -O libc.dll.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libSDLn.a -q -O libSDLn.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libcurses.a -q -O libcurses.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libz.dll.a -q -O libz.dll.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libogg.a -q -O libogg.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libvorbis.a -q -O libvorbis.a
wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libopenjpeg.a -q -O libopenjpeg.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libdll.a -q -O libdll.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libfreetype.a -q -O libfreetype.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libc.dll.a -q -O libc.dll.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libSDLn.a -q -O libSDLn.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libcurses.a -q -O libcurses.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libz.dll.a -q -O libz.dll.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libogg.a -q -O libogg.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libvorbis.a -q -O libvorbis.a
sudo wget http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/libopenjpeg.a -q -O libopenjpeg.a
print_ok "Successfully!"
@ -121,10 +123,12 @@ sudo ln -sf /usr/lib/libmpfr.so.6 /usr/lib/libmpfr.so.4
print_ok "Successfully!"
if ! grep -q 'export PATH=$PATH:/home/autobuild/tools/win32/bin' ~/.bashrc; then
if ! grep -q 'export PATH=$PATH:$TOOLCHAIN_DIR/win32/bin' ~/.bashrc; then
export PATH=$PATH:/home/autobuild/tools/win32/bin
print_msg "Adding '/home/autobuild/tools/win32/bin' to '~/.bashrc'"
echo 'export PATH=$PATH:/home/autobuild/tools/win32/bin' >> ~/.bashrc
print_msg "Adding '$TOOLCHAIN_DIR/win32/bin' to '~/.bashrc'"
echo 'export PATH=$PATH:$TOOLCHAIN_DIR/win32/bin' >> ~/.bashrc
fi
cd "$OLDPWD"
print_ok "Installation was successful!"

View File

@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "KolibriOS gcc toolchain"
#define MyAppVersion "0.1"
#define MyAppVersion "0.1.1"
#define MyAppPublisher "Egor00f"
#define MyAppURL "https://github.com/Egor00f/kolibrios-gcc-toolchain"

14
package/DEBIAN/control Normal file
View File

@ -0,0 +1,14 @@
Package: kos32-gcc
Version: 0.1.1
Architecture: all
Section: devel
Depends: libc6-i386:amd64, libmpc3:amd64
Pre-Depends: p7zip, wget
Recommends: fasm
Priority: optional
Homepage: https://github.com/Egor00f/kolibrios-gcc-toolchain
Origin: http://ftp.kolibrios.org/users/Serge/new/Toolchain
Maintainer: Egor00f <velikiydolbayeb@gmail.com>
Installed-Size: 131708
Description: KolibriOS gcc toolchain installer
This package installing KolibriOS gcc toolchain.

3
package/DEBIAN/postrm Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
rm -R /home/autobuild/tools/win32