[SRU] EasyEffects Depends: calf-plugins should be Recommends

Bug #2063879 reported by Erich Eickmeyer
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
easyeffects (Ubuntu)
Status tracked in Oracular
Noble
Fix Released
Medium
Erich Eickmeyer
Oracular
Fix Released
Medium
Erich Eickmeyer

Bug Description

[Impact]

easyeffects has a packaging error in that it has a hard run-time Depends on calf-plugins, which hasn't had a proper release in over five years and has suffered bit-rot. Its mere presence on a system with Ardour and Audacity installed can cause either program to crash (see LP: #2063847). While this is certainly a bug in calf, removing it causing a removal of EasyEffects isn't necessary.

Per the codebase of EasyEffects, it's calf is merely stated to be an optional dependency, and as stated in the readme, "usage was replaced by native PipeWire filters."

[Test Case]

 * Install easyeffects
 * Install audacity
 * Run Audacity (Audacity will likely crash due to calf-plugins)
 * Attempt removal of calf-plugins (will remove easyeffects)

[What could go wrong]

Some functionality of easyeffects could go missing, but this would likely be replaced by the lsp-plugins-lv2 package which is more stable, development-active, and functional. As an audio professional and Ubuntu Studio's lead, we recommend these plugins over calf anyhow in terms of quality.

[Other information]

This has been reported upstream (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063319), and as part of the Debian Multimedia Team I have submitted a direct commit to the package (https://salsa.debian.org/multimedia-team/easyeffects/-/commit/862142c0b64f6c0cf07a4abda2a57946663eeb4c).

Changed in easyeffects (Ubuntu):
assignee: nobody → Erich Eickmeyer (eeickmeyer)
status: New → In Progress
importance: Undecided → Medium
no longer affects: easyeffects (Ubuntu Focal)
description: updated
Changed in easyeffects (Ubuntu Noble):
milestone: none → noble-updates
Revision history for this message
Jeremy Bícha (jbicha) wrote :

Would it be better to demote calf-plugins to Suggests or not even include it in the package dependencies at all if lsp-plugins can do the job?

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

I mean, not a bad idea, but it does handle *some* functionality, but it's not *required* to function. I'm not sure that demoting it that much is completely justified and I don't want to step on the maintainer too much.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

> Its mere presence on a system with Ardour and Audacity installed can cause either program to crash (see LP: #2063847)

Making it a recommends will still have it installed by default when easyeffects is installed, and thus cause a cash. Is that what you want?

Revision history for this message
Andreas Hasenack (ahasenack) wrote (last edit ):

I suppose lsp-plugins{-lv2,} will be tried first.

So before this sru, if easyeffects is installed, you would get calf-plugins (depends), and lsp-plugins-lv2 or lsp-plugins via recommends.

After the SRU, you will get easyeffects and lsp-plugins-lv2 or lsp-plugins, and if that also is not available, only then calf-plugins.

Essentially the SRU is changing new installs to only install calf-plugins as a last resort. What is the change in behavior of a system with:

a) easyeffects + calf-plugins + lsp-plugins*
b) easyeffects + lsp-plugins* (and no calf-plugins)
?

I'm not familiar with any of these.

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

The change in behavior depends on what the user wants. Basically, it comes down to this: does the user want EasyEffects with the enhancements provided by calf-plugins and broken Ardour/Audacity (or others perhaps?) or do they want to be able to remove calf-plugins and still have a functioning EasyEffects minus those enhancements?

Additionally, and one reason why I got lsp-plugins packaged in Ubuntu (and then it was undertaken by Debian so long ago) was because calf-plugins development had stalled as it depends on GTK-2, which in turn causes errors in Ardour. lsp-plugins takes the place of a lot of calf-plugins in functionality and may have surpassed by now

These plugins function in such a way that their code becomes part of the code of the host program, so if the host program has a conflicting toolkit, it tends to crash. EasyEffects does not expose the plugins' native interface to the user, thus avoiding those issues. However, Ardour and Audacity do, which causes them to break when testing the plugins for functionality during an initial scan.

The recommendation in the Debian bug report is to drop calf-plugins to a recommends, but I took it a step further by making it a recommends if lsp-plugins is not already installed. This should make it auto-uninstalable on machines that already have it installed. If a user wants those enhancements again, it's simple to reinstall.

So far, I have had no objections in the Debian package. One thing I'd note, though, is that within easyeffects, lsp-plugins and calf-plugins do duplicate each others' capabilities, which is why I'd think having one or the other as a recommends would be ideal.

The reason easyeffects had calf-plugins as a Depends was merely due to leftovers from PulseEffects, its predecessor, which required calf-plugins as a hard dependency in order to even function. However, PipeWire doesn't require that as it has built-in filters, but having the plugins serves as an enhancement.

Revision history for this message
Robie Basak (racb) wrote :

Thank you for the discussion. My reaction was the same as Andreas', but with the alternatives having been considered, if you still want to make this change then I guess it's fine to defer to you to make the call as you're driving this and the various options all seem reasonable to me.

The change in Noble Unapproved looks fine but, please could you fix Oracular now that is is open so that it is open to avoid the archive ending up in an inconsistent state wrt. versions on release upgrade? I appreciate this probably wasn't the case when you uploaded it but equally I don't want to make the archive state worse than it is by accepting it now.

Once done, the Noble package version string will want adjusting to fall below the Oracular upload (see https://wiki.ubuntu.com/SecurityTeam/UpdatePreparation#Update_the_packaging) so I think a further upload to Noble will be required too, please.

Changed in easyeffects (Ubuntu Noble):
status: In Progress → Incomplete
Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Ok, fixed Oracular and fixed version string for Noble.

Changed in easyeffects (Ubuntu Oracular):
status: In Progress → Fix Committed
Changed in easyeffects (Ubuntu Noble):
status: Incomplete → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package easyeffects - 7.1.6-1ubuntu1

---------------
easyeffects (7.1.6-1ubuntu1) oracular; urgency=medium

  * d/control: Demote calf-plugins to Recommends (LP: #2063879)

 -- Erich Eickmeyer <email address hidden> Fri, 26 Apr 2024 12:57:50 -0700

Changed in easyeffects (Ubuntu Oracular):
status: Fix Committed → Fix Released
Revision history for this message
Robie Basak (racb) wrote : Please test proposed package

Hello Erich, or anyone else affected,

Accepted easyeffects into noble-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/easyeffects/7.1.6-1ubuntu0.24.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-noble to verification-done-noble. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-noble. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in easyeffects (Ubuntu Noble):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-noble
Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

$ apt-cache policy easyeffects
easyeffects:
  Installed: 7.1.6-1ubuntu0.24.04.1
  Candidate: 7.1.6-1ubuntu0.24.04.1
  Version table:
 *** 7.1.6-1ubuntu0.24.04.1 100
        100 http://us.archive.ubuntu.com/ubuntu noble-proposed/universe amd64 Packages
        100 /var/lib/dpkg/status
     7.1.6-1 500
        500 http://us.archive.ubuntu.com/ubuntu noble/universe amd64 Packages

Running easyeffects

No issues except some filters do not work and require calf-plugins. As stated before, this is merely an enhancement and no longer required by the application. Most state they are using lsp-plugins in lieu of calf-plugins, but without calf some simply don't work. So yes, there is some functionality lost, but not a complete loss of application functionality.

For those plugins to work, those users can install calf-plugins, but will lose the ability to use ardour or audacity.

For what it's worth, Audacity and Ardour functioned just fine without calf-plugins being installed with easyeffects installed. In my professional opinion, I wouldn't run easyeffects at the same time since, when doing audio production, you want flat speaker response. :)

tags: added: verification-done verification-done-noble
removed: verification-needed verification-needed-noble
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package easyeffects - 7.1.6-1ubuntu0.24.04.1

---------------
easyeffects (7.1.6-1ubuntu0.24.04.1) noble; urgency=medium

  * No-change SRU backport to noble (LP: #2063879)

 -- Erich Eickmeyer <email address hidden> Wed, 29 May 2024 08:57:24 -0700

Changed in easyeffects (Ubuntu Noble):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for easyeffects has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.