View previous topic :: View next topic |
Author |
Message |
Manuel.G n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 07 Jan 2015 Posts: 8
|
Posted: Fri May 26, 2017 6:22 am Post subject: Use overlay only for packages that are not in the main tree |
|
|
Hi there,
I've added an overlay via layman. (It's the 'mv' overlay, using it to get zsh-syntax-highlighting.)
Code: | $> layman -f
$> layman -a mv |
So far so good, afterwards I was able to install zsh-syntax-highlighting from the overlay just as I wanted. However, I was in for a surprise when I did my daily check for updates this morning:
Code: | $> emerge --update --deep --newuse --pretend --color=y @world
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild U ] sys-apps/dmidecode-3.0 [2.12-r1]
[ebuild U ] media-libs/libjpeg-turbo-1.5.1 [1.5.0]
[ebuild U ] app-shells/zsh-5.3.1 [5.2] USE="-compile%" COMPLETION="Linux%* Unix%* X%* -AIX% -BSD% -Cygwin% -Darwin% -Debian% -Mandriva% -Redhat% -Solaris% -openSUSE%" |
While dmidecode and libjpeg-turbo come from the main tree, it looks like app-shells/zsh is also in the mv-overlay and the 5.3.1 update would be coming from there:
Code: | $> eix --exact app-shells/zsh
[U] app-shells/zsh
Available versions: 5.0.5 5.2 ~5.2-r1 ~5.3 5.3.1[1] ~5.3.1 **9999 **99999999*l[1] {caps compile debug doc examples gdbm maildir pcre static unicode COMPLETION="AIX BSD Cygwin Darwin Debian +Linux Mandriva Redhat Solaris +Unix +X openSUSE"}
Installed versions: 5.2(02:38:32 PM 12/06/2016)(gdbm pcre unicode -caps -debug -doc -examples -maildir -static)
Homepage: http://www.zsh.org/
Description: UNIX Shell similar to the Korn shell
[1] "mv" /var/lib/layman/mv |
Now that is something I don't want. I want to use this overlay for the sole package that is not in the main tree, but I don't want to update my shell with an ebuild from an overlay. The priorities are set accordingly:
Code: | $> cat /etc/portage/repos.conf/layman.conf
[mv]
priority = -1100
location = /var/lib/layman/mv
layman-type = git
auto-sync = No |
Code: | $> emerge --info --verbose | sed -n '/^Repo/,/^ABI/p' | head -n -1
Repositories:
mv
location: /var/lib/layman/mv
masters: gentoo
priority: -1100
gentoo
location: /usr/portage
sync-type: rsync
sync-uri: rsync://rsync.gentoo.org/gentoo-portage
priority: -1000 |
Is there no way to have portage behave this way? (Without resorting to masking specific versions of specific packages – I'm looking for a no-maintenance setting.)
Regards! |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Juippisi Developer
![Developer Developer](/images/ranks/rank-dev.gif)
![](images/avatars/807759109442827505b55d.gif)
Joined: 30 Sep 2005 Posts: 761 Location: /home
|
Posted: Fri May 26, 2017 6:45 am Post subject: |
|
|
Yeah, sorry I dont know a way without masking, but Ive used a style where I mask every package from an overlay, and then unmask the packages that I want to install. In total its 2 lines to config files, for one package.
Obviously if there are dependencies that arent in main portage tree, theres more unmasking to do. In my case that hasnt happened, luckily. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
charles17 Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
Joined: 02 Mar 2008 Posts: 3685
|
Posted: Fri May 26, 2017 7:14 am Post subject: Re: Use overlay only for packages that are not in the main t |
|
|
Manuel.G wrote: | Is there no way to have portage behave this way? (Without resorting to masking specific versions of specific packages – I'm looking for a no-maintenance setting.) | See https://wiki.gentoo.org/wiki/Version_specifier#By_ebuild_repository. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
mv Watchman
![Watchman Watchman](/images/ranks/rank-G-2-watchman.gif)
![](images/avatars/169262237648b51b40d0ec0.png)
Joined: 20 Apr 2005 Posts: 6780
|
Posted: Fri May 26, 2017 7:22 am Post subject: |
|
|
Although it is technically possible to mask ebuilds from the overlay, I would not recommend this.
In your particular case, the better solution is: Sync the mv overlay again. It is a bug that the mv overlay declared a version as stable which is not yet stable in the tree. This bug has been fixed now. (If you observe it in another case, I suggest to report a bug to the overlay maintainer.)
In general, the priority (which BTW shouldn't be negative according to the docs; IIRC, the default is 100) means that identical versions are taken from the repository with higher priority. Newer version (if keywords allow) are always preferred.
BTW, note that there is usually a reason if an identical or higher version is in an overlay: Normally, it involves a bugfix or an additional feature. If this should not be the case, I suggest to report a bug.to the overlay maintainer. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Manuel.G n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 07 Jan 2015 Posts: 8
|
Posted: Fri May 26, 2017 6:45 pm Post subject: |
|
|
Thanks for all the replies!
zsh-5.3.1 was solved by another sync indeed. As for the negative priority values: layman has 50 by default, however the tree has the negative 1000 value by default, so I needed to make layman even lower to achieve my goal. Would I not have made that change, I would e.g. have gotten a rebuild of sys-apps/less (same version as the tree: 487) with different/new use flags.
I'm aware that an overlay might include newer or modified identical versions of packages from the tree for reasons of possible dependencies… however in my case, zsh-syntax-highlighting from the mv overlay would have had to include any of these dependencies when I emerged it yesterday. Seeing as it didn't, I don't think I need to be worried about any dependencies, right? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
mv Watchman
![Watchman Watchman](/images/ranks/rank-G-2-watchman.gif)
![](images/avatars/169262237648b51b40d0ec0.png)
Joined: 20 Apr 2005 Posts: 6780
|
Posted: Sat May 27, 2017 1:58 am Post subject: |
|
|
Manuel.G wrote: | however the tree has the negative 1000 value by default |
You are right, my memory was wrong (or something has changed, receently): I had in my memory the default for gentoo was 100 (or maybe 1000), but obviously this was wrong.
I never relied on the defaults, anyway, and have set priorities of all repositories explicitly (including the gentoo repository).
Quote: | might include newer or modified identical versions of packages from the tree for reasons of possible dependencies… |
Usually not only for dependencies (unless the overlay is dedicated for one project, only). For instance, in the mv overlay there are often improvements over versions from the gentoo tree like: Less severe dependencies (e.g. not requiring ancient versions of automake, or no yacc requirement when bison suffices in most cases, dependencies satisfied with newer versoins of python, making some dependencies optional for gtk+:3, etc.) In the case of less, the provided use-flag "less-select" uses a patch to provide an additional option flag for less and a script which uses that option flag so that one select files from a menu on the command line. Usually (as is the case for less), the added features can be omitted by disabliing/not enabling the corresponding USE-flags.
It can make sense to mask a particular package from the gentoo tree or from some overlay (with category/package::repository [repository = "gentoo" or the overay name]) if you are sure that you want/don't want a certain feature, but this is on a package-by-package basis. What I meant is that it is usually not a good idea to use a generic mask like */*::repository unless you do not trust the corresponding repository. (And if you do not trust the corresponding repository, you should probably not use layman at all to sync it but copy the ebuilds individually into your local overlay, inspecting the code, first) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Manuel.G n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 07 Jan 2015 Posts: 8
|
Posted: Sat May 27, 2017 9:22 am Post subject: |
|
|
Thanks again, that definitely cleared it up a bit more for me. Much appreciated! |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|