mirror of
https://github.com/upa/mscp.git
synced 2026-05-18 01:57:29 +08:00
add install-build-deps.sh and fix docker build procedure
This commit is contained in:
@@ -70,24 +70,24 @@ if(BUILD_PKG)
|
|||||||
# Ubuntu 20.04
|
# Ubuntu 20.04
|
||||||
add_custom_target(package-ubuntu-20.04-in-docker
|
add_custom_target(package-ubuntu-20.04-in-docker
|
||||||
COMMENT "Build mscp in ubuntu 20.04 docker container"
|
COMMENT "Build mscp in ubuntu 20.04 docker container"
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
COMMAND docker build -t mscp-ubuntu:20.04 -f Dockerfile-ubuntu-20.04 .
|
COMMAND docker build -t mscp-ubuntu:20.04 -f docker/Dockerfile-ubuntu-20.04 .
|
||||||
COMMAND docker run -it --rm -v ${CMAKE_BINARY_DIR}:/out mscp-ubuntu:20.04
|
COMMAND docker run -it --rm -v ${CMAKE_BINARY_DIR}:/out mscp-ubuntu:20.04
|
||||||
cp /mscp/build/mscp_${PROJECT_VERSION}-ubuntu-20.04-${ARCH}.deb /out/)
|
cp /mscp/build/mscp_${PROJECT_VERSION}-ubuntu-20.04-${ARCH}.deb /out/)
|
||||||
|
|
||||||
# Ubuntu 22.04
|
# Ubuntu 22.04
|
||||||
add_custom_target(package-ubuntu-22.04-in-docker
|
add_custom_target(package-ubuntu-22.04-in-docker
|
||||||
COMMENT "Build mscp in ubuntu 22.04 docker container"
|
COMMENT "Build mscp in ubuntu 22.04 docker container"
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
COMMAND docker build -t mscp-ubuntu:22.04 -f Dockerfile-ubuntu-22.04 .
|
COMMAND docker build -t mscp-ubuntu:22.04 -f docker/Dockerfile-ubuntu-22.04 .
|
||||||
COMMAND docker run -it --rm -v ${CMAKE_BINARY_DIR}:/out mscp-ubuntu:22.04
|
COMMAND docker run -it --rm -v ${CMAKE_BINARY_DIR}:/out mscp-ubuntu:22.04
|
||||||
cp /mscp/build/mscp_${PROJECT_VERSION}-ubuntu-22.04-${ARCH}.deb /out/)
|
cp /mscp/build/mscp_${PROJECT_VERSION}-ubuntu-22.04-${ARCH}.deb /out/)
|
||||||
|
|
||||||
# CentOS 8
|
# CentOS 8
|
||||||
add_custom_target(package-centos-8-in-docker
|
add_custom_target(package-centos-8-in-docker
|
||||||
COMMENT "Build mscp in centos 8 docker container"
|
COMMENT "Build mscp in centos 8 docker container"
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
COMMAND docker build -t mscp-centos:8 -f Dockerfile-centos-8 .
|
COMMAND docker build -t mscp-centos:8 -f docker/Dockerfile-centos-8 .
|
||||||
COMMAND docker run -it --rm -v ${CMAKE_BINARY_DIR}:/out mscp-centos:8
|
COMMAND docker run -it --rm -v ${CMAKE_BINARY_DIR}:/out mscp-centos:8
|
||||||
cp /mscp/build/mscp_${PROJECT_VERSION}-centos-8-${ARCH}.rpm /out/)
|
cp /mscp/build/mscp_${PROJECT_VERSION}-centos-8-${ARCH}.rpm /out/)
|
||||||
|
|
||||||
|
|||||||
2
docker/.gitignore
vendored
2
docker/.gitignore
vendored
@@ -1,2 +0,0 @@
|
|||||||
*.deb
|
|
||||||
*.rpm
|
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
FROM centos:8
|
FROM centos:8
|
||||||
|
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG mscpdir="/mscp"
|
||||||
ARG workdir="/"
|
|
||||||
|
COPY . ${mscpdir}
|
||||||
|
|
||||||
# from https://stackoverflow.com/questions/70963985/error-failed-to-download-metadata-for-repo-appstream-cannot-prepare-internal
|
# from https://stackoverflow.com/questions/70963985/error-failed-to-download-metadata-for-repo-appstream-cannot-prepare-internal
|
||||||
RUN cd /etc/yum.repos.d/
|
RUN cd /etc/yum.repos.d/
|
||||||
@@ -9,10 +10,15 @@ RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
|
|||||||
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
|
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
|
||||||
|
|
||||||
RUN set -ex && yum -y update && yum -y install \
|
RUN set -ex && yum -y update && yum -y install \
|
||||||
git cmake gcc make libssh-devel rpm-build
|
rpm-build
|
||||||
|
|
||||||
|
RUN ${mscpdir}/install-build-deps.sh
|
||||||
|
|
||||||
|
RUN cd ${mscpdir} \
|
||||||
|
&& rm -rf build
|
||||||
|
|
||||||
|
RUN cd ${mscpdir} \
|
||||||
|
&& cmake -B build -DBUILD_PKG=1 \
|
||||||
|
&& cd ${mscpdir}/build \
|
||||||
|
&&cpack -G RPM CPackConfig.cmake
|
||||||
|
|
||||||
RUN cd ${workdir} \
|
|
||||||
&& git clone --depth=1 https://github.com/upa/mscp \
|
|
||||||
&& mkdir mscp/build && cd mscp/build \
|
|
||||||
&& cmake .. -DBUILD_PKG=1 \
|
|
||||||
&& cpack -G RPM CPackConfig.cmake
|
|
||||||
|
|||||||
@@ -1,13 +1,19 @@
|
|||||||
FROM ubuntu:20.04
|
FROM ubuntu:20.04
|
||||||
|
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
ARG workdir="/"
|
ARG mscpdir="/mscp"
|
||||||
|
|
||||||
|
COPY . ${mscpdir}
|
||||||
|
|
||||||
RUN set -ex && apt-get update && apt-get install -y --no-install-recommends \
|
RUN set -ex && apt-get update && apt-get install -y --no-install-recommends \
|
||||||
git cmake build-essential libssh-dev ca-certificates
|
ca-certificates
|
||||||
|
|
||||||
RUN cd ${workdir} \
|
RUN ${mscpdir}/install-build-deps.sh
|
||||||
&& git clone --depth=1 https://github.com/upa/mscp \
|
|
||||||
&& mkdir mscp/build && cd mscp/build \
|
RUN cd ${mscpdir} \
|
||||||
&& cmake .. -DBUILD_PKG=1 \
|
&& rm -rf build
|
||||||
|
|
||||||
|
RUN cd ${mscpdir} \
|
||||||
|
&& cmake -B build -DBUILD_PKG=1 \
|
||||||
|
&& cd ${mscpdir}/build \
|
||||||
&& cpack -G DEB CPackConfig.cmake
|
&& cpack -G DEB CPackConfig.cmake
|
||||||
|
|||||||
@@ -1,13 +1,19 @@
|
|||||||
FROM ubuntu:22.04
|
FROM ubuntu:22.04
|
||||||
|
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
ARG workdir="/"
|
ARG mscpdir="/mscp"
|
||||||
|
|
||||||
|
COPY . ${mscpdir}
|
||||||
|
|
||||||
RUN set -ex && apt-get update && apt-get install -y --no-install-recommends \
|
RUN set -ex && apt-get update && apt-get install -y --no-install-recommends \
|
||||||
git cmake build-essential libssh-dev ca-certificates
|
ca-certificates
|
||||||
|
|
||||||
RUN cd ${workdir} \
|
RUN ${mscpdir}/install-build-deps.sh
|
||||||
&& git clone --depth=1 https://github.com/upa/mscp \
|
|
||||||
&& mkdir mscp/build && cd mscp/build \
|
RUN cd ${mscpdir} \
|
||||||
&& cmake .. -DBUILD_PKG=1 \
|
&& rm -rf build
|
||||||
|
|
||||||
|
RUN cd ${mscpdir} \
|
||||||
|
&& cmake -B build -DBUILD_PKG=1 \
|
||||||
|
&& cd ${mscpdir}/build \
|
||||||
&& cpack -G DEB CPackConfig.cmake
|
&& cpack -G DEB CPackConfig.cmake
|
||||||
|
|||||||
@@ -2,15 +2,17 @@
|
|||||||
Build `mscp` in docker containers.
|
Build `mscp` in docker containers.
|
||||||
|
|
||||||
```console
|
```console
|
||||||
docker build -t mscp-ubuntu:20.04 -f Dockerfile-ubuntu-20.04 .
|
cd ..
|
||||||
|
|
||||||
|
docker build -t mscp-ubuntu:20.04 -f docker/Dockerfile-ubuntu-20.04 .
|
||||||
docker run -it --rm -v (pwd):/out mscp-ubuntu:20.04 \
|
docker run -it --rm -v (pwd):/out mscp-ubuntu:20.04 \
|
||||||
cp /mscp/build/mscp_0.0.0-ubuntu-20.04-x86_64.deb /out/
|
cp /mscp/build/mscp_0.0.0-ubuntu-20.04-x86_64.deb /out/
|
||||||
|
|
||||||
docker build -t mscp-ubuntu:22.04 -f Dockerfile-ubuntu-22.04 .
|
docker build -t mscp-ubuntu:22.04 -f docker/Dockerfile-ubuntu-22.04 .
|
||||||
docker run -it --rm -v (pwd):/out mscp-ubuntu:22.04 \
|
docker run -it --rm -v (pwd):/out mscp-ubuntu:22.04 \
|
||||||
cp /mscp/build/mscp_0.0.0-ubuntu-22.04-x86_64.deb /out/
|
cp /mscp/build/mscp_0.0.0-ubuntu-22.04-x86_64.deb /out/
|
||||||
|
|
||||||
docker build -t mscp-centos:8 -f Dockerfile-centos-8 .
|
docker build -t mscp-centos:8 -f docker/Dockerfile-centos-8 .
|
||||||
docker run -it --rm -v (pwd):/out mscp-centos:8 \
|
docker run -it --rm -v (pwd):/out mscp-centos:8 \
|
||||||
cp /mscp/build/mscp_0.0.0-centos-8-x86_64.rpm /out/
|
cp /mscp/build/mscp_0.0.0-centos-8-x86_64.rpm /out/
|
||||||
```
|
```
|
||||||
|
|||||||
16
install-build-deps.sh
Executable file
16
install-build-deps.sh
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
source /etc/os-release
|
||||||
|
set -x
|
||||||
|
|
||||||
|
case $ID in
|
||||||
|
ubuntu*)
|
||||||
|
apt-get install -y gcc make cmake libssh-dev
|
||||||
|
;;
|
||||||
|
centos* | rhel*)
|
||||||
|
dnf install -y gcc make cmake libssh-devel rpm-build
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "unsupported dependency install: $ID"
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
Reference in New Issue
Block a user