diff options
author | Ryo Nakamura <upa@haeena.net> | 2024-02-04 10:58:11 +0900 |
---|---|---|
committer | Ryo Nakamura <upa@haeena.net> | 2024-02-04 10:58:11 +0900 |
commit | 306a00ced564829d0c265644b99ecaa0de32920b (patch) | |
tree | 988f7f7af7c8ec4ea30ddab15ce1b82393d6d572 /CMakeLists.txt | |
parent | 65025b9022102cf283af7577ab3b868982079322 (diff) |
build source rpm inside a container
A new build target `build-srpm` builds mscp src.rpm inside a docker
container. The src.rpm can be published at COPR.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index a2f9533..bd6301d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -262,3 +262,30 @@ add_custom_target(docker-build-all DEPENDS ${DOCKER_BUILDS}) add_custom_target(docker-build-all-no-cache DEPENDS ${DOCKER_BUILDS_NO_CACHE}) add_custom_target(docker-test-all DEPENDS ${DOCKER_TESTS}) add_custom_target(docker-pkg-all DEPENDS ${DOCKER_PKGS}) + + +### rpmbuild-related definitions + +# generate files for rpmbuild +configure_file( + ${mscp_SOURCE_DIR}/rpm/mscp.spec.in + ${mscp_SOURCE_DIR}/rpm/mscp.spec + @ONLY) +configure_file( + ${mscp_SOURCE_DIR}/docker/build-srpm.Dockerfile.in + ${mscp_SOURCE_DIR}/docker/build-srpm.Dockerfile + @ONLY) + +# Custom targets to build mscp as a src.rpm in docker. +set(RPMBUILDCONTAINER mscp-build-srpm) +set(SRPMFILE mscp-${MSCP_VERSION}-1.el9.src.rpm) +add_custom_target(build-srpm + COMMENT "Build mscp src.rpm inside a container" + WORKING_DIRECTORY ${mscp_SOURCE_DIR} + BYPRODUCTS ${CMAKE_BINARY_DIR}/${SRPMFILE} + COMMAND + docker build -t ${RPMBUILDCONTAINER} -f docker/build-srpm.Dockerfile . + COMMAND + docker run --rm -v ${CMAKE_BINARY_DIR}:/out ${RPMBUILDCONTAINER} + cp /root/rpmbuild/SRPMS/${SRPMFILE} /out/) + |