Bug 1003196 - Files and libs duplicated in mate-dictionary and mate-utils
Files and libs duplicated in mate-dictionary and mate-utils
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: mate-utils (Show other bugs)
20
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Rex Dieter
Fedora Extras Quality Assurance
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-08-31 13:50 EDT by Michael Schwendt
Modified: 2013-09-22 20:06 EDT (History)
4 users (show)

See Also:
Fixed In Version: mate-utils-1.6.0-8.fc20
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-09-14 20:53:02 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Michael Schwendt 2013-08-31 13:50:45 EDT
Based on this suspicious output

  mate-dictionary  from  mate-utils
      provides libmatedict.so.6()(64bit)
  mate-utils  from  mate-utils
      provides libmatedict.so.6()(64bit)
      required by: mate-dictionary-devel-1.6.0-7.fc20.x86_64
      required by: mate-utils-devel-1.6.0-7.fc20.x86_64

I've only verified in koji that lots of files are included in both sub-packages. Even the descriptions overlap.
Comment 1 Wolfgang Ulbrich 2013-09-01 14:26:23 EDT
Since 1.6.0-2 mate-utils is splited in some single packages for each application, and a meta package which includes all applications.
We wanted to give the user the possibility to install only needed single packages or install all with the mate-utils meta package.
This is also very useful for comps and livecd images.
RPM is able to handle this and we have no package conflicts.
Comment 2 Michael Schwendt 2013-09-01 15:09:28 EDT
Not so fast, please. This is really odd packaging.

mate-utils is not a meta-package. A meta-package doesn't contain any files, but just dependencies on other packages.

The correct and cleaner way to package this would be for mate-utils to require mate-dictionary (and the other subpackages). And in case there are shared files the individual subpackages need, these are to be split off into subpackages as well.

[...]

I've posted to packaging list about this. So far, it has always been a packaging mistake to duplicate files (and their Provides as a consequence) into multiple subpackages.
Comment 3 Wolfgang Ulbrich 2013-09-01 15:25:29 EDT
.....i'm only the co-maintainer....not my idea.
Comment 4 Michael Schwendt 2013-09-02 07:55:44 EDT
Does that mean you agree that it's a packaging bug?

Then we can spare ourselves the hassle. ;)


(Just imagine one of the existing sub-packages would be replaced with something from a separate src.rpm. What would happen to the duplicate files in the mate-utils package?)
Comment 5 Wolfgang Ulbrich 2013-09-02 10:51:15 EDT
(In reply to Michael Schwendt from comment #4)
> Does that mean you agree that it's a packaging bug?
> 
> Then we can spare ourselves the hassle. ;)
>
This means i agree with you that a split of mate-utils can be done in a better way without duplication of binaries and libaries. ;)
Saying this without a practical test.
But it makes no sense that i repair the split again as you can see in changelog.
Better a job of the maintainer. 
> 
> (Just imagine one of the existing sub-packages would be replaced with
> something from a separate src.rpm. What would happen to the duplicate files
> in the mate-utils package?)
There is no seperate src.rpm for mate-dictionary,ie.
All subpackages has only one mate-utils.src.rpm.
If only mate-dictionary is installed than installing mate-utils will handle by yum/rpm without creating a package conflict from the dublicate files. I was very surprised for myself about this.
But again i agree with you to split the package without file duplication.
Comment 6 Rex Dieter 2013-09-03 08:59:59 EDT
I can help fix this, looks like there are a couple issues going on here, but it all boils down to the same duplication issue.

1.  It would appear that all (most?) of the mate-dictionary subpkg content is duplicated in the main package.

2.  essentially identical -devel subpkgs (varying only in name).


I'd propose to remove all dict-related content from the main package, and to drop (Obsoletes) the mate-dictionary-devel subpkg in favor of keeping mate-utils-devel

If there is no comment or objection, I'll get to work on this soonish.
Comment 7 Michael Schwendt 2013-09-03 14:09:26 EDT
Re: comment 5

The bottom of comment 4 has been misunderstood:   Yes, "there is no seperate src.rpm for mate-dictionary" _currently_. I wrote "_imagine_ (!) one of the existing sub-packages would be replaced with something from a separate src.rpm". What would happen in that case? -> The build from the separate src.rpm could obsolete (=replace) the mate-dictionary package, but what could it do about the duplicated files inside the mate-utils package? Nothing. The mate-utils package would need to drop the duplicated files and gain a dependency on the mate-dictionary replacement package. That's *exactly* what ought to be the case already: mate-utils Requires mate-dictionary ... plus the other sub-packages, too.
Comment 8 Rex Dieter 2013-09-05 23:02:21 EDT
OK, please review:

http://pkgs.fedoraproject.org/cgit/mate-utils.git/commit/?id=687d681624c3159341e27f15eff5d4e477b9c100

Wasn't entirely sure what to do with an essentially empty main package, figured we could use that as a metapackage for installing everything (and upgrade purposes).
Comment 9 Wolfgang Ulbrich 2013-09-06 04:41:34 EDT
Thanks Rex, looks good to me.
Hope that Dan also read this topic and your spec file, and learnt to split a package without doing it himself.
We can also remove --add-category="X-Mate" from desktop-file-install, no need for this since MATE is registrated for OnlyShowIn.
Also using --with-gnome in %find_lang seems to be not necessary, imo.
Will fix this in next build.
Comment 10 Michael Schwendt 2013-09-06 05:07:24 EDT
> Wasn't entirely sure what to do with an essentially empty main package,
> figured we could use that as a metapackage for installing everything

That's what comment 1 explained.


> please review:

It fixes another mistake that has been missed. The previous build of mate-utils did not contain the /usr/share/mate-utils directory, so it was incomplete:

  $ rpmls -p mate-utils-1.6.0-7.fc18.x86_64.rpm|grep share/mate-utils
  $


If the -common package is arch-specific, I would add %{?_isa} anywhere it's required and also to the several subpackage deps in the meta package.


> %package devel
> Summary: Development files for mate-utils

Mixed feelings here. Currently, this -devel package is specific to mate-dictionary and its shared library API. I cannot tell whether there will be devel files for the other utils ever. It would be okay to build a mate-dictionary-devel package instead. That would be a more clear name than deriving its name from the mate-utils meta package.
Comment 11 Rex Dieter 2013-09-06 08:00:31 EDT
Thanks.

Indeed -common was intended to be noarch, I'll fix that.

Re: the -devel thing, I too had mixed feelings (nothing currently BR's either version, so folks can change their minds later without too much fuss).
Comment 12 Fedora Update System 2013-09-06 10:50:06 EDT
mate-utils-1.6.0-8.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/mate-utils-1.6.0-8.fc19
Comment 13 Fedora Update System 2013-09-06 10:50:15 EDT
mate-utils-1.6.0-8.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/mate-utils-1.6.0-8.fc18
Comment 14 Fedora Update System 2013-09-06 10:50:24 EDT
mate-utils-1.6.0-8.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/mate-utils-1.6.0-8.fc20
Comment 15 Fedora Update System 2013-09-06 13:25:38 EDT
Package mate-utils-1.6.0-8.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing mate-utils-1.6.0-8.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-15955/mate-utils-1.6.0-8.fc20
then log in and leave karma (feedback).
Comment 16 Fedora Update System 2013-09-14 20:53:02 EDT
mate-utils-1.6.0-8.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 17 Fedora Update System 2013-09-14 20:56:16 EDT
mate-utils-1.6.0-8.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 18 Fedora Update System 2013-09-22 20:06:57 EDT
mate-utils-1.6.0-8.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.