Pin a package to a binary (quickpkg'd) version?

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Pin a package to a binary (quickpkg'd) version?

tanstaafl-2
Is it possible to do this?

Thanks...

Reply | Threaded
Open this post in threaded view
|

Re: Pin a package to a binary (quickpkg'd) version?

Alan McKinnon-2
On 23/08/2014 12:34, Tanstaafl wrote:
> Is it possible to do this?
>
> Thanks...
>
>
>


Not directly. I'm assuming you mean packages you built yourself and
quick-pkg'ed them, not something available as a -bin

You can use emerge -K, so emerge will fail if there's no binpkg
available. This will do what you want as long as you

a) always use the -K option
b) don't try emerge something else as well

Portage is designed to build your packages from source; binpkgs are very
much a third class citizen with only very primitive levels of support.



--
Alan McKinnon
[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Pin a package to a binary (quickpkg'd) version?

tanstaafl-2
On 8/23/2014 8:16 AM, Alan McKinnon <[hidden email]> wrote:
> On 23/08/2014 12:34, Tanstaafl wrote:
>> Is it possible to do this?

> Not directly. I'm assuming you mean packages you built yourself and
> quick-pkg'ed them, not something available as a -bin

Correct... I have buildpkg feature enabled in make.conf, so everything
gets quickpkg'd...

> You can use emerge -K, so emerge will fail if there's no binpkg
> available. This will do what you want as long as you
>
> a) always use the -K option
> b) don't try emerge something else as well
>
> Portage is designed to build your packages from source; binpkgs are very
> much a third class citizen with only very primitive levels of support.

Bummer...

What I want is to be able to pin a specific package to the quickpkg'd
version, so it doesn't get updated during an emerge world...


Reply | Threaded
Open this post in threaded view
|

Re: Pin a package to a binary (quickpkg'd) version?

Jouni Kosonen
Tanstaafl wrote:

>
> Bummer...
>
> What I want is to be able to pin a specific package to the
quickpkg'd
> version, so it doesn't get updated during an emerge world...

Wouldn't it mostly work if you
a] Copied the package ebuild directory to a local overlay to ensure
the version keeps being available to portage even if it vanishes from
the official tree and
b] masked any later version in, say, /etc/portage/package.mask/pinned

( and c] mentally prepared to repeat the procedure when the tree no
longer provides compatible dependencies )

?



Reply | Threaded
Open this post in threaded view
|

Re: Pin a package to a binary (quickpkg'd) version?

James-2
Jouni Kosonen <jouni.kosonen <at> tukesoft.com> writes:


> Tanstaafl wrote:

> > What I want is to be able to pin a specific package to the
> > quickpkg'd
> > version, so it doesn't get updated during an emerge world...
>
> Wouldn't it mostly work if you
> a] Copied the package ebuild directory to a local overlay to ensure
> the version keeps being available to portage even if it vanishes from
> the official tree and
> b] masked any later version in, say, /etc/portage/package.mask/pinned
> ( and c] mentally prepared to repeat the procedure when the tree no
> longer provides compatible dependencies )

Very similar to what I was musing/researching....

Some resources you may want to read up on that deal with slotting, and
multislots (which allow for multiple versions (concurrent) installations
for certain key packages.

http://devmanual.gentoo.org/general-concepts/slotting/

euse -i multislot

http://www.gnu.org/software/autoconf/autoconf.html

A recent post on  gentoo-dev "distutils-r1: set install paths via setup.cfg
rather than argv"

Just might provide you some ideas how to achieve what you want to
do. I'm looking at a similar issue for my local overlays and codes
I'm testing in a variety of forms; ebuilds and raw sources.


hth,
James


Reply | Threaded
Open this post in threaded view
|

Re: Pin a package to a binary (quickpkg'd) version?

Alan McKinnon-2
In reply to this post by tanstaafl-2
On 23/08/2014 14:42, Tanstaafl wrote:

> On 8/23/2014 8:16 AM, Alan McKinnon <[hidden email]> wrote:
>> On 23/08/2014 12:34, Tanstaafl wrote:
>>> Is it possible to do this?
>
>> Not directly. I'm assuming you mean packages you built yourself and
>> quick-pkg'ed them, not something available as a -bin
>
> Correct... I have buildpkg feature enabled in make.conf, so everything
> gets quickpkg'd...
>
>> You can use emerge -K, so emerge will fail if there's no binpkg
>> available. This will do what you want as long as you
>>
>> a) always use the -K option
>> b) don't try emerge something else as well
>>
>> Portage is designed to build your packages from source; binpkgs are very
>> much a third class citizen with only very primitive levels of support.
>
> Bummer...
>
> What I want is to be able to pin a specific package to the quickpkg'd
> version, so it doesn't get updated during an emerge world...


Short version: You can't
Longer version: You can if you package mask every version of everything
greater than what you quickpkg'ed. This is tedious beyond belief

Alan's crafty hack version:
If you can guarantee that every package to be installed has a suitable
(and correct wrt USE) quickpkg, then use emerge -K always on the
machines to install the quickpkg




--
Alan McKinnon
[hidden email]