Bug 1001272

Summary: ViTables : duplicate documentation files / potentially conflicting
Product: [Fedora] Fedora Reporter: Michael Schwendt <bugs.michael>
Component: ViTablesAssignee: Thibault North <thibault.north>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: thibault.north, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ViTables-2.1-7.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-10 06:35:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 993551    
Attachments:
Description Flags
patch none

Description Michael Schwendt 2013-08-26 19:58:36 UTC
Duplicate documentation files have been detected in the package
builds for Rawhide and Fedora 20. The likely cause is the unversioned
docdirs change in Fedora 20.

If your package %installs documentation files into %{_docdir}/%{name}/ to
store them in a subpackage, this now conflicts with using the %doc
macro in the base package. Since Fedora 20, the %doc macro installs into
the unversioned %{_docdir}/%{name}/ and includes everything in that
directory. One obvious fix is to decide between either using %doc or
installing into %{_docdir}/%{name}/ manually as explained in the
Packaging tricks Wiki section (for past dist releases and the versioned
docdir).

General discussion of this problem:
https://fedorahosted.org/fpc/ticket/338

Further information:
http://fedoraproject.org/wiki/Changes/UnversionedDocdirs
https://fedoraproject.org/wiki/Packaging_tricks#Installing_documentation:_2_paths

[semi-automated bug report]

[...]

=> ViTables-2.1-6.fc20.src.rpm
=> ViTables-doc-2.1-6.fc20.noarch in fedora-development-i386
  File conflict with: ViTables-2.1-6.fc20.noarch
     /usr/share/doc/ViTables/UsersGuide.pdf
     /usr/share/doc/ViTables/examples/arrays/array_samples.h5
     /usr/share/doc/ViTables/examples/arrays/carray_sample.h5
     /usr/share/doc/ViTables/examples/arrays/earray_samples.h5
     /usr/share/doc/ViTables/examples/arrays/vlarray_samples.h5
     /usr/share/doc/ViTables/examples/misc/MDobjects.h5
     /usr/share/doc/ViTables/examples/misc/fnode.h5
     /usr/share/doc/ViTables/examples/misc/genericHDF5.h5
     /usr/share/doc/ViTables/examples/misc/netcdf3.h5
     /usr/share/doc/ViTables/examples/misc/nonalphanum.h5
     /usr/share/doc/ViTables/examples/misc/objecttree.h5
     /usr/share/doc/ViTables/examples/misc/szip_compressor.h5
     /usr/share/doc/ViTables/examples/scripts/MDobjects.py
     /usr/share/doc/ViTables/examples/scripts/MDobjects.pyc
     /usr/share/doc/ViTables/examples/scripts/MDobjects.pyo
     /usr/share/doc/ViTables/examples/scripts/array_samples.py
     /usr/share/doc/ViTables/examples/scripts/array_samples.pyc
     /usr/share/doc/ViTables/examples/scripts/array_samples.pyo
     /usr/share/doc/ViTables/examples/scripts/array_timeseries.py
     /usr/share/doc/ViTables/examples/scripts/array_timeseries.pyc
     /usr/share/doc/ViTables/examples/scripts/array_timeseries.pyo
     /usr/share/doc/ViTables/examples/scripts/carray_samples.py
     /usr/share/doc/ViTables/examples/scripts/carray_samples.pyc
     /usr/share/doc/ViTables/examples/scripts/carray_samples.pyo
     /usr/share/doc/ViTables/examples/scripts/create-large-table.py
     /usr/share/doc/ViTables/examples/scripts/create-large-table.pyc
     /usr/share/doc/ViTables/examples/scripts/create-large-table.pyo
     /usr/share/doc/ViTables/examples/scripts/earray_samples.py
     /usr/share/doc/ViTables/examples/scripts/earray_samples.pyc
     /usr/share/doc/ViTables/examples/scripts/earray_samples.pyo
     /usr/share/doc/ViTables/examples/scripts/filenode_sample.py
     /usr/share/doc/ViTables/examples/scripts/filenode_sample.pyc
     /usr/share/doc/ViTables/examples/scripts/filenode_sample.pyo
     /usr/share/doc/ViTables/examples/scripts/large_number_of_objects.py
     /usr/share/doc/ViTables/examples/scripts/large_number_of_objects.pyc
     /usr/share/doc/ViTables/examples/scripts/large_number_of_objects.pyo
     /usr/share/doc/ViTables/examples/scripts/nested_samples.py
     /usr/share/doc/ViTables/examples/scripts/nested_samples.pyc
     /usr/share/doc/ViTables/examples/scripts/nested_samples.pyo
     /usr/share/doc/ViTables/examples/scripts/netCDF_example.py
     /usr/share/doc/ViTables/examples/scripts/netCDF_example.pyc
     /usr/share/doc/ViTables/examples/scripts/netCDF_example.pyo
     /usr/share/doc/ViTables/examples/scripts/objecttree.py
     /usr/share/doc/ViTables/examples/scripts/objecttree.pyc
     /usr/share/doc/ViTables/examples/scripts/objecttree.pyo
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries1.py
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries1.pyc
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries1.pyo
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries2.py
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries2.pyc
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries2.pyo
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries3.py
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries3.pyc
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries3.pyo
     /usr/share/doc/ViTables/examples/scripts/table_samples.py
     /usr/share/doc/ViTables/examples/scripts/table_samples.pyc
     /usr/share/doc/ViTables/examples/scripts/table_samples.pyo
     /usr/share/doc/ViTables/examples/scripts/table_timeseries.py
     /usr/share/doc/ViTables/examples/scripts/table_timeseries.pyc
     /usr/share/doc/ViTables/examples/scripts/table_timeseries.pyo
     /usr/share/doc/ViTables/examples/scripts/vlarray_samples.py
     /usr/share/doc/ViTables/examples/scripts/vlarray_samples.pyc
     /usr/share/doc/ViTables/examples/scripts/vlarray_samples.pyo
     /usr/share/doc/ViTables/examples/tables/nested_samples.h5
     /usr/share/doc/ViTables/examples/tables/table_samples.h5
     /usr/share/doc/ViTables/examples/timeseries/carray_ts.h5
     /usr/share/doc/ViTables/examples/timeseries/scikits_test1.hdf5
     /usr/share/doc/ViTables/examples/timeseries/scikits_test2.hdf5
     /usr/share/doc/ViTables/examples/timeseries/scikits_test3.hdf5
     /usr/share/doc/ViTables/examples/timeseries/table_ts.h5

=> ViTables-2.1-6.fc20.src.rpm
=> ViTables-2.1-6.fc20.noarch in fedora-development-i386
  File conflict with: ViTables-doc-2.1-6.fc20.noarch
     /usr/share/doc/ViTables/UsersGuide.pdf
     /usr/share/doc/ViTables/examples/arrays/array_samples.h5
     /usr/share/doc/ViTables/examples/arrays/carray_sample.h5
     /usr/share/doc/ViTables/examples/arrays/earray_samples.h5
     /usr/share/doc/ViTables/examples/arrays/vlarray_samples.h5
     /usr/share/doc/ViTables/examples/misc/MDobjects.h5
     /usr/share/doc/ViTables/examples/misc/fnode.h5
     /usr/share/doc/ViTables/examples/misc/genericHDF5.h5
     /usr/share/doc/ViTables/examples/misc/netcdf3.h5
     /usr/share/doc/ViTables/examples/misc/nonalphanum.h5
     /usr/share/doc/ViTables/examples/misc/objecttree.h5
     /usr/share/doc/ViTables/examples/misc/szip_compressor.h5
     /usr/share/doc/ViTables/examples/scripts/MDobjects.py
     /usr/share/doc/ViTables/examples/scripts/MDobjects.pyc
     /usr/share/doc/ViTables/examples/scripts/MDobjects.pyo
     /usr/share/doc/ViTables/examples/scripts/array_samples.py
     /usr/share/doc/ViTables/examples/scripts/array_samples.pyc
     /usr/share/doc/ViTables/examples/scripts/array_samples.pyo
     /usr/share/doc/ViTables/examples/scripts/array_timeseries.py
     /usr/share/doc/ViTables/examples/scripts/array_timeseries.pyc
     /usr/share/doc/ViTables/examples/scripts/array_timeseries.pyo
     /usr/share/doc/ViTables/examples/scripts/carray_samples.py
     /usr/share/doc/ViTables/examples/scripts/carray_samples.pyc
     /usr/share/doc/ViTables/examples/scripts/carray_samples.pyo
     /usr/share/doc/ViTables/examples/scripts/create-large-table.py
     /usr/share/doc/ViTables/examples/scripts/create-large-table.pyc
     /usr/share/doc/ViTables/examples/scripts/create-large-table.pyo
     /usr/share/doc/ViTables/examples/scripts/earray_samples.py
     /usr/share/doc/ViTables/examples/scripts/earray_samples.pyc
     /usr/share/doc/ViTables/examples/scripts/earray_samples.pyo
     /usr/share/doc/ViTables/examples/scripts/filenode_sample.py
     /usr/share/doc/ViTables/examples/scripts/filenode_sample.pyc
     /usr/share/doc/ViTables/examples/scripts/filenode_sample.pyo
     /usr/share/doc/ViTables/examples/scripts/large_number_of_objects.py
     /usr/share/doc/ViTables/examples/scripts/large_number_of_objects.pyc
     /usr/share/doc/ViTables/examples/scripts/large_number_of_objects.pyo
     /usr/share/doc/ViTables/examples/scripts/nested_samples.py
     /usr/share/doc/ViTables/examples/scripts/nested_samples.pyc
     /usr/share/doc/ViTables/examples/scripts/nested_samples.pyo
     /usr/share/doc/ViTables/examples/scripts/netCDF_example.py
     /usr/share/doc/ViTables/examples/scripts/netCDF_example.pyc
     /usr/share/doc/ViTables/examples/scripts/netCDF_example.pyo
     /usr/share/doc/ViTables/examples/scripts/objecttree.py
     /usr/share/doc/ViTables/examples/scripts/objecttree.pyc
     /usr/share/doc/ViTables/examples/scripts/objecttree.pyo
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries1.py
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries1.pyc
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries1.pyo
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries2.py
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries2.pyc
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries2.pyo
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries3.py
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries3.pyc
     /usr/share/doc/ViTables/examples/scripts/scikits_timeseries3.pyo
     /usr/share/doc/ViTables/examples/scripts/table_samples.py
     /usr/share/doc/ViTables/examples/scripts/table_samples.pyc
     /usr/share/doc/ViTables/examples/scripts/table_samples.pyo
     /usr/share/doc/ViTables/examples/scripts/table_timeseries.py
     /usr/share/doc/ViTables/examples/scripts/table_timeseries.pyc
     /usr/share/doc/ViTables/examples/scripts/table_timeseries.pyo
     /usr/share/doc/ViTables/examples/scripts/vlarray_samples.py
     /usr/share/doc/ViTables/examples/scripts/vlarray_samples.pyc
     /usr/share/doc/ViTables/examples/scripts/vlarray_samples.pyo
     /usr/share/doc/ViTables/examples/tables/nested_samples.h5
     /usr/share/doc/ViTables/examples/tables/table_samples.h5
     /usr/share/doc/ViTables/examples/timeseries/carray_ts.h5
     /usr/share/doc/ViTables/examples/timeseries/scikits_test1.hdf5
     /usr/share/doc/ViTables/examples/timeseries/scikits_test2.hdf5
     /usr/share/doc/ViTables/examples/timeseries/scikits_test3.hdf5
     /usr/share/doc/ViTables/examples/timeseries/table_ts.h5

WARNING: file mode conflict
    => /etc/heat/heat-engine.conf
    => heat-7-4.fc20.noarch openstack-heat-engine-2013.2-0.5.b2.fc20.noarch
    => 33188 / 33184
WARNING: file mode conflict
    => /etc/heat/heat-engine.conf
    => openstack-heat-engine-2013.2-0.5.b2.fc20.noarch heat-7-4.fc20.noarch
    => 33184 / 33188

Comment 1 Zbigniew Jędrzejewski-Szmek 2013-10-17 00:48:35 UTC
Created attachment 813150 [details]
patch

Comment 2 Zbigniew Jędrzejewski-Szmek 2013-10-17 01:02:48 UTC
http://koji.fedoraproject.org/koji/taskinfo?taskID=6067285

Comment 3 Fedora Update System 2013-10-17 02:39:31 UTC
ViTables-2.1-7.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/ViTables-2.1-7.fc20

Comment 4 Michael Schwendt 2013-10-17 11:32:19 UTC
> +# force the directory to be the same for ViTables and ViTables-doc
> +%global _docdir_fmt %{name}
> +

An interesting fix, but I'd like to point out that now the %doc files from the base package are duplicated in the -doc subpackage without being specified in the "%files doc" list.

Comment 5 Zbigniew Jędrzejewski-Szmek 2013-10-17 11:43:18 UTC
(In reply to Michael Schwendt from comment #4)
> > +# force the directory to be the same for ViTables and ViTables-doc
> > +%global _docdir_fmt %{name}
> > +
> 
> An interesting fix, but I'd like to point out that now the %doc files from
> the base package are duplicated in the -doc subpackage without being
> specified in the "%files doc" list.

Yes, I was a bit surprised by that too, but actually I think it's a good thing: that way if the user installs only the -doc package (for whatever reason), she gets the full set of docs.

It this was to change, than rpm/macros/whatever should be modified to ignore files specified in the %files of other packages, unless explicitly specified in the %files of this package. Or maybe the change to automatically include everything in /usr/share/doc/package should be reverted. Sometimes too much magic is a bad thing. Changing this in the spec would be a lot of effort.

Comment 6 Fedora Update System 2013-10-17 20:26:18 UTC
Package ViTables-2.1-7.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 ViTables-2.1-7.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-19160/ViTables-2.1-7.fc20
then log in and leave karma (feedback).

Comment 7 Fedora Update System 2013-11-10 06:35:13 UTC
ViTables-2.1-7.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.