On Mon, Mar 21, 2016 at 02:02:05PM +0100, Bjoern Voigt wrote:
Lars Müller wrote: [ 8< ]
One fix would be to add
%dir %{_libdir64}/pulse-%{pa_version} %dir %{_libdir64}/pulse-%{pa_version}/modules
to every pulseaudio-SUBPACKAGE_NAME-%{pa_version} package. In fact, this is already the case:
No.
pulseaudio.spec from pulseaudio-8.0-2.2.src.rpm (Tumbleweed package): [...] %dir %{_libdir}/pulse-%{drvver}/ %dir %{_libdir}/pulse-%{drvver}/modules/ [...]
To make this work with the current approach how libzypp handles installes or updates - one package after the other and not in groups == in one RPM transation - the directories must be owned by _every_ pulse subpackage. In my test system these are: pulseaudio-8.0-2.2.x86_64 pulseaudio-module-bluetooth-8.0-2.2.x86_64 pulseaudio-module-jack-8.0-2.2.x86_64 pulseaudio-module-lirc-8.0-2.2.x86_64 pulseaudio-module-x11-8.0-2.2.x86_64 pulseaudio-module-zeroconf-8.0-2.2.x86_64 With other words: if the directories aren't only owned by pulseaudio but also by the additional pulseaudio-module-* the last updated/ removed pulseaudio-module-* package will also cleanup the directories if they are packaged. Currently this isn't the case and therefore the empty directories don't get removed. https://bugzilla.opensuse.org/show_bug.cgi?id=971960 https://build.opensuse.org/request/show/376638
The other is to get the grouped RPM resolution/ installation implemented at the libzypp level. In this case all the pulseaudio packages would be handled with one RPM transaction. I consider this a non low hanging fruit. Else the zypp developers would have implemented it already.
Even the announced commit.downloadMode = DownloadInHeaps wasn't implemented when I last gave it a try. I expect there are more pressing issues.
[ 8< ]
But what is a good strategy here? I can manually check and delete the empty directories. And I can write a bug report for every single RPM package with missing "%dir" options. But this would be time-consuming.
Maybe a warning message from the build service helps. Or some badness which lets the package fail. If you believe this is generic issue feel free to modify the bug summary of 971960 . Cheers, Lars -- Lars Müller [ˈlaː(r)z ˈmʏlɐ] Samba Team + SUSE Labs SUSE Linux, Maxfeldstraße 5, 90409 Nürnberg, Germany