Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-5579

rpm postun scriptlet leaks exit code to rpm

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 5.5.35
    • 5.5.36
    • None

    Description

      We use the following postun scriptlet:

      if [ $1 -ge 1 ]; then
        if [ -x %{_sysconfdir}/init.d/mysql ] ; then
          # only restart the server if it was alredy running
          %{_sysconfdir}/init.d/mysql status > /dev/null 2>&1 && \
          %{_sysconfdir}/init.d/mysql restart
        fi
      fi

      The problem is that A && B construct, while it only runs B if A succeeds, it also sets the exit code to that of A, if A fails.

      That is, if mysql status fails, the scriptlet exists with a non-zero code, and rpm treats it as a failure.

      Possible fix: use if A; then B; fi instead of A && B.

      Attachments

        Activity

          People

            serg Sergei Golubchik
            serg Sergei Golubchik
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.