On Thursday 16 March 2006 23:03, James wrote:
> Dmitry S. Makovey <dmitry <at> athabascau.ca> writes:
> > since packages you use (I assume KDE etc.) are not using qt4 (i.e.
> > require specifically qt3 branch) portage doesn't find any reasons to
> > bump version of qt. AFAIR Qt is a slotted package and you can safely
> > go ahead and do
> > emerge =x11-libs/qt-4.1.1
> > but you packages wouldn't use it.
>
> Ok this kinda makes sense. But what exactly is a 'slotted package',

Slotted means that several versions of a package can coexist at the same 
system. In the case of qt version 3 goes into /usr/qt/3 and version 4 goes 
into /usr/qt/4.

> how do I determine when a packages is slotted, and where do I read
> more about 'slotted'? 

Have a look at 'man emerge'
# emerge -vp qt

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  NS   ] x11-libs/qt-4.1.1  USE="..." 27,110 kB
                ^^^
The 'S' means that it is slotted.

On Thursday 16 March 2006 20:11, James wrote:
> I really confused as this is not very clear what the hardmasked, testing
> and stable versions of QT........?
>
> I've been told that QT 4 is 'very young' which I interpret as unstable
> and buggy. How do I tell if qt-4.1.1 is hard masked or testing....
> as I've never seen this before.

I would recommend app-portage/eix as it gives a clear overview of the 
available versions of any package.

# eix -e qt
* x11-libs/qt
     Available versions:  3.3.4-r8 ~3.3.4-r9 [M]3.3.5 [M]3.3.5-r1 4.1.0-r1 
4.1.0-r2 4.1.1
     Installed:           3.3.4-r8
     Homepage:            http://www.trolltech.com/
     Description:         The Qt toolkit is a comprehensive C++ application 
development framework.

Versions that are prefixed by [M] are hard masked usually because they are 
broken. They should not be unmasked without knowing why they were originally 
masked. Versions prefixed by a ~ are masked by ~ARCH i.e. testing and can be 
used by adding them to package.keyword. eix respects package.* an hence 
4.1.0-r1 is shown as stable because of this:

# grep x11-libs/qt /etc/portage/package.keywords
=x11-libs/qt-4.1* ~x86

As you can see you can specify versions to unmask if you want a testing 
version of qt-4.1* but stable for any other version. This is explained in 
'man portage'.

To see why a package is hard masked you have to look in the package.mask 
files.

Packages are masked on several levels. Both general and profile specific. On 
my system I am using the default-linux/x86/2006.0 profile.

# ls -ld /etc/make.profile
lrwxrwxrwx  1 root root 48 Mar 10 02:02 /etc/make.profile 
-> ../usr/portage/profiles/default-linux/x86/2006.0

Therefore packages on my system might be masked in the following locations 
(note that not all of those files actually exist because no packages are hard 
masked on some of those levels. Still these are the locations where portage 
will look.):
/usr/portage/profiles/default-linux/x86/2006.0/package.mask
/usr/portage/profiles/default-linux/x86/package.mask
/usr/portage/profiles/default-linux/package.mask
/usr/portage/profiles/package.mask

And the reason why qt-3.3.5 is hard masked:
# grep -A 2 Qt /usr/portage/profiles/package.mask
# Qt-3.3.5 causes a lot of compilation failures.
# See bug #106402.
~x11-libs/qt-3.3.5

But qt-4 is not hard masked so it should be working or at least it won't break 
anything. ;)

HtH

-- 
Bo Andresen
-- 
gentoo-user@gentoo.org mailing list

Reply via email to