zynaddsubfx / zyn-fusion-issues

Issue Only Repo
31 stars 0 forks source link

Linux installer is dangerous: It removes / changes files created by package manager #78

Closed mark-orion closed 3 years ago

mark-orion commented 7 years ago

The Linux installer script is dangerous so I would call this bug critical. The script modfies and deletes files that are created by the package manager. Simply deleting files from the standard application paths with "rm" is very very bad practice that can completely screw up a production system. Suggestions:

fundamental commented 7 years ago

I'm not a big fan of the install script, but claiming that it's going to "completely screw up a production system" is hyperbole IMO. Addressing your points:

  1. Removing an old ZynAddSubFX install is done to avoid conflicting versions which would drastically increase the amount of time supporting users with mixed version installations. General feedback I got indicated that people wanted a simple "just run this and it's installed script".

  2. 'zyn-fusion' is the UI process(for the standalone), 'zynaddsubfx' is the process which performs all of the synthesis, handles MIDI, etc etc. 'zynaddsubfx' is the same 'zynaddsubfx' that your package manager is going to install built from https://github.com/zynaddsubfx/zynaddsubfx (the only difference is the version distributed with zyn-fusion is that it tries to launch the 'zyn-fusion' subprocess as the 'zynaddsubfx' binary is built with -DGuiModule=zest).

  3. The install is self contained within /opt/zyn-fusion, but that was confusing to some users. The standalone 'zynaddsubfx' references the 'zyn-fusion' using a relative path, so it should be able to find it even if it isn't installed to somewhere within the $PATH. The plugin version explicitly searches in '/opt/zyn-fusion/' https://github.com/zynaddsubfx/zynaddsubfx/blob/master/src/main.cpp#L640 https://github.com/zynaddsubfx/zynaddsubfx/blob/master/src/Plugin/ZynAddSubFX/ZynAddSubFX-UI-Zest.cpp#L44

Ideally an installer script shouldn't be used at all and .deb/.rpm files should be provided, but I don't have the time to add that to the build process at the moment, in part due to /usr/lib64 vs /usr/lib complicating where plugins should be installed on a distro to distro basis.

So, to reiterate, zyn-fusion can exist installed only to /opt/zyn-fusion (i.e. copy the contents of the tar there) and when it is installed there it should not conflict with any existing install of zynaddsubfx. The installer was made in response to users wanting a simple means of installing and running the new UI without reconfiguring their systems. If you can state a preferred location to document that the installer isn't strictly needed let me know.

mark-orion commented 7 years ago

I stick with my opinion about the possibility of screwing up a production system. The demo I installed did exactly that and rendered my (existing) Zynaddsubfx installation into a non working state: 10 minute time limit plus problems with the package manager. My suggestions:

unfa commented 7 years ago

I would personally like Zyn-Fusion to be installed as a separate thing from the 2.x ZynAddSubFX. It'd also be nice to have Zyn-Fusion plugin available along the old ZynAddSubFX so I can easily choose one.

Even if under the hood they are the same synth, the interface makes it very different and I guess more people than me would like to choose between Zyn-Fusion or old ZynAddSubFX interface at any time (having two separate plugins available) especially when they are just trying out Zyn-Fusion demo.

Some time ago luckily for me Zyn-Fusion installation didn't remove my old ZynAddSubFX plugins, and I was able to choose (but the names were the same so it was a bit difficult to differentiate).

No idea if it's going to work the same way now though. I must admit that the installation script feels a bit messy - it said it'll remove old Zyn, but it didn't (I was happy about that).

fundamental commented 7 years ago

I must admit that the installation script feels a bit messy

I'll agree with that. I haven't done much cross-distro packaging work and I had honestly planed on hiring someone to get the packaging/packaging-scripts in a better state. Unfortunately, the results of the fundraising efforts resulted in that plan getting cut.

unfa commented 7 years ago

Maybe someone from the community would volunteer for a free copy of Zyn-Fusion? :D