[opensuse-buildservice] Change in behavior of --prefer-pkgs with multiple packages with same name
In 0.119.6, if there were two rpms with the same name given with --prefer-pkgs, then the second rpms mentioned won: first_path/ foo-1-1.rpm second_path/ foo-1-0.rpm are passed to osc build --prefer-pkgs first_path --prefer-pkgs second_path foo-1-0.rpm wins. However, after upgrading to osc 0.123, foo-1-1.rpm wins because it has a newer release. The problem with this comes in that there is no way to actually prefer an older rpm. An 'older' rpm may be preferred if the user has a server built rpm foo-version-check_in_count.build_count.rpm like foo-1-16.1.rpm while also having a locally built foo-1-0.0.rpm. The locally built rpm does not know the check_in_count nor build_count so it defaults to 0.0 and therefore appears older than the server built rpm. So, how does the user use his locally built foo-1-0.0.rpm over the foo-1-16.1.rpm if they are both in local --prefer-pkgs directories? -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
I actually thought of a wrinkle, if the rpms are first_path/ foo-1-1.rpm second_path/ foo-1-1a.rpm foo-1-1.rpm Then if last package listed won then foo-1-1.rpm would win, but you'd want foo-1-1a.rpm to win, so the behavior has to be last directory specified wins, but in a given directory, the newest version wins. On Fri, 2010-01-15 at 14:16 -0600, Luke Imhoff wrote:
In 0.119.6, if there were two rpms with the same name given with --prefer-pkgs, then the second rpms mentioned won:
first_path/ foo-1-1.rpm second_path/ foo-1-0.rpm
are passed to
osc build --prefer-pkgs first_path --prefer-pkgs second_path
foo-1-0.rpm wins. However, after upgrading to osc 0.123, foo-1-1.rpm wins because it has a newer release. The problem with this comes in that there is no way to actually prefer an older rpm. An 'older' rpm may be preferred if the user has a server built rpm
foo-version-check_in_count.build_count.rpm
like foo-1-16.1.rpm while also having a locally built foo-1-0.0.rpm. The locally built rpm does not know the check_in_count nor build_count so it defaults to 0.0 and therefore appears older than the server built rpm. So, how does the user use his locally built foo-1-0.0.rpm over the foo-1-16.1.rpm if they are both in local --prefer-pkgs directories?
-- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On 2010-01-15 15:29:41 -0600, Luke Imhoff wrote:
I actually thought of a wrinkle, if the rpms are
first_path/ foo-1-1.rpm second_path/ foo-1-1a.rpm foo-1-1.rpm
Then if last package listed won then foo-1-1.rpm would win, but you'd want foo-1-1a.rpm to win, so the behavior has to be last directory specified wins, but in a given directory, the newest version wins.
Hmm no. The semantic is the following: - the newest package wins (regardless in which dir it is) - if two or more dirs contains the same package (which is newer than all other packages) the package found in the last dir wins - if two or more packages in the same dir are equal (but they might have different filenames) the last package found wins So in your case "second_path/foo-1-1a.rpm" wins. Marcus -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Sat, Jan 16, 2010 at 02:54:52PM +0100, Marcus Hüwe wrote:
On 2010-01-15 15:29:41 -0600, Luke Imhoff wrote:
I actually thought of a wrinkle, if the rpms are
first_path/ foo-1-1.rpm second_path/ foo-1-1a.rpm foo-1-1.rpm
Then if last package listed won then foo-1-1.rpm would win, but you'd want foo-1-1a.rpm to win, so the behavior has to be last directory specified wins, but in a given directory, the newest version wins.
Hmm no. The semantic is the following: - the newest package wins (regardless in which dir it is) - if two or more dirs contains the same package (which is newer than all other packages) the package found in the last dir wins - if two or more packages in the same dir are equal (but they might have different filenames) the last package found wins
Hmm, should we change this to "first dir wins"? It would be consistent with build's treatment of the specifired repos. (I think we have to fix build's --prefer-rpm handling in that case as well.) Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On 2010-01-18 10:30:23 +0100, Michael Schroeder wrote:
On Sat, Jan 16, 2010 at 02:54:52PM +0100, Marcus Hüwe wrote:
On 2010-01-15 15:29:41 -0600, Luke Imhoff wrote:
I actually thought of a wrinkle, if the rpms are
first_path/ foo-1-1.rpm second_path/ foo-1-1a.rpm foo-1-1.rpm
Then if last package listed won then foo-1-1.rpm would win, but you'd want foo-1-1a.rpm to win, so the behavior has to be last directory specified wins, but in a given directory, the newest version wins.
Hmm no. The semantic is the following: - the newest package wins (regardless in which dir it is) - if two or more dirs contains the same package (which is newer than all other packages) the package found in the last dir wins - if two or more packages in the same dir are equal (but they might have different filenames) the last package found wins
Hmm, should we change this to "first dir wins"? It would be consistent with build's treatment of the specifired repos. (I think we have to fix build's --prefer-rpm handling in that case as well.)
What do you mean with "first dir wins"? Should osc only consider packages from the first dir regardless if newer versions exist in other dirs or should it take the version from the first dir if "equal" packages exist in other dirs? Marcus -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Mon, Jan 18, 2010 at 03:19:54PM +0100, Marcus Hüwe wrote:
What do you mean with "first dir wins"? Should osc only consider packages from the first dir regardless if newer versions exist in other dirs or should it take the version from the first dir if "equal" packages exist in other dirs?
(What's meant with "equal"?) I mean the first: consider the first dir even if the second dir has a package with the same name but higher version/release. M. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
I have a patch that implements the behavior my users expected, I can port it to the version of osc in git (since it's against 0.123 right now) and push it as a merge request. Then you can see exactly what I meant in code, does that work? On Mon, 2010-01-18 at 08:24 -0600, Michael Schroeder wrote:
On Mon, Jan 18, 2010 at 03:19:54PM +0100, Marcus Hüwe wrote:
What do you mean with "first dir wins"? Should osc only consider packages from the first dir regardless if newer versions exist in other dirs or should it take the version from the first dir if "equal" packages exist in other dirs?
(What's meant with "equal"?)
I mean the first: consider the first dir even if the second dir has a package with the same name but higher version/release.
M.
-- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On 2010-01-18 15:24:50 +0100, Michael Schroeder wrote:
On Mon, Jan 18, 2010 at 03:19:54PM +0100, Marcus Hüwe wrote:
What do you mean with "first dir wins"? Should osc only consider packages from the first dir regardless if newer versions exist in other dirs or should it take the version from the first dir if "equal" packages exist in other dirs?
(What's meant with "equal"?)
With "equal" I meant same name, epoch, release, version, arch.
I mean the first: consider the first dir even if the second dir has a package with the same name but higher version/release.
Hmm yes you're right. If we do it this way it would be consistent with build's behaviour... Marcus -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
participants (3)
-
Luke Imhoff
-
Marcus Hüwe
-
Michael Schroeder