I searched the manual/web, but cannot find an answer to this. I think I know the answer, but want to be sure!
If there are e.g. multiple repositories with the same prio, which contain different versions of an RPM. What happens if an install is made and a particular package has a dependency, where no version is specified?
Would all repositories of the same pri be searched and the newest RPM version be installed.
OR
Would simply once the RPM is found in one of those pri’s simply be taken and no further searching made.
So summarized when all repositories are the same priority, is the first found RPM taken or the RPM with the latest version?
Once that is done, it should hold to that switch in the course of normal updates.
But lets imagine we have the mozilla repo and decide to install Thunderbird (which isn’t installed yet). If we just checked it to install, we would need to use the radio button to select the version we want.
This just an example of what I mean: http://dl.dropbox.com/u/10573557/Switcher%20Pics/version-radio-button-QT.png
So typically we at least need to know what we are doing if we plan to add repos
IMHO, it would take the latest version in equal repos, which can be a problem. For instance, some users code every repo for a release (11.4) as prio 99, which means a developer’s repo might be selected over a stable repos causing dependency issues.
I set priorities for the repos I use. I wan to use the openSUSE stable repos 99% of the time so I set the priority for the openSUSE update repo as 96, OSS and Non-OSS 98, Packman multimedia and essential at 99, multiples of 10 from 100 for others like VLC at 100, Mozilla 100, nVidia 110, etc. I change priorities when I need to install from other repos as needed, Packman multimedia prio 94.
Most of the time I use zypper instead of YaST2 and to check my repo priority order, zypper repos -pP.
I was also thinking it would take the latest if they are all equal, but of course it is my question if it is really like that i.e. i cannot find it written anywhere. another theory is that it takes the first found and there is no version checking.
I am pretty new to linux and maybe the only way is to test and find it out. i was thinking the answer would be well known and was perhaps just a dumb question due to my lack of experience.
I was also thinking it would take the latest if they are all equal, but of course it is my question if it is really like that i.e. i cannot find it written anywhere. another theory is that it takes the first found and there is no version checking.
I am pretty new to linux and maybe the only way is to test and find it out. i was thinking the answer would be well known and was perhaps just a dumb question due to my lack of experience.
thanks,
noob
Let me add that without regard to anything else said, that if you give a repo a lower number, which is a higher priority, the highest priority repo shows up at the top of the list on the versions tab when looking at different packages you have or could have installed. I normally make Packman the lowest number. So, for any installed packages, if I select the versions tab, Packman is the top, but if the bullet is set for a lower priority repo, it is easy to see and most often, at least with packman, you can just select the top bullet for Packman and know you will be using files from them. So, the priority setting makes it easier to determine when you have loaded packages from what you think is the preferred repository by setting its priority number lower anytime a package can be obtained from more than one repository. I normally make Packman the lowest and the update repo the next lowest for instance. Just some added thoughts on this matter.
IMHO this changes nothing if You’re using “zypper up”. When using zypper up the vendor takes precedence over priorities and zypper does everything not to switch the package vendor. The priorities play a role when using “zypper dup” and in that case the vendor is changed to the one having lowest priority.
“zypper dup” and in that case the vendor is changed to the one having lowest priority.
Actually I think you mean the highest priority (It’s just that the highest priority is the one with the lowest number)
The highest priority takes precedence regardless of vendor, that’s the purpose of priority.
Chapter 4. Installing or Removing Software
The repository with the highest priority takes precedence in any case. Therefore, make sure that the update repository always has the highest priority (20 by default), otherwise you might install an outdated version that will not be updated until the next online update.
If you add repositories providing new versions for programs shipped with openSUSE (for example a repository with the latest KDE or GNOME version), make sure they have a higher priority than the standard repositories, otherwise packages from these repositories will not be installed by default.
I think you’re confusing sequence with priority, zypper continues to search in priority order to check if there’s a newer version but when versions are equal the version from highest prioritized repos is used.
Just try this out please. Lets take MozillaFirefox package as an example. From what You said previously You got it installed from the Updates vendor. Change the priority of the mozzilla repo to 80 and issue zypper up and see if your vendor will be changed to mozilla.