View previous topic :: View next topic |
Author |
Message |
Lloydz n00b
Joined: 31 Aug 2019 Posts: 38 Location: Germany
|
Posted: Tue Dec 03, 2019 2:55 pm Post subject: Understanding Overlay Priorities |
|
|
Hello
I have an understanding problem with overlays and priorities, and the
Variables PORTDIR and PORTDIR_OVERLAY.
I use the musl overlay under x64. For a few days now, there have been
dev-libs/elfutils an update version 0.177, from the gentoo main repository, which portage wants to update. Previously, 0.176-r1 was installed from the musl overlay repository.
Although I use the gentoo main repository with priority -1000 (standart)
and the musl overlay has set with +50, portage wants the update
to the higher version:
Code: | [ebuild U ] dev-libs/elfutils-0.177::gentoo [0.176-r1::musl] |
I think the problem is that here's version number versus repository priority.
Are my guesses true? And how can I set it so that the repository priority is always
has priority.
My further guess is that I have it via the variables PORTDIR
and PORTDIR_OVERLAY.
However, this approach is outdated - deprecated.
I'm a bit confused.
There is also a bug report on the topic: #701478
bye.
[Moderator edit: added [code] tags to preserve output layout. -Hu] |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31202 Location: here
|
Posted: Tue Dec 03, 2019 3:00 pm Post subject: Re: Understanding Overlay Priorities |
|
|
Lloydz wrote: | [ebuild U ] dev-libs/elfutils-0.177::gentoo [0.176-r1::musl |
As you said update ignore priority (an update is more important), the priority works only if same package version being found in several overlays. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
Lloydz n00b
Joined: 31 Aug 2019 Posts: 38 Location: Germany
|
Posted: Tue Dec 03, 2019 3:20 pm Post subject: |
|
|
Ok. So are the rules. But this means in the interplay main repository versus overlay,
developers from the overlay repository must always have at least the same
version number, as in the main repository. Otherwise they will be overruled, despite higher
overlay priority.
Right? I think this approach is confusing for overlay developers. Also, what can I do
as a user? Setting PORTDIR and PORTDIR_OVERLAY? |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31202 Location: here
|
Posted: Tue Dec 03, 2019 3:32 pm Post subject: |
|
|
Lloydz wrote: | Ok. So are the rules. But this means in the interplay main repository versus overlay,
developers from the overlay repository must always have at least the same
version number, as in the main repository. Otherwise they will be overruled, despite higher
overlay priority.
Right? I think this approach is confusing for overlay developers. |
That it's clear, see https://wiki.gentoo.org/wiki/Ebuild_repository#Priorities.
Lloydz wrote: | Also, what can I do as a user? Setting PORTDIR and PORTDIR_OVERLAY? |
If you want always a package from an overlay regardless update you can mask packsge in the main repository
Code: | # echo "category/package::gentoo" >> /etc/portage/package.mask |
_________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
charles17 Advocate
Joined: 02 Mar 2008 Posts: 3683
|
|
Back to top |
|
|
Ionen Developer
Joined: 06 Dec 2018 Posts: 2822
|
Posted: Tue Dec 03, 2019 3:40 pm Post subject: |
|
|
You could make a postsync.d script that would search the overlay and update a mask file adding ::gentoo to them if don't want to have to keep track of added/removed package and manually updating masks (a hard-priority system for repos that also ignore updates would certainly be friendlier if it exists though, not that I know of it).
Edit:
In this case the issue is that need to mask from the gentoo repos rather than a "bad" repos (basically ::musl > ::gentoo _even_ if ::gentoo has a higher version). You're gonna have a crazy amount of exceptions if you mask all of ::gentoo. |
|
Back to top |
|
|
|