Created attachment 131027 [details]
A python test case showing the issue
Steps to reproduce:
1. run gst-install-plugins-helper ¹
2. wait for it to return
Alternative steps to reproduce:
1. run the attached python script
2. wait for it to finish
gst-install-plugins-helper returns immediately.
What should happen:
According to the documentation², the gst_install_plugins_sync function should not return before the plugin was either installed or the installation was aborted or failed. The gst_install_plugins_async function callback should act the same. The only way this can work is if gst-install-plugins-helper waits until the frontend (in my case gnome-software) does its job and then reports the correct return value³.
I am running these software versions on Fedora 25:
Relevant GStreamer code: https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst-libs/gst/pbutils/install-plugins.c
Some relevant PackageKit code: https://cgit.freedesktop.org/packagekit/tree/contrib/gstreamer-plugin/pk-gstreamer-install.c
¹ for example with these arguments:
`--interaction=show-confirm-search --desktop-id=exaile.desktop "gstreamer|1.0|exaile.py|MPEG-1 Layer 3 (MP3)-Decoder|decoder-audio/mpeg, mpegversion=(int)1, layer=(int)3"`
We moved the upstream bugtracker to GitHub a long time ago. If this issue still affects you please re-create the issue here: https://github.com/hughsie/PackageKit/issues
Sorry for the impersonal message, and fingers crossed your issue no longer happens. Thanks.
I just reopened the bug at GitHub: https://github.com/hughsie/PackageKit/issues/275