Hi,
during upgrade to 42.2 I found a small dependency problem which is not resolved correctly with zypper (in my opinion) but probably I missed something. (Someone else just reported the same symptom in bugzilla but closed it again because he fixed it manually.)
Hygiea:~ # rpm -q --recommends MozillaFirefox | grep avcodec libavcodec-full >= 0.10.16
Hygiea:~ # zypper search -s --provides libavcodec-full Repository-Daten werden geladen... Installierte Pakete werden gelesen...
S | Name | Typ | Version | Arch | Repository
--+--------------+-------+------------+--------+----------------------------- i | libavcodec56 | Paket | 2.8.8-24.1 | x86_64 | openSUSE-42.2-0
v | libavcodec56 | Paket | 2.8.8-25.2 | x86_64 | Packman repository (Factory) v | libavcodec57 | Paket | 3.2-4.1 | x86_64 | openSUSE-Leap-42.2-Update v | libavcodec57 | Paket | 3.1.3-2.1 | x86_64 | openSUSE-42.2-0
i | libavcodec57 | Paket | 3.2-6.2 | x86_64 | Packman repository (Factory)
I think here is the problem. This output suggests that both variants for those package (openSUSE and packman) provide that. But this is not the case as can be seen here:
Hygiea:~ # rpm -q --whatprovides libavcodec-full libavcodec57-3.2-6.2.x86_64
Therefore this is a typical upgrade problem when the upgrade is performed via dup and non-official repos turned off which I would consider best practice but even if the packman repo is enabled again the recommended package is not automatically being pulled.
Is this a dependency resolving bug in libzypp or did I miss something?
Wolfgang
18.12.2016 18:47, Wolfgang Rosenauer пишет:
Hi,
during upgrade to 42.2 I found a small dependency problem which is not resolved correctly with zypper (in my opinion) but probably I missed something. (Someone else just reported the same symptom in bugzilla but closed it again because he fixed it manually.)
Hygiea:~ # rpm -q --recommends MozillaFirefox | grep avcodec libavcodec-full >= 0.10.16
Hygiea:~ # zypper search -s --provides libavcodec-full
It returns nothing here with pristine Leap repositories.
Repository-Daten werden geladen... Installierte Pakete werden gelesen...
S | Name | Typ | Version | Arch | Repository
--+--------------+-------+------------+--------+----------------------------- i | libavcodec56 | Paket | 2.8.8-24.1 | x86_64 | openSUSE-42.2-0
v | libavcodec56 | Paket | 2.8.8-25.2 | x86_64 | Packman repository (Factory) v | libavcodec57 | Paket | 3.2-4.1 | x86_64 | openSUSE-Leap-42.2-Update v | libavcodec57 | Paket | 3.1.3-2.1 | x86_64 | openSUSE-42.2-0
i | libavcodec57 | Paket | 3.2-6.2 | x86_64 | Packman repository (Factory)
I think here is the problem. This output suggests that both variants for those package (openSUSE and packman) provide that. But this is not the case as can be seen here:
Hygiea:~ # rpm -q --whatprovides libavcodec-full libavcodec57-3.2-6.2.x86_64
Therefore this is a typical upgrade problem when the upgrade is performed via dup and non-official repos turned off which I would consider best practice but even if the packman repo is enabled again the recommended package is not automatically being pulled.
Is this a dependency resolving bug in libzypp or did I miss something?
Most likely libavcodec-full is provided by both versions of *Packman* package, later zypper displays all packages with the same name due to _"-s" flag. What does it show without "-s"?
Am 18.12.2016 um 17:37 schrieb Andrei Borzenkov:
18.12.2016 18:47, Wolfgang Rosenauer пишет:
during upgrade to 42.2 I found a small dependency problem which is not resolved correctly with zypper (in my opinion) but probably I missed something. (Someone else just reported the same symptom in bugzilla but closed it again because he fixed it manually.)
Hygiea:~ # rpm -q --recommends MozillaFirefox | grep avcodec libavcodec-full >= 0.10.16
Hygiea:~ # zypper search -s --provides libavcodec-full
It returns nothing here with pristine Leap repositories.
Kind of what I expected
I think here is the problem. This output suggests that both variants for those package (openSUSE and packman) provide that. But this is not the case as can be seen here:
Hygiea:~ # rpm -q --whatprovides libavcodec-full libavcodec57-3.2-6.2.x86_64
Therefore this is a typical upgrade problem when the upgrade is performed via dup and non-official repos turned off which I would consider best practice but even if the packman repo is enabled again the recommended package is not automatically being pulled.
Is this a dependency resolving bug in libzypp or did I miss something?
Most likely libavcodec-full is provided by both versions of *Packman* package, later zypper displays all packages with the same name due to _"-s" flag. What does it show without "-s"?
My guess also is that zypper reflects the result of the search to all packages with the same name
Without -s it just says: S | Name | Zusammenfassung | Typ --+--------------+----------------------+------ i | libavcodec56 | FFmpeg codec library | Paket i | libavcodec57 | FFmpeg codec library | Paket
Wolfgang
19.12.2016 01:01, Wolfgang Rosenauer пишет:
Am 18.12.2016 um 17:37 schrieb Andrei Borzenkov:
18.12.2016 18:47, Wolfgang Rosenauer пишет:
during upgrade to 42.2 I found a small dependency problem which is not resolved correctly with zypper (in my opinion) but probably I missed something. (Someone else just reported the same symptom in bugzilla but closed it again because he fixed it manually.)
Hygiea:~ # rpm -q --recommends MozillaFirefox | grep avcodec libavcodec-full >= 0.10.16
Hygiea:~ # zypper search -s --provides libavcodec-full
It returns nothing here with pristine Leap repositories.
Kind of what I expected
I think here is the problem. This output suggests that both variants for those package (openSUSE and packman) provide that. But this is not the case as can be seen here:
Hygiea:~ # rpm -q --whatprovides libavcodec-full libavcodec57-3.2-6.2.x86_64
Therefore this is a typical upgrade problem when the upgrade is performed via dup and non-official repos turned off which I would consider best practice but even if the packman repo is enabled again the recommended package is not automatically being pulled.
Is this a dependency resolving bug in libzypp or did I miss something?
Most likely libavcodec-full is provided by both versions of *Packman* package, later zypper displays all packages with the same name due to _"-s" flag. What does it show without "-s"?
My guess also is that zypper reflects the result of the search to all packages with the same name
Without -s it just says: S | Name | Zusammenfassung | Typ --+--------------+----------------------+------ i | libavcodec56 | FFmpeg codec library | Paket
Hmm ... if this comes from standard repo, this looks indeed like a bug in zypper or some underlying library. I suppose nobody expected same package (name) from different repositories to have different set of provides.
i | libavcodec57 | FFmpeg codec library | Paket
Wolfgang
On 2016-12-18 16:47, Wolfgang Rosenauer wrote:
Hygiea:~ # rpm -q --recommends MozillaFirefox | grep avcodec libavcodec-full >= 0.10.16
I guess, part of the confusion comes from the fact, that libavcodec-full is not required, so can be safely skipped. But it is recommended, so it might be installed if easily available (e.g. no vendor change needed)
Am 3. Januar 2017 12:50:48 MEZ schrieb "Bernhard M. Wiedemann" bernhardout2@lsmod.de:
On 2016-12-18 16:47, Wolfgang Rosenauer wrote:
Hygiea:~ # rpm -q --recommends MozillaFirefox | grep avcodec libavcodec-full >= 0.10.16
What purpose serves this anyway, and does it actually work in practice?
Am 04.01.2017 um 08:28 schrieb Olaf Hering:
Am 3. Januar 2017 12:50:48 MEZ schrieb "Bernhard M. Wiedemann" bernhardout2@lsmod.de:
On 2016-12-18 16:47, Wolfgang Rosenauer wrote:
Hygiea:~ # rpm -q --recommends MozillaFirefox | grep avcodec libavcodec-full >= 0.10.16
What purpose serves this anyway, and does it actually work in practice?
it _should_ make sure that (uncrippled) libavcodec is installed if available to make HTML5 video work in Firefox.
It used to work when I introduced it at least for the case it is available during installation of Firefox. Probably Bernhard's comment is the explanation because obviously installing libavcodec-full would require a vendor change if libavcodec from openSUSE is already installed.
If anyone knows a better or working solution to achieve the above, please let me know.
Wolfgang
Am 5. Januar 2017 21:55:29 MEZ schrieb Olaf Hering olaf@aepfle.de:
Am 05.01.2017 um 18:46 schrieb Wolfgang Rosenauer:
If anyone knows a better or working solution to achieve the above,
please let me
know.
The well known 'zypper dup' will install the packman/videolan variants of ffmpeg, even without such extra Recommends.
Olaf
I know how to switch myself. I would like to provide a Firefox package which matches Windows functionality with the least possible required knowledge of the average user though.
Wolfgang