diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 03:32:49 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 03:32:49 +0000 |
commit | 8053187731ae8e3eb368d8360989cf5fd6eed9f7 (patch) | |
tree | 32bada84ff5d7460cdf3934fcbdbe770d6afe4cd /ci/build_package_rpm.sh | |
parent | Initial commit. (diff) | |
download | rnp-8053187731ae8e3eb368d8360989cf5fd6eed9f7.tar.xz rnp-8053187731ae8e3eb368d8360989cf5fd6eed9f7.zip |
Adding upstream version 0.17.0.upstream/0.17.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ci/build_package_rpm.sh')
-rwxr-xr-x | ci/build_package_rpm.sh | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/ci/build_package_rpm.sh b/ci/build_package_rpm.sh new file mode 100755 index 0000000..645bf5d --- /dev/null +++ b/ci/build_package_rpm.sh @@ -0,0 +1,100 @@ +#!/usr/bin/env bash +# shellcheck disable=SC1091 +set -euxo pipefail + +: "${BUILD_SHARED_LIBS:=off}" + +: "${VERBOSE:=1}" + +declare packaging_dependencies_yum=( + rpmdevtools + ) + +install_rpm_packaging_utils() { + yum_install \ + "${packaging_dependencies_yum[@]}" \ + "$@" +} + +install_packaging_dependencies() { + case "${DIST}" in + centos) + install_rpm_packaging_utils epel-rpm-macros + ;; + *) + install_rpm_packaging_utils + esac +} + +# NOTE: This should be done by install_noncacheable_dependencies.sh. +install_build_dependencies() { + "${OS}_install" +} + +install_dependencies() { + # NOTE: This is done by install_noncacheable_dependencies.sh. + # install_build_dependencies + install_packaging_dependencies +} + +prepare_build_package() { + install_dependencies + rpmdev-setuptree + export SOURCE_PATH=rnp${RNP_VERSION:+-${RNP_VERSION}} + cp -a "${GITHUB_WORKSPACE}" ~/rpmbuild/SOURCES/"${SOURCE_PATH}" +} + +build_package() { + pushd ~/rpmbuild/SOURCES/"${SOURCE_PATH}" + + # XXX: debug + command -v asciidoctor + + cpack -G RPM --config ./CPackSourceConfig.cmake + make package VERBOSE="${VERBOSE}" + + popd +} + +post_build_package() { + pushd ~/rpmbuild/SOURCES/"${SOURCE_PATH}" + + mv ./*.src.rpm ~/rpmbuild/SRPMS/ + # mkdir -p ~/rpmbuild/RPMS/noarch/ + # mv *.noarch.rpm ~/rpmbuild/RPMS/noarch/ + mkdir -p ~/rpmbuild/RPMS/x86_64/ + mv ./*.rpm ~/rpmbuild/RPMS/x86_64/ + + popd +} + +test_packages() { + yum_install ~/rpmbuild/RPMS/x86_64/*.rpm +} + +main() { + # For asciidoctor: + export PATH=$HOME/bin:$PATH + + . ci/env.inc.sh + + prepare_build_package + + export LDFLAGS='-Wl,-t' # XXX: DELETEME: for debugging only + + pushd ~/rpmbuild/SOURCES/"${SOURCE_PATH}" + + export cmakeopts=( + -DBUILD_SHARED_LIBS="${BUILD_SHARED_LIBS}" + -DBUILD_TESTING=no + -DCPACK_GENERATOR=RPM + ) + build_rnp "." + popd + + build_package + post_build_package + test_packages +} + +main "$@" |