manjaro / pamac

This repo has been archived. Our code is now hosted at
https://gitlab.manjaro.org/
GNU General Public License v3.0
223 stars 38 forks source link

Removing Avahi breaks the entire graphical environment. #237

Open notramo opened 7 years ago

notramo commented 7 years ago

Removing Avahi breaks the entire DE, because some package has installed it as dependency, and all packages are removed that depend on the target package. The gtk2, gtk3, and qt4 packages are removed, and all programs which need them. Pamac should have a list of installed packages of the base system (gtk, qt, kernel, xorg/wayland, DE, manjaro tools), and if the user wants to remove a package that is in this list, Pamac should warn him.

philmmanjaro commented 7 years ago

pamac-warning

We have an option called: remove unneeded dependencies. This option is deactivated by default. You will automatically get a warning. Then if you ignore it, you'll see a list of all packages to be removed. The user has to confirm that, before pamac does anything. I see no extra effort needed here. Please check your settings of pamac.

notramo commented 7 years ago

The remove unneeded dependencies isn't for orphan packages? Not avahi's deps breaks the environment. The packages, that needs avahi (pacman '-c' option).

A newbie don't know what is 'gtk3', 'qt4', 'gvfs' etc, therefore I think, a notification is needed.

philmmanjaro commented 7 years ago

Ok, you're right. However, the displayed Warning is still there when you try to uninstall avahi. It lists all packages depending on each other, which might get removed. Since this is a huge list a newbie should know that this would be wrong. What else do you expect exactly? Currently it works as designed.

notramo commented 7 years ago

Since this is a huge list a newbie should know that this would be wrong.

People are stupid. They do not read the packages, because they think if they don't know about something what is it for, it is not important. Manjaro allows people to "enjoy the simplicity". If you write programs for stupid people, stupid people will use it. Almost all people are stupid.

The warning only for optional dependencies.

(zenity window) screenshot

polarathene commented 7 years ago

Since this is a huge list a newbie should know that this would be wrong.

Agreeing with @notramo. A user may see the list but not understand that it could be damaging to their system blindly clicking OK to continue the process trusting that Pamac won't mess things up. It'd be more acceptable via CLI where a user is typically more technically minded and pays attention to these warnings.

The dialog should make it clear that going ahead with this action may break the system in some way if the user doesn't know what they're doing. You should include a warning icon/image like in the example image along with some bold or red highlighted text(so they notice that line against a wall of packages).

At least they'd potentially give it some thought and do a search or ask the community in forums if it's safe to go ahead with if they really want to remove the package.

mr-blobbyyy commented 7 years ago

For the record, avahi can be safety neutralized to prevent unneeded mulitcasting and network discovery exposure (while still keeping base packages intact):

# systemctl disable avahi-daemon && reboot

...a handy bit of code to prevent getting pwned by another undiscovered (undisclosed) SMB/mDNS vuln in the future.

notramo commented 7 years ago

I have no problem with avahi-daemon, and multicasting. The problem is that Pamac can destroy the entire graphical environment without notifying the user. Avahi is only an example for this issue. Read the previous comments.

mr-blobbyyy commented 7 years ago

Pamac can destroy the entire graphical environment without notifying the user.

How is this different from any other package manager?

notramo commented 7 years ago

This differs from other package managers in that Manjaro allows the user to "Enjoy the simplicity".