diff --git a/utils/rpms/daos.sh b/utils/rpms/daos.sh index 51f8c40e523..da88896b622 100755 --- a/utils/rpms/daos.sh +++ b/utils/rpms/daos.sh @@ -69,7 +69,13 @@ append_install_list "${files[@]}" mkdir -p "${tmp}${sysconfdir}/daos/certs" install_list+=("${tmp}${sysconfdir}/daos/certs=${sysconfdir}/daos") -EXTRA_OPTS+=("--rpm-attr" "0755,root,root:${sysconfdir}/daos/certs") +cat << EOF > "${tmp}/post_install_daos" +#!/bin/bash +chown root:root ${sysconfdir}/daos/certs +chmod 0755 ${sysconfdir}/daos/certs +EOF +chmod +x "${tmp}/post_install_daos" +EXTRA_OPTS+=("--after-install" "${tmp}/post_install_daos") DEPENDS=( "mercury >= ${mercury_version}" ) DEPENDS+=( "${isal_crypto_lib} >= ${isal_crypto_version}" ) @@ -157,21 +163,32 @@ if [ ! -d ${daos_log_dir} ]; then chmod 775 ${daos_log_dir} fi EOF + chmod +x "${tmp}/pre_install_server" EXTRA_OPTS+=("--before-install" "${tmp}/pre_install_server") -cat << EOF > "${tmp}/post_install_server" + cat << EOF > "${tmp}/post_install_server" #!/bin/bash set -x ldconfig systemctl --no-reload preset daos_server.service &>/dev/null || : /usr/lib/systemd/systemd-sysctl 10-daos_server.conf &>/dev/null || : +chown root:root ${sysconfdir}/daos/daos_server.yml +chmod 0644 ${sysconfdir}/daos/daos_server.yml +chown daos_server:daos_server ${sysconfdir}/daos/certs/clients +chmod 0700 ${sysconfdir}/daos/certs/clients +chown root:daos_server ${bindir}/daos_server_helper +chmod 4750 ${bindir}/daos_server_helper +chown root:daos_server ${bindir}/daos_server +chmod 2755 ${bindir}/daos_server EOF + chmod +x "${tmp}/post_install_server" EXTRA_OPTS+=("--after-install" "${tmp}/post_install_server") -cat << EOF > "${tmp}/pre_uninstall_server" + cat << EOF > "${tmp}/pre_uninstall_server" #!/bin/bash systemctl --no-reload disable --now daos_server.service >& /dev/null || : EOF + chmod +x "${tmp}/pre_uninstall_server" EXTRA_OPTS+=("--before-remove" "${tmp}/pre_uninstall_server") if [[ "${DISTRO:-el8}" =~ suse ]]; then @@ -181,12 +198,10 @@ ldconfig rm -f "/var/lib/systemd/migrated/daos_server.service" || : /usr/bin/systemctl daemon-reload || : EOF + chmod +x "${tmp}/post_uninstall_server" EXTRA_OPTS+=("--after-remove" "${tmp}/post_uninstall_server") fi - EXTRA_OPTS+=("--rpm-attr" "0644,root,root:${sysconfdir}/daos/daos_server.yml") - EXTRA_OPTS+=("--rpm-attr" "0700,daos_server,daos_server:${sysconfdir}/daos/certs/clients") - EXTRA_OPTS+=("--rpm-attr" "4750,root,daos_server:${bindir}/daos_server_helper") - EXTRA_OPTS+=("--rpm-attr" "2755,root,daos_server:${bindir}/daos_server") + DEPENDS=( "daos = ${VERSION}-${RELEASE}" "daos-spdk = ${daos_spdk_full}" ) DEPENDS+=( "${pmemobj_lib} = ${pmdk_full}" "${argobots_lib} >= ${argobots_full}" ) @@ -416,7 +431,13 @@ if [ -f "${SL_PREFIX}/bin/daos_firmware_helper" ]; then list_files files "${SL_PREFIX}/bin/daos_firmware_helper" append_install_list "${files[@]}" - EXTRA_OPTS+=("--rpm-attr" "4750,root,daos_server:${bindir}/daos_firmware_helper") +cat << EOF > "${tmp}/post_install_firmware" +#!/bin/bash +chown root:daos_server ${bindir}/daos_firmware_helper +chmod 4750 ${bindir}/daos_firmware_helper +EOF + chmod +x "${tmp}/post_install_firmware" + EXTRA_OPTS+=("--after-install" "${tmp}/post_install_firmware") DEPENDS=("daos-server = ${VERSION}-${RELEASE}") build_package "daos-firmware"