mirror of
https://github.com/upa/mscp.git
synced 2026-02-04 03:24:58 +08:00
fix CPACK build dependency
This commit is contained in:
@@ -80,15 +80,19 @@ if(UNIX AND NOT APPLE) # on linux
|
||||
execute_process(COMMAND
|
||||
bash "-c" "cat /etc/os-release|grep '^VERSION_ID='|cut -d '=' -f 2|tr -d '\"'"
|
||||
OUTPUT_VARIABLE DIST_VER OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND
|
||||
bash "-c" "${mscp_SOURCE_DIR}/scripts/print-install-deps.sh ${DIST_NAME}-${DIST_VER}"
|
||||
OUTPUT_VARIABLE DIST_DEP OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
set(PACKAGE_FILE_NAME
|
||||
${PROJECT_NAME}_${PROJECT_VERSION}-${DIST_NAME}-${DIST_VER}-${ARCH})
|
||||
|
||||
set(CPACK_DEBIAN_FILE_NAME ${PACKAGE_FILE_NAME}.deb)
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libssh-4")
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS ${DIST_DEP})
|
||||
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/upa/mscp")
|
||||
|
||||
set(CPACK_RPM_FILE_NAME ${PACKAGE_FILE_NAME}.rpm)
|
||||
set(CPACK_RPM_PACKAGE_REQUIRES "libssh")
|
||||
set(CPACK_RPM_PACKAGE_REQUIRES ${DIST_DEP})
|
||||
set(CPACK_RPM_PACKAGE_HOMEPAGE "https://github.com/upa/mscp")
|
||||
set(CPACK_RPM_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION})
|
||||
endif() # on linux
|
||||
@@ -119,7 +123,7 @@ foreach(x RANGE ${DIST_LISTLEN})
|
||||
|
||||
add_custom_target(docker-build-${DOCKER_INDEX}
|
||||
COMMENT "Build mscp in ${DOCKER_IMAGE} container"
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
WORKING_DIRECTORY ${mscp_SOURCE_DIR}
|
||||
COMMAND
|
||||
docker build -t ${DOCKER_IMAGE} -f docker/${DOCKER_INDEX}.Dockerfile .)
|
||||
|
||||
|
||||
24
README.md
24
README.md
@@ -44,35 +44,27 @@ patch introduces asynchronous SFTP Write, which is derived from
|
||||
https://github.com/limes-datentechnik-gmbh/libssh (see [Re: SFTP Write
|
||||
async](https://archive.libssh.org/libssh/2020-06/0000004.html)).
|
||||
|
||||
- macOS
|
||||
|
||||
```console
|
||||
brew install openssl
|
||||
```
|
||||
|
||||
- ubuntu
|
||||
|
||||
```console
|
||||
sudo apt-get install zlib1g-dev libssl-dev libkrb5-dev
|
||||
```
|
||||
|
||||
Clone and build this repositoy.
|
||||
Currently macOS and Linux (Ubuntu, CentOS, Rocky) are supported.
|
||||
|
||||
```console
|
||||
# 1. clone this repository
|
||||
git clone https://github.com/upa/mscp.git
|
||||
cd mscp
|
||||
|
||||
# prepare patched libssh
|
||||
# 2. install build dependency
|
||||
bash ./scripts/install-build-deps.sh
|
||||
|
||||
# 3. prepare patched libssh
|
||||
git submodule init
|
||||
git submodule update
|
||||
cd libssh && git apply ../patch/libssh-0.10.4.patch
|
||||
|
||||
# configure mscp
|
||||
# 4. configure mscp
|
||||
cd ..
|
||||
mkdir build && mv build
|
||||
cmake ..
|
||||
|
||||
# in macOS, you may need OPENSSL_ROOT_DIR for cmake like:
|
||||
## in macOS, you may need OPENSSL_ROOT_DIR for cmake like:
|
||||
cmake .. -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl
|
||||
|
||||
# build
|
||||
|
||||
@@ -1,18 +1,30 @@
|
||||
#!/bin/bash -e
|
||||
#!/bin/bash -eu
|
||||
#
|
||||
# Install build dpenedencies.
|
||||
|
||||
source /etc/os-release
|
||||
platform=$(uname -s)
|
||||
|
||||
if [ -e /etc/os-release ]; then
|
||||
source /etc/os-release
|
||||
platform=${platform}-${ID}
|
||||
fi
|
||||
|
||||
set -x
|
||||
|
||||
case $ID in
|
||||
ubuntu*)
|
||||
apt-get install -y gcc make cmake libssh-dev
|
||||
case $platform in
|
||||
Darwin)
|
||||
brew install openssl
|
||||
;;
|
||||
centos* | rhel* | rocky*)
|
||||
yum install -y gcc make cmake libssh-devel rpm-build
|
||||
Linux-ubuntu*)
|
||||
sudo apt-get install -y \
|
||||
gcc make cmake zlib1g-dev libssl-dev libkrb5-dev
|
||||
;;
|
||||
Linux-centos* | Linux-rhel* | Linux-rocky*)
|
||||
sudo yum install -y \
|
||||
gcc make cmake zlib-devel openssl-devel rpm-build
|
||||
;;
|
||||
*)
|
||||
echo "unsupported dependency install: $ID"
|
||||
echo "unsupported platform: $platform"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
23
scripts/print-install-deps.sh
Executable file
23
scripts/print-install-deps.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash -e
|
||||
#
|
||||
# Print install dpenedencies on Linux. CMake runs this script to obtain deps for CPACK.
|
||||
# mscp dependes on packages on which libssh depends.
|
||||
|
||||
source /etc/os-release
|
||||
|
||||
release=$1
|
||||
|
||||
case $release in
|
||||
ubuntu-20.04*)
|
||||
echo "libc6 (>= 2.27), libgssapi-krb5-2 (>= 1.17), libssl1.1 (>= 1.1.1), zlib1g (>= 1:1.1.4)"
|
||||
;;
|
||||
ubuntu-22.04*)
|
||||
echo "libc6 (>= 2.33), libgssapi-krb5-2 (>= 1.17), libssl3 (>= 3.0.0~~alpha1), zlib1g (>= 1:1.1.4)"
|
||||
;;
|
||||
centos* | rhel* | rocky*)
|
||||
echo "glibc crypto-policies krb5-libs openssl-libs libcom_err"
|
||||
;;
|
||||
*)
|
||||
echo "unsupported install dependency: $release"
|
||||
exit 1
|
||||
esac
|
||||
Reference in New Issue
Block a user