[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Pining for Qt 5.4



Hi Christian,

thanks for your detailed answer!

Sigh. I am still hoping to avoid experimental on this one (being
already traumatized from past experiences culminating in complete
reinstallation into my now clean 'unstable' system with its single
media package libdvdcss2).

Still: If I can make your priority based updating work and if it
does not require pulling too important other testing/experimental
libraries into my system I will give it a shot. At the very
least I will be motivated to understand your hints and to
read https://wiki.debian.org/AptPreferences

Cheers,

Markus.


On 02.05.2015 15:11, Christian Seiler wrote:
> On 05/01/2015 08:28 AM, Markus-Hermann Koch wrote:
>> I would like to use Qt 5.4 for its QOpenGLWidget. However,
>> Qt 5.4 is still stuck in experimental. Being a user I now seem to have
>> several options: [...]
>>
>> What would you do?
> 
> 5. Install the packages from experimental.
> 
> If you really want to be on the safe side, you can do the following to
> make sure it's just Qt 5.4 from experimental and nothing else:
> 
> A. Create /etc/apt/sources.list.d/experimental.list (or similar name)
>    with the following contents (if you already have unstable in your
>    list, just add experimental):
> 
> deb http://http.debian.net/debian unstable main
> deb http://http.debian.net/debian experimental main
> 
> (You can use your default mirror here instead of http.debian.net, if
> you so desire.)
> 
> B. Pin unstable and experimental packages to priority -1 by default,
>    so that they can't be installed by accident. Do this by creating
>    /etc/apt/preferences.d/01experimental with the following contents:
> 
> Package: *
> Pin: release n=experimental,o=Debian
> Pin-Priority: -1
> 
> Package: *
> Pin: release n=sid,o=Debian
> Pin-Priority: -1
> 
> (IMPORTANT: leave out the 2nd one if you are already using unstable,
> else no packages from unstable will be upgradable!)
> 
> C. Selectively pin the Qt5 packages to a higher priority (500 is
>    usually what you want) so that they are taken from experimental.
> 
> You can do this in two ways: make _any_ version of the packages from
> experimental be installable or just make the _current_ version from
> experimental installable. The former has the advantage that if there are
> further bugfixes in newer Qt5.4 versions while it still isn't in
> unstable, apt will automatically be willing to upgrade to those
> versions. It has the disadvantage that if a really new and really
> experimental version of Qt5 is uploaded to experimental at some point in
> the future, APT will automatically choose that one.
> 
> The priority 500 is chosen in such a way that it's the same as the
> default package priority of stable/testing/unstable, so that if one of
> those suits starts to contain a package with a higher version number
> (for example, Qt 5.4 is uploaded to unstable with some additional fixes
> at some point in the future), APT will be willing to upgrade that.
> 
> In any case, create a file /etc/apt/preferences.d/50qt5.4 with the
> following contents:
> 
> For making any version that's currently in experimental installable:
> 
> Package: libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5
>  libqt5network5 libqt5opengl5 libqt5opengl5-dev libqt5printsupport5
>  libqt5sql5 libqt5sql5-mysql libqt5sql5-odbc libqt5sql5-psql
>  libqt5sql5-sqlite libqt5sql5-tds libqt5test5 libqt5widgets5
>  libqt5xml5  qt5-default qt5-qmake qtbase5-dbg qtbase5-dev
>  qtbase5-dev-tools  qtbase5-dev-tools-dbg qtbase5-doc-html
>  qtbase5-examples  qtbase5-examples-dbg qtbase5-private-dev
> Pin: release n=experimental,o=Debian
> Pin-Priority: 500
> 
> For choosing the specific version that's currently in experimental:
> 
> Package: libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5
>  libqt5network5 libqt5opengl5 libqt5opengl5-dev libqt5printsupport5
>  libqt5sql5 libqt5sql5-mysql libqt5sql5-odbc libqt5sql5-psql
>  libqt5sql5-sqlite libqt5sql5-tds libqt5test5 libqt5widgets5
>  libqt5xml5  qt5-default qt5-qmake qtbase5-dbg qtbase5-dev
>  qtbase5-dev-tools  qtbase5-dev-tools-dbg qtbase5-doc-html
>  qtbase5-examples  qtbase5-examples-dbg qtbase5-private-dev
> Pin: version 5.4.1+dfsg-2
> Pin-Priority: 500
> 
> (You can include the line breaks in the package list as long as the
> continuation lines start with a space. The packages listed here are all
> the binary packages that Qt5's source package.[1])
> 
> D. Test that your pinning works. Run apt-get update to update your
>    package lists and then try out:
> 
> apt-cache policy libqt5-core5a
> This should print 'Candidate: 5.4.1+dfsg-2" to show that APT would like
> to install that version of the package.
> 
> Then try another package in experimental, e.g. libkf5config-dev (not in
> unstable/testing yet):
> apt-get policy libkf5config-dev
> This should print 'Candidate: (none)' to show that even though a version
> is available, APT doesn't want to install it, because you pinned
> experimental to -1.
> 
> E. Finally, run apt-get upgrade / install of the Qt5 packages you want.
> 
> Christian
> 
> [1] Taken from:
> https://packages.debian.org/source/experimental/qtbase-opensource-src
> 


Reply to: