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

meson: two misnamed files in in-process builds crash applet at startup #216

Open
lukefromdc opened this issue Mar 20, 2024 · 0 comments
Open

Comments

@lukefromdc
Copy link
Member

lukefromdc commented Mar 20, 2024

Expected behaviour

Building using meson with these options
meson setup build --prefix=/usr -Dwayland=true -Din-process=true
builds libmate-volume-control-applet.so
and
org.mate.applets.GvcApplet.mate-panel-applet
and installed package works

Actual behaviour

Building using meson with
meson setup build --prefix=/usr -Dwayland=true -Din-process=true
builds liblibmate-volume-control-applet.so
and
org.mate.applets.GvcApplet.mate-panel-applet.desktop
and installed applet cannot be found to add to panel
(due to .desktop on desktop file filename) and if already
present crashes on startup, looking for libmate-volume-control-applet.so
when the file was installed as liblibmate-volume-control-applet.so

Steps to reproduce the behaviour

Download 1.28.1 or build from git master
build and install with

meson setup build --prefix=/usr -Dwayland=true -Din-process=true
ninja -C build
sudo ninja -C build install

If already in the panel, the applet crashes at startup
Applet also cannot be added to the panel.

Then look for the .desktop file and for libmate-volume-control-applet.so, you will find the wrongly named files instead. The .desktop file will properly call for running libmate-volume-control-applet.so (a previous bug affecting that was fixed a while ago), but the panel will ignore it, and if you rename it the .so file will only be found if present from a previous build.

Note that to duplicate this, you must fully remove any prior installation of mate-media.
If a previous build is installed and 1.28.1 build with meson installed over it, the previous version of
org.mate.applets.GvcApplet.mate-panel-applet
will still be present, will be found and run the previous build's files, which due to the filename
difference will not be overwritten! Also the properly named desktop file (without .desktop) will not be overwritten, will be found by the panel and run normally, entirely concealing this issue.

Due to this, I did not notice the problem until I had to nuke from orbit after a forced power cycle corrupted something in my root fs. On reinstalling and re-updating, no volume control. On digging for the problem, found the bad filenames

MATE general version

1.28

Package version

1.28.1

Linux Distribution

Debian Unstable

Link to bugreport of your Distribution (requirement)

None as this is a local build, not one of Debian's packages

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant