On Sun, 17 Mar 2024 10:06:31 +0900
Takashi Yano wrote:
> On Sat, 16 Mar 2024 17:49:30 +0000
> Jon Turney wrote:
> > On 16/03/2024 00:48, Takashi Yano via Cygwin-apps wrote:
> > > On Sat, 16 Mar 2024 09:39:33 +0900
> > > Takashi Yano wrote:
> > [...]
> > >>
> > >> This expected:
> > >> 1.8.0-1 -> 1.8.0-2 -> 2.0.0-1
> > >> libsvtav1(1.8.0-1) -> libsvtav1enc1(1.8.0-2) + libsvtav1dec0(1.8.0-2)
> > >>  -> libsvt1enc1(1.8.0-2) + libsvtav1dec0(2.0.0-2)
> > >>
> > >> However, this does not seem to work as I expected.
> > 
> > What unexpected thing happens?
> > 
> > I guess you only get one of libsvtav1enc1 or libsvtav1dec0 (since if 
> > these both are marked "obsoletes: libsvtav1", to the dependency solver 
> > that mean that either of can replace libsvtav1, and provides everything 
> > that it provides.
> > 
> > So maybe the best solution is:
> > 
> > libsvtav1dec0_OBSOLETES=libsvtav1
> > libsvtav1dec0_REQUIRES=libsvtav1enc1
> > 
> > So libsvtav1 is replaced by both libsvtav1dec0 and libsvtav1enc1
> 
> Looks great!
> 
> > >> My expectation was that both libsvtav1enc1(1.8.0-2) and 
> > >> libsvtav1dec0(1.8.0-2)
> > >> are installed for upgrading libsvtav1(1.8.0-1).
> > >>
> > >> Instead, I found
> > >>
> > >> 1.8.0-2:
> > >> libsvtav1_CATEGORY="_obsolete"
> > >> libsvtav1_REQUIRES="libsvtav1enc1 libsvtav1dec0"
> > >> libsvtav1enc1_CONTENTS="usr/bin/cygSvtAv1Enc-1.dll"
> > >> libsvtav1dec0_CONTENTS="usr/bin/cygSvtAv1Dec-0.dll"
> > 
> > Yeah, this should work, but is not longer preferred because you end up 
> > with an empty libsvtav1 hanging around forever...
> > 
> > >> works as expected.
> > >> Is it possible to change it like this now?
> > 
> > I've tweaked the existing dependencies based on my reasoning above. 
> > Please let me know if this still isn't working right.
> 
> Thanks you very much!
> 
> Could you please also remove:
> libsvtav1enc1_OBSOLETES=libsvtav1
> because it seems that this conflicts with
> libsvtav1dec0_OBSOLETES=libsvtav1
> ?

I noticed that the following happen even with obove if
the package which requires libsvtav1 is installed.
At the first upgrade,
Uninstall libsvt1v1 1.8.0-1
Install libsvtav1dec0 1.8.0-2
Install libsvtav1enc1 1.8.0-2
that is as expected except for libsvtav1dec0 is not latest.

However, at the next upgrade (just run setup again),
Uninstall libsvtav1dec0 1.8.0-2
Install libsvtav1 1.8.0-1
Install libsvtav1dec0 2.0.0-1
happens. This causes conflict:
$ cygcheck -f /usr/bin/cygSvtAv1Dec-0.dll
libsvtav1-1.8.0-1
libsvtav1dec0-2.0.0-1

Im not sure why this happens.

Contrary to your idea,
libsvtav1enc1_OBSOLETES="libsvtav1"
libsvtav1enc1_REQUIRES="libsvtav1dec0"
the followings happen as expected.
Uninstall libsvtav1 1.8.0-1
Install libsvtav1dec0 2.0.0-1
Install libsvtav1enc1 1.8.0-2

Of cource,
libsvtav1dec0_OBSOLETES=libsvtav1
should be removed in this case.

What do you think?

-- 
Takashi Yano <takashi.y...@nifty.ne.jp>

Reply via email to