Re: Mass issue: /usr/bin/env dependency

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 31 Mar 2017 19:41:30 +0100, Tomasz Kłoczko wrote:

> OK. Could you please show me example?

Any non-versioned Obsoletes tag in the repo metadata hides the obsolete
package from the depsolver's view during updates, and depending on the
implementation even during first installs.

> It is yet another possibility tat it may be result of using yum/dnf which
> are working not exactly the same as rpm.

True.

> I have no idea about what kind scenario you are talking about

src.rpm "foo" building base package "foo-2.0-1" and subpkg "libfoo-2.0-1"
for some shared libs. Eventually, libfoo is released independently as a
separate project, starting with version 0.1. Packager can only reduce
version from 2.0 to 0.1 via an Epoch bump or by replacing the old libfoo
with a differently named package. Replacing packages involves obsoleting
them, and in turn you would *not* want to block the "libfoo" package
namespace forever. The original "foo" subpkg builds may want to put other
libs into the libfoo subpkg, if there is not separate libfoo base package
built from a different src.rpm.

> As I wrote engineering is about testing so here is my test case:
> Four spec files and two scripts.

The test is faulty. What results did you expect? Since you ask RPM
to update specific packages, it does exactly that, of course. Once the
package containing the Obsoletes tag has been replaced, what behaviour
did you expect from the third -Uvh? Of course, it installs all three
test packages you've asked for.

Now repeat the same with a set of packages where the Obsoletes tag
remains in one of the packages. If you do that with Yum or DNF and a local
repo out of convenience, the obsolete package won't be available anymore.
You may be able to install it once, if you ask for it specifically, but
any subsequent update will obsolete it again and hide all builds that are
covered by the Obsoletes tag.
If you do it with rpm -Uvh, RPM tries to help you and evaluates the
packages prior to the update transaction. It tries to reduce the set of
packages to those with highest EVR, but it also handles Obsoletes tags,
and if any packages near the end of the command-line contain Obsoletes
tags, those will be evaluated, and you would not be able to get your
test-static-3.0 package.
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux