Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-72195

Plugins only implicitly depended on can be uninstalled but then are re-installed on startup

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • core
    • - Jenkins 2.414.2
      - JavaMail API Plugin 1.6.2-9

      This plugin cannot be uninstalled - clicking the "remove" button in the UI does nothing to remove it - it says "pending"  but after a restart the plugin is still there and active.

      The plugin can be deactivated, but this does not prevent the notifications of an "update" from being shown.

      If physically removing the files, they are downloaded on the next Jenkins restart. How do I get rid of a plugin I do not need (and which I never installed)?

          [JENKINS-72195] Plugins only implicitly depended on can be uninstalled but then are re-installed on startup

          Daniel Beck added a comment -

          Jenkins installs bundled plugins that are an implicit dependency of other plugins on startup to prevent plugin loading errors when an incompletely specified set of plugins (e.g. "plugins.txt" from the Docker images) was installed. So two areas (plugin uninstallation, startup) each behave reasonably, but in combination make no sense.

          I expect you have one or more plugins listed under "Implied" installed: https://plugins.jenkins.io/javax-mail-api/dependencies/

          Does Jenkins warn about some plugins that may need this one when hovering the disable control?

          Daniel Beck added a comment - Jenkins installs bundled plugins that are an implicit dependency of other plugins on startup to prevent plugin loading errors when an incompletely specified set of plugins (e.g. "plugins.txt" from the Docker images) was installed. So two areas (plugin uninstallation, startup) each behave reasonably, but in combination make no sense. I expect you have one or more plugins listed under "Implied" installed: https://plugins.jenkins.io/javax-mail-api/dependencies/ Does Jenkins warn about some plugins that may need this one when hovering the disable control?

          Vittorio added a comment -

          Yes, it gives me that warning when I hover the disable button; here you can see the screenshot with the reported plugins that may need JavaMail API:

          Anyway I think that it would make much more sense, if the disable toggle would be greyed out, as apparently so many other plugins need JavaMail. What do you think?

          Vittorio added a comment - Yes, it gives me that warning when I hover the disable button; here you can see the screenshot with the reported plugins that may need JavaMail API: Anyway I think that it would make much more sense, if the disable toggle would be greyed out, as apparently so many other plugins need JavaMail. What do you think?

          Daniel Beck added a comment -

          disable toggle would be greyed out, as apparently so many other plugins need JavaMail

          Well, these plugins don't definitely need it, just maybe. So it's discouraged but possible.

          The problem is that uninstalling is allowed (for kinda the same reason), but then on startup Jenkins determines the plugin to be missing but possibly needed, so to prevent load failures, it's installed automatically. It being disabled is definitely a deliberate admin action, whereas it being missing on startup isn't necessarily.

          Daniel Beck added a comment - disable toggle would be greyed out, as apparently so many other plugins need JavaMail Well, these plugins don't definitely need it, just maybe. So it's discouraged but possible. The problem is that uninstalling is allowed (for kinda the same reason), but then on startup Jenkins determines the plugin to be missing but possibly needed, so to prevent load failures, it's installed automatically. It being disabled is definitely a deliberate admin action, whereas it being missing on startup isn't necessarily.

          Vittorio added a comment -

          Thanks for the clarification and for updating the ticket, as it is not depending on this particular plugin but to Jenkins itself. Indeed I have noticed a similar behaviour for other plugins. I look forward to a solution to this matter.

          Vittorio added a comment - Thanks for the clarification and for updating the ticket, as it is not depending on this particular plugin but to Jenkins itself. Indeed I have noticed a similar behaviour for other plugins. I look forward to a solution to this matter.

            Unassigned Unassigned
            vittorio_c82 Vittorio
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: