• Joerg Bruehe's avatar
    Fix Bug#55015 · 5d458c6f
    Joerg Bruehe authored
      "MySQL server is not restarted properly after RPM upgrade"
    
    The problem is that with the general spec file cleanup and
    alignment we also did a name change, dropping the "-community"
    part from the package file name.
    
    As a result of this, RPM (some versions of it) will report
    file conflicts, because it considers this name difference
    to imply different packages.
    To avoid this, the spec file explicitly "obsoletes" the old
    packages (with "-community" in the file name).
    
    Now, RPM will first install these packages and the remove the
    old ones, and part of that removal is running the "%preun"
    section which stops the server and uninstalls the service
    (removes the symlinks to "/etc/init.d/mysql" from the run
    level directories).
    This stop/uninstall will affect the new server!
    
    The fix is to define a "%triggerpostun" in this spec file
    which will watch for removal of the "-community" server.
    If this is done (as part of this install/upgrade), the
    trigger code will re-install the service and restart the
    server process.
    
    In addition, the "sleep" calls after starting the server
    have been cleaned up: Rather than doing 2* "sleep 2",
    it is now 1 "sleep 5".
    5d458c6f
mysql.spec.sh 68.4 KB