From 634ee9487b22f39fe427a468adbc4ae093aaad27 Mon Sep 17 00:00:00 2001 From: Greg Schueler Date: Wed, 26 Jun 2019 11:21:02 -0700 Subject: [PATCH 1/2] Fix #242 overwrite symlink if present, and remove on uninstall, add tests --- .travis.yml | 2 ++ dockers/install/upgrade-rpm/Dockerfile | 15 +++++++++++++++ rd-cli-tool/build.gradle | 7 ++++++- scripts/rpm-upgrade.sh | 9 +++++++++ 4 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 dockers/install/upgrade-rpm/Dockerfile create mode 100644 scripts/rpm-upgrade.sh diff --git a/.travis.yml b/.travis.yml index 2e3e2290..fa8220f3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,6 +24,8 @@ jobs: script: bash scripts/deb-install.sh - stage: rpm install test script: bash scripts/rpm-install.sh + - stage: rpm upgrade test + script: bash scripts/rpm-upgrade.sh after_success: - mkdir $HOME/.gnupg - openssl aes-256-cbc -K $encrypted_168997f84686_key -iv $encrypted_168997f84686_iv diff --git a/dockers/install/upgrade-rpm/Dockerfile b/dockers/install/upgrade-rpm/Dockerfile new file mode 100644 index 00000000..aa9606fa --- /dev/null +++ b/dockers/install/upgrade-rpm/Dockerfile @@ -0,0 +1,15 @@ +FROM centos:6 +#ARG OLDVER +RUN yum -y update +RUN yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel +RUN curl -sS -f -L -o /etc/yum.repos.d/bintray.repo https://bintray.com/rundeck/rundeck-rpm/rpm + +RUN yum -y install rundeck-cli + +RUN rd pond + +COPY rundeck-cli-noarch.rpm /root/rundeck-cli-noarch.rpm + +RUN rpm -U /root/rundeck-cli-noarch.rpm + +CMD rd pond diff --git a/rd-cli-tool/build.gradle b/rd-cli-tool/build.gradle index 02d8010f..28a54a08 100644 --- a/rd-cli-tool/build.gradle +++ b/rd-cli-tool/build.gradle @@ -168,7 +168,12 @@ ospackage { //symlink /usr/bin/rd to the rd script postInstall( """ -/bin/ln -s \${RPM_INSTALL_PREFIX:-${distInstallPath}}/${archivedir}/bin/${applicationName} /usr/bin/${applicationName} +/bin/ln -sf \${RPM_INSTALL_PREFIX:-${distInstallPath}}/${archivedir}/bin/${applicationName} /usr/bin/${applicationName} +""" + ) + postUninstall( + """ +rm /usr/bin/${applicationName} """ ) } diff --git a/scripts/rpm-upgrade.sh b/scripts/rpm-upgrade.sh new file mode 100644 index 00000000..723f9cf6 --- /dev/null +++ b/scripts/rpm-upgrade.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -euo pipefail + +rpmfile=$(ls rd-cli-tool/build/distributions/rundeck-cli-*.noarch.rpm) + +cp $rpmfile dockers/install/upgrade-rpm/rundeck-cli-noarch.rpm +docker build dockers/install/upgrade-rpm -t rdcli-rpm-upgrade +docker run -it rdcli-rpm-upgrade rd From b4ed934dd473cb428e86e79ed477dbb2a549feb7 Mon Sep 17 00:00:00 2001 From: Greg Schueler Date: Wed, 26 Jun 2019 11:55:57 -0700 Subject: [PATCH 2/2] use a successful command --- scripts/rpm-upgrade.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/rpm-upgrade.sh b/scripts/rpm-upgrade.sh index 723f9cf6..f35adf86 100644 --- a/scripts/rpm-upgrade.sh +++ b/scripts/rpm-upgrade.sh @@ -6,4 +6,4 @@ rpmfile=$(ls rd-cli-tool/build/distributions/rundeck-cli-*.noarch.rpm) cp $rpmfile dockers/install/upgrade-rpm/rundeck-cli-noarch.rpm docker build dockers/install/upgrade-rpm -t rdcli-rpm-upgrade -docker run -it rdcli-rpm-upgrade rd +docker run -it rdcli-rpm-upgrade rd pond