mirror of
https://github.com/Egor00f/kolibrios-gcc-toolchain.git
synced 2025-09-20 18:00:07 +02:00
add debian offline and online package
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,7 +1,4 @@
|
|||||||
Output/
|
Output/
|
||||||
package/DEBIAN/postinst
|
|
||||||
package/DEBIAN/copyright
|
|
||||||
package.deb
|
|
||||||
build/
|
build/
|
||||||
chocolatey/kos32-gcc*.nupkg
|
chocolatey/kos32-gcc*.nupkg
|
||||||
chocolatey/install.ps1
|
chocolatey/install.ps1
|
||||||
|
@@ -32,25 +32,43 @@ add_custom_target(
|
|||||||
)
|
)
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
deb
|
extract_linux
|
||||||
COMMAND mkdir -p ${CMAKE_CURRENT_SOURCE_DIR}/package/usr/lib/x86_64-linux-gnu
|
COMMENT "Extract linux archives"
|
||||||
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/install.sh ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postinst
|
COMMAND 7z x ${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2.7z
|
||||||
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/copyright
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
COMMAND 7z x ${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2.7z -o ${CMAKE_CURRENT_SOURCE_DIR}/package/usr/lib/x86_64-linux-gnu/libisl.so.10.2.2
|
)
|
||||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN
|
|
||||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/control
|
add_custom_target(
|
||||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/prerm
|
configureDebPackage
|
||||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postinst
|
COMMENT "Setup debian package"
|
||||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postrm
|
COMMAND cp -rf ${CMAKE_CURRENT_SOURCE_DIR}/package/ ${CMAKE_CURRENT_BINARY_DIR}/package
|
||||||
COMMAND chmod 775 ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/copyright
|
COMMAND chmod -R 775 ${CMAKE_CURRENT_BINARY_DIR}/package
|
||||||
COMMAND dpkg-deb --build ${CMAKE_CURRENT_SOURCE_DIR}/package ${CMAKE_CURRENT_BINARY_DIR}/package.deb
|
COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/package/usr/lib/x86_64-linux-gnu
|
||||||
|
COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/package/home/autobuild/tools
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
SOURCES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/package/
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
add_custom_target(
|
||||||
|
debOffline
|
||||||
|
COMMAND cp -f ${CMAKE_CURRENT_BINARY_DIR}/libisl.so.10.2.2 ${CMAKE_CURRENT_BINARY_DIR}/package/usr/lib/x86_64-linux-gnu/libisl.so.10.2.2
|
||||||
|
COMMAND cp -f ${CMAKE_CURRENT_BINARY_DIR}/kos32-toolchain-linux.7z ${CMAKE_CURRENT_BINARY_DIR}/package/home/autobuild/tools
|
||||||
|
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"
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_target(
|
||||||
|
debOnline
|
||||||
|
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/install.sh ${CMAKE_CURRENT_BINARY_DIR}/package/DEBIAN/postinst
|
||||||
|
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE ${CMAKE_CURRENT_BINARY_DIR}/package/DEBIAN/copyright
|
||||||
|
COMMAND dpkg-deb --build ${CMAKE_CURRENT_BINARY_DIR}/package ${CMAKE_CURRENT_BINARY_DIR}/package.deb
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
COMMENT "Build deb package"
|
COMMENT "Build deb package"
|
||||||
SOURCES
|
SOURCES
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/install.sh
|
${CMAKE_CURRENT_SOURCE_DIR}/install.sh
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/LICENSE
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/control
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postrm
|
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
@@ -74,7 +92,17 @@ add_custom_target(
|
|||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(
|
add_dependencies(
|
||||||
deb
|
debOnline
|
||||||
|
configureDebPackage
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
debOffline
|
||||||
|
configureDebPackage
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
configureDebPackage
|
||||||
download_linux
|
download_linux
|
||||||
)
|
)
|
||||||
|
|
||||||
|
140
package/DEBIAN/postinst
Executable file
140
package/DEBIAN/postinst
Executable file
@@ -0,0 +1,140 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Written by turbocat2001 (Maxim Logaev)
|
||||||
|
# Installation steps described by maxcodehack (Maxim Kuzmitsky)
|
||||||
|
# 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"
|
||||||
|
}
|
||||||
|
|
||||||
|
print_ok(){
|
||||||
|
echo -e "\e[32m$1\e[0m"
|
||||||
|
}
|
||||||
|
|
||||||
|
print_err(){
|
||||||
|
echo -e "\e[31m$1\e[0m"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
check_utils(){
|
||||||
|
printf "%s: " $1
|
||||||
|
if command -v $1 &> /dev/null
|
||||||
|
then
|
||||||
|
print_ok "ok\r"
|
||||||
|
else
|
||||||
|
print_err "no\r"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
echo -n -e "\e[0mToolchain install path \e[90m(default is $TOOLCHAIN_DIR)\e[97m: "
|
||||||
|
read INPUT
|
||||||
|
|
||||||
|
if [[ ! -z "$INPUT" ]]; then
|
||||||
|
TOOLCHAIN_DIR=$INPUT
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "\e[0mInstalling toolchain to \e[97m$TOOLCHAIN_DIR\e[0m"
|
||||||
|
|
||||||
|
|
||||||
|
print_msg "Checking utilities..."
|
||||||
|
|
||||||
|
check_utils wget
|
||||||
|
check_utils 7z
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
print_msg "Create the toolchain folders..."
|
||||||
|
|
||||||
|
sudo mkdir -p $DEFAULT_TOOLCHAIN_DIR
|
||||||
|
sudo mkdir -p $TOOLCHAIN_DIR
|
||||||
|
|
||||||
|
print_ok "Successfully!"
|
||||||
|
|
||||||
|
print_msg "Extracting files ..."
|
||||||
|
|
||||||
|
sudo 7z x -y /home/autobuild/tools/kos32-toolchain-linux.7z -o$TOOLCHAIN_DIR
|
||||||
|
sudo rm -rf /home/autobuild/tools/kos32-toolchain-linux.7z
|
||||||
|
|
||||||
|
print_ok "Successfully!"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
print_msg "Downloading libraries..."
|
||||||
|
|
||||||
|
cd $TOOLCHAIN_DIR/win32/mingw32
|
||||||
|
sudo 7z x -y -bso0 -bsp0 sdk-28-10-16.7z
|
||||||
|
sudo rm -rf sdk-28-10-16.7z
|
||||||
|
|
||||||
|
print_ok "Successfully!"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
print_msg "Updating libraries"
|
||||||
|
|
||||||
|
cd lib
|
||||||
|
|
||||||
|
print_ok "Successfully!"
|
||||||
|
|
||||||
|
|
||||||
|
if ! [ -d /usr/lib/x86_64-linux-gnu/ ]; then
|
||||||
|
sudo mkdir -p /usr/lib/x86_64-linux-gnu/
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo ln -sf /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2 /usr/lib/x86_64-linux-gnu/libisl.so.10
|
||||||
|
sudo ln -sf /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2 /usr/lib/libisl.so.10
|
||||||
|
sudo chmod go-w /usr/lib/x86_64-linux-gnu/libisl.so.10
|
||||||
|
sudo chmod go-w /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2
|
||||||
|
|
||||||
|
print_ok "Successfully!"
|
||||||
|
|
||||||
|
|
||||||
|
print_msg "Fixing libmpfr..."
|
||||||
|
|
||||||
|
sudo ln -sf /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4
|
||||||
|
sudo ln -sf /usr/lib/libmpfr.so.6 /usr/lib/libmpfr.so.4
|
||||||
|
|
||||||
|
print_ok "Successfully!"
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$TOOLCHAIN_DIR" != "$DEFAULT_TOOLCHAIN_DIR" ]; then
|
||||||
|
sudo ln -sf $TOOLCHAIN_DIR/win32 $DEFAULT_TOOLCHAIN_DIR
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
MESSAGE="PATH=\$PATH:$TOOLCHAIN_DIR/win32/bin"
|
||||||
|
|
||||||
|
EXPORT_MESSSAGE="export $MESSAGE"
|
||||||
|
|
||||||
|
if [ ! "$(id -u)" -ne 0 ]
|
||||||
|
then
|
||||||
|
echo $MESSAGE >> /etc/profile
|
||||||
|
|
||||||
|
sudo mkdir -p /etc/kos32-gcc
|
||||||
|
echo $TOOLCHAIN_DIR > /etc/kos32-gcc/install-path
|
||||||
|
else
|
||||||
|
if ! grep -q $EXPORT_MESSSAGE ~/.bashrc; then
|
||||||
|
print_msg "Adding '$TOOLCHAIN_DIR/win32/bin' to '~/.bashrc'"
|
||||||
|
echo '$EXPORT_MESSSAGE' >> ~/.bashrc
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo chmod 775 $TOOLCHAIN_DIR/win32/bin/*
|
||||||
|
sudo chmod 774 $TOOLCHAIN_DIR/win32/include/*
|
||||||
|
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"
|
||||||
|
|
||||||
|
export PATH=$PATH:$TOOLCHAIN_DIR/win32/bin
|
||||||
|
|
||||||
|
print_ok "Installation was successful!"
|
Reference in New Issue
Block a user