linuxmint / mintupdate

The Linux Mint Update Manager
324 stars 157 forks source link

Simplify excluding packages from automatic updates #661

Open Leopardus4 opened 3 years ago

Leopardus4 commented 3 years ago

Is your feature request related to a problem? Please describe. As of today, mintupdate uses two blacklists:

In this situation, handling a package that I want to update only manually (& automatic updates for rest of packages) is complicated.

Lets assume I have 3 programs :smile:: vim, emacs, and butterfly (xkcd). I want to automatically update vim, never update emacs (10.17 will break my workflow) and update butterfly only manually (as it's a bleeding-edge technology and I want to test new bugs from beta only on Fridays).

To configure it as described above, I need to:

  1. Add butterfly to normal BL.
  2. Hit Export blacklist to /etc/mintupdate.blacklist button.
  3. Remove butterfly from normal BL.
  4. Add emacs to normal BL.

OR

  1. Add butterfly to /etc/mintupdate.blacklist using vim or butterfly editor - but it's error-prone, and not user-friendly.

To make things worse, let's assume I want to ignore also automatic updates for cat. Now I need to:

  1. Remove emacs from normal BL.
  2. Add both cat and butterfly to normal BL. (because in other case I'll override butterfly in next step)
  3. Hit export button.
  4. Add emacs, remove cat and butterfly from normal BL.

As you can see, it's a mess to exclude sth from automatic updates. And there are multiple reasons why users may want to exclude only few packages from auto-updates. (i. e. to preserve security by auto-updates, but not kill experience by auto-updating few beta apps). In current implementation it's also nice that user has a reminder via tray icon that sth may be updated manually.

Describe the solution you'd like I think the simplest solution would be to add new action to right-click context menu. Sth like "Exclude this package (only) from auto-updates". It would add an entry in /etc/mintupdate.blacklist (but not override anything). There would be also a way to add/delete packages from automatic BL in Properties > Automation like there is one in Properties > Blacklist.

Describe alternatives you've considered It would be also possible to do something more sophisticated in Properties > Automation, but first approach is probably simpler.

Additional context Current mintupdate version: 5.7.3

I tested current behaviour by adding butterfly :wink: to /etc/mintupdate.blacklist (manually or using described steps), applying auto-update - forced by execution of /usr/lib/linuxmint/mintUpdate/automatic_upgrades.py, then updating butterfly manually by Install Updates button in GUI.