review request for libpst

Mamoru Tasaka mtasaka at ioa.s.u-tokyo.ac.jp
Thu Apr 9 10:24:31 UTC 2009


Michael Schwendt wrote, at 04/09/2009 06:52 PM +9:00:
> On Thu, 09 Apr 2009 18:06:57 +0900, Mamoru wrote:
> 
>>> Requires:           %{name}-libs = %{version}-%{release}
>>>
>>> In the main utilities package, is this explicit dependency on the
>>> library package really needed?
>>> https://fedoraproject.org/wiki/Packaging/Guidelines#Requires
>> I have not checked this spec file in detail. however: 
>>
>> When I review packages I always request submitters to write
>> exact EVR specific dependency between packages rebuilt from the
>> same srpm and I think this is general for Fedora packages.
>> ref:
>> https://fedoraproject.org/wiki/Packaging/Guidelines#RequiringBasePackage
> 
> Why?
> 
> Here "libpst" would Requires "libpst-libs" with an explicit version in
> addition to the automatic SONAME dep, but all other packages that would be
> linked to libpst would rely on the automatic SONAME dep.

Because
- As I already said almost all packages do so
  (e.g. rpm -q --requires perl)
- And you explain the reason by yourself below
  (it is ensured that all packages are updated correctly, and
   distinguishing between developers v.s. non-developers does
   not make sense)

> More and more packagers even let -doc subpackages require the base
> package, so one cannot install -doc packages anymore without dependency
> bloat [as the base package often pulls in even further packages].

Um, actually in many cases -doc packages must require the base package
because of the directory ownership issue for which you often file
bugs.

> For library -devel packages there is a rationale. (Some distributors
> do the exact opposite and kill explicit versioned deps on base pkgs.)
> 
> We want the contents of -devel packages to be strictly in sync with the
> corresponding main library packages. Also with regard to %changelog.
> Emphasis is on "strictly", because there's an automatic SONAME dependency
> in a -devel pkg already. Builds done in mock don't need [and don't benefit
> from] the explicit dependency.
> 
> On installed systems, however, one can run into problems without an
> explicit dependency on the main library [base] package and when using
> plain rpmbuild or development tools. This is because adding -devel
> packages to the system would not enforce an update of the base packages.
> The already installed base packages would satisfy the dependency, but
> might contain bugs that cause the developer to tear his hairs till the
> base packages are updated, too. Don't expect developers to run a full
> "yum update" though, especially not if such an update would change
> the development environment heavily (and pull in lots of version upgrades,
> for example). So, when someone runs "yum install foo-devel" he shall
> get the matching release of "foo" even if an older ABI/API-compatible
> one is installed already. The older one may malfunction at run-time,
> whereas the matching one contains the needed bug-fixes. Hence the
> explicit Requires for -devel package users.
> 




More information about the devel mailing list