I need to install an older version of x11-libs/bamf package , as you can see below there are different versions available I want to install 0.5.0[2], but it always go to 9999 version using "emerge bamf" i even used "emerge bamf-0.5.2" but no luck, how can I tell the portage which version I need?

USER ~ # eix bamf
* x11-libs/bamf
     Available versions:  
     (0)    ~0.3.6-r200[1] 0.5.0[2] (**)9999[2]
     (3)    (~)0.3.6-r300[1]
       {doc +introspection static-libs}
     Homepage:            https://launchpad.net/bamf
     Description:         BAMF Application Matching Framework

[1] "angelos" /var/lib/layman/angelos
[2] "elementary" /var/lib/layman/elementary

You need to add = at the beginning of the package name, so try

emerge -a =x11-libs/bamf-0.5.0

You can also add a line to /etc/portage/package.mask in order to prevent emerge installing higher version:

  • 2
    Using the = is dangerous, as the next time the package is upgraded, the specific version will be ignored. As such, add the package atom to /etc/portage/package.mask first then emerge the package without the =. – eyoung100 Mar 2 '15 at 17:25

As jimmij pointed out, you can select a particular version by prefixing the package atom with an equals ('=') sign. But you can also tell emerge which overlay to use.

I we assume that there exists an ebuild for x11-libs/bamf-0.5.0 in two or more overlays, you could select an particular overlay by appending ::<overlayName> to the end of the package atom.

For example

emerge -a x11-libs/bamf::elementary

or with the version specified

emerge -a =x11-libs/bamf-0.5.0::elementary

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.