Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The uninstallation leaves several folders and files behind (cmake) #68

Closed
Hir-design opened this issue Oct 20, 2020 · 12 comments · Fixed by #129
Closed

The uninstallation leaves several folders and files behind (cmake) #68

Hir-design opened this issue Oct 20, 2020 · 12 comments · Fixed by #129
Assignees
Labels
bug Something isn't working packaging Every issue linked with providing and fixing packages for different distributions and systems

Comments

@Hir-design
Copy link

Describe the bug
As the title says, the uninstallation leaves several paths in the system. Below is a list:

/usr/include/antimicrox
/usr/share/antimicrox
/usr/share/antimicrox/images
/usr/share/antimicrox/translations
/usr/share/doc/antimicrox
/var/lib/systemd/coredump/core.antimicrox.1000.b432ffc9974547f19a3daace3c1deb63.11690.1603227781000000.zst

To Reproduce
simply uninstall the program after installing it

Expected behavior
All files and directories belonging to the program only, should be removed from the system

Configuration
Version of antimicrox: 3.1.2 (from last commit)
System version: Arch Linux

Additional context
I don't know if I'm thinking right, but the error may have something to do with the error reported here (this is the last line)

@Hir-design Hir-design added the bug Something isn't working label Oct 20, 2020
@pktiuk
Copy link
Member

pktiuk commented Oct 21, 2020

I will check whether is it reproducible on debian-based systems.

EDIT: deb package doesn't have these issues.

@pktiuk
Copy link
Member

pktiuk commented Oct 21, 2020

@gombosg
Does it occur on Fedora-based systems?

@pktiuk pktiuk added the packaging Every issue linked with providing and fixing packages for different distributions and systems label Oct 21, 2020
@pktiuk
Copy link
Member

pktiuk commented Oct 21, 2020

@Hir-design
How did you installed antimicrox?

@Hir-design
Copy link
Author

This results from the building with cmake and make. If the program gives this option, I checked it, because I am a tester. I think that despite using packages, there shouldn't be such a situation. But you will do it as you think.

@OlegPopow
Copy link

Packages in Arch work properly (both classic and git) and remove the whole program - I checked. Nevertheless, I think that compiling with classic method (cmake, make, make install) should also uninstall 100% of installed files. This may cause unnecessary clutter. Maybe I'm blind but I don't remember this problem occurring earlier.

@gombosg
Copy link
Collaborator

gombosg commented Oct 22, 2020

Does it occur on Fedora-based systems?

It can't since only files specified in the RPM specfile are copied to the system during install. Conversely, they are uninstalled, too. Only home folder stuff can remain like config files.

@gombosg
Copy link
Collaborator

gombosg commented Oct 22, 2020

So yes, this is a (c)make issue in this case.

@pktiuk pktiuk changed the title The uninstallation leaves several folders and files behind The uninstallation leaves several folders and files behind (cmake) Dec 19, 2020
@pktiuk
Copy link
Member

pktiuk commented Dec 19, 2020

I have checked this for CMake and there are only empty directories left behind. No files are left behind.
(Except the last one which is not installed by AntiMicroX, it is just a report file generated by the system, so it will be probably automatically deleted later).

I will check how deleting directories could be handled by CMake.

@pktiuk
Copy link
Member

pktiuk commented Dec 23, 2020

@AntiMicroX/members
Have you tried to install AntiMicroX using cmake (sudo cmake --install .)?
In my case it doesn't seem to work very well. In terms of integration with system it doesn't look good, system uses pixelated version of icon, tray icon doesn't load properly.

obraz
There are problems with uninstallation (cmake doesn't support uninstallation by default, and we there is created a special build target deleting files). Moreover, to properly uninstall AntiMicroX we have to somewhere store install_manifest.txt and current uninstall target is just a complicated way of running

xargs rm < install_manifest.txt

Maybe we should just mark installation via cmake as something not recommended?
We could just add some additional instructions for packages and that should be enough for users willing to compile.
For us-developers installing using cmake is not very useful, because we can just run compiled AntiMicroX from build/bin to test changes.

@zzpxyx
Copy link
Contributor

zzpxyx commented Dec 24, 2020

I don't know too much about cmake, but personally I haven't used it for installing antimicro or AntiMicroX. I may be misunderstanding things here but essentially in order to properly uninstall stuff we'll have to know the manifest anyway, be it in a script we maintain or via package management systems.

@pktiuk
Copy link
Member

pktiuk commented Dec 24, 2020

Cmake doesn't use package management system, that's why it is such a messy solution.

@pktiuk
Copy link
Member

pktiuk commented Dec 30, 2020

Cmake is marked as not recommended way of installation due to problems with proper integration with system, messy uninstallation process (it is not controlled by any package manager, for uninstallation install_manifest.txt is needed, uninstallation leaves empty directories)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working packaging Every issue linked with providing and fixing packages for different distributions and systems
Projects
None yet
5 participants