Bug 1001242 - geda-gaf : duplicate documentation files / potentially conflicting
Summary: geda-gaf : duplicate documentation files / potentially conflicting
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: geda-gaf
Version: 22
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kiara Navarro
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1001271 1001286 1001287 1001289 1001290 1001293 1001294 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-08-26 19:54 UTC by Michael Schwendt
Modified: 2016-07-19 10:19 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-07-19 10:19:00 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Michael Schwendt 2013-08-26 19:54:46 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]

[...]

=> geda-gaf-1.8.1-4.fc20.src.rpm
=> 1:geda-gsymcheck-1.8.1-4.fc20.i686 in fedora-development-i386
  File conflict with: 1:geda-gaf-1.8.1-4.fc20.i686
     /usr/share/doc/geda-gaf/gsymcheck/tests/buses.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/buses.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/connections1.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/connections1.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/connections2.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/connections2.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/connections3.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/connections3.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/correct.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/correct.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/duplicate_net.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/duplicate_net.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/duplicate_pinnumber.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/duplicate_pinnumber.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/duplicate_pinseq.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/duplicate_pinseq.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/graphical_correct.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/graphical_correct.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/graphical_incorrect.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/graphical_incorrect.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef1.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef1.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef2.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef2.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef3.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef3.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef4.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef4.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/labelinside.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/labelinside.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/lots_of_errors.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/lots_of_errors.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/many_slotdefs.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/many_slotdefs.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/misplaced_attributes.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/misplaced_attributes.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_device.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_device.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_footprint.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_footprint.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_numslots.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_numslots.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_pinlabel.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_pinlabel.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_pinnumber.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_pinnumber.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_pinseq.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_pinseq.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_slotdef.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_slotdef.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_footprint.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_footprint.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pinlabel.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pinlabel.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pinnumber.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pinnumber.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pinseq.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pinseq.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pintype.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pintype.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_refdes.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_refdes.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/nameinside.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/nameinside.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/nets.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/nets.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/noslots.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/noslots.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/old_symbol.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/old_symbol.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/oldpins.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/oldpins.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/oldslot.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/oldslot.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/pin_offgrid.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/pin_offgrid.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/pintypes.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/pintypes.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/runtest.sh
     /usr/share/doc/geda-gaf/gsymcheck/tests/text_errors.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/text_errors.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/typeinside.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/typeinside.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/urefinside.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/urefinside.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_pinnumber.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_pinnumber.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_pinseq.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_pinseq.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_slotnum.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_slotnum.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_slots.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_slots.sym

=> geda-gaf-1.8.1-4.fc20.src.rpm
=> 1:geda-gaf-1.8.1-4.fc20.i686 in fedora-development-i386
  File conflict with: 1:geda-gsymcheck-1.8.1-4.fc20.i686
     /usr/share/doc/geda-gaf/gsymcheck/tests/buses.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/buses.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/connections1.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/connections1.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/connections2.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/connections2.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/connections3.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/connections3.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/correct.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/correct.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/duplicate_net.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/duplicate_net.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/duplicate_pinnumber.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/duplicate_pinnumber.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/duplicate_pinseq.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/duplicate_pinseq.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/graphical_correct.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/graphical_correct.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/graphical_incorrect.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/graphical_incorrect.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef1.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef1.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef2.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef2.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef3.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef3.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef4.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/invalid_slotdef4.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/labelinside.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/labelinside.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/lots_of_errors.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/lots_of_errors.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/many_slotdefs.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/many_slotdefs.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/misplaced_attributes.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/misplaced_attributes.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_device.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_device.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_footprint.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_footprint.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_numslots.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_numslots.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_pinlabel.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_pinlabel.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_pinnumber.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_pinnumber.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_pinseq.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_pinseq.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_slotdef.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/missing_slotdef.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_footprint.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_footprint.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pinlabel.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pinlabel.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pinnumber.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pinnumber.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pinseq.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pinseq.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pintype.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_pintype.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_refdes.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/multiple_refdes.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/nameinside.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/nameinside.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/nets.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/nets.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/noslots.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/noslots.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/old_symbol.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/old_symbol.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/oldpins.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/oldpins.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/oldslot.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/oldslot.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/pin_offgrid.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/pin_offgrid.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/pintypes.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/pintypes.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/runtest.sh
     /usr/share/doc/geda-gaf/gsymcheck/tests/text_errors.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/text_errors.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/typeinside.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/typeinside.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/urefinside.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/urefinside.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_pinnumber.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_pinnumber.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_pinseq.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_pinseq.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_slotnum.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_slotnum.sym
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_slots.output
     /usr/share/doc/geda-gaf/gsymcheck/tests/zero_slots.sym

Comment 1 Michael Schwendt 2013-08-26 20:44:28 UTC
*** Bug 1001271 has been marked as a duplicate of this bug. ***

Comment 2 Michael Schwendt 2013-08-26 20:44:33 UTC
*** Bug 1001286 has been marked as a duplicate of this bug. ***

Comment 3 Michael Schwendt 2013-08-26 20:44:37 UTC
*** Bug 1001287 has been marked as a duplicate of this bug. ***

Comment 4 Michael Schwendt 2013-08-26 20:44:41 UTC
*** Bug 1001289 has been marked as a duplicate of this bug. ***

Comment 5 Michael Schwendt 2013-08-26 20:44:45 UTC
*** Bug 1001290 has been marked as a duplicate of this bug. ***

Comment 6 Michael Schwendt 2013-08-26 20:44:49 UTC
*** Bug 1001293 has been marked as a duplicate of this bug. ***

Comment 7 Michael Schwendt 2013-08-26 20:44:54 UTC
*** Bug 1001294 has been marked as a duplicate of this bug. ***

Comment 8 Michael Schwendt 2013-08-26 20:49:22 UTC
Manual cleanup, since here something has gone wrong with the automated reporting.

It seems there are multiple subpackages, which duplicate docs in the base package:

=> geda-gaf-1.8.1-4.fc20.src.rpm
=> 1:geda-utils-1.8.1-4.fc20.i686 in fedora-development-i386  
  File conflict with: 1:geda-gaf-1.8.1-4.fc20.i686

=> geda-gaf-1.8.1-4.fc20.src.rpm
=> 1:geda-gsymcheck-1.8.1-4.fc20.i686 in fedora-development-i386  
  File conflict with: 1:geda-gaf-1.8.1-4.fc20.i686

=> geda-gaf-1.8.1-4.fc20.src.rpm
=> 1:geda-gaf-1.8.1-4.fc20.i686 in fedora-development-i386  
  File conflict with: 1:geda-docs-1.8.1-4.fc20.noarch

Comment 9 Peter TB Brett 2013-09-05 08:18:58 UTC
I'm the upstream maintainer of the geda-gaf package.

You shouldn't be installing those gsymcheck testcase files, anyway.  They are genuinely useless outside the source tree.  The correct fix here is to not install them.

The same goes for all of the other test data that the various bug reports are complaining about.

Comment 10 Michael Schwendt 2013-12-18 12:54:50 UTC
I see there has been an update in koji without addressing this issue.

Removing from tracker ticket, since the docdir is non-versioned, and there are several other packaging issues:

[...]

First of all, related to the documentation files, there is a strange mix of using the %doc macro to install local files and installing files using full paths. That results in a package creating _two_ different doc directories. For example:

  %files -n geda-utils
  %doc utils/{ChangeLog*,README,AUTHORS}
  %doc %{_docdir}/%{name}/utils
  %doc %{_docdir}/%{name}/readmes/

The first %doc line stores the specified files in /usr/share/doc/geda-utils/ whereas the two subsequent lines add two directories below /usr/share/doc/geda/

That can cause confusion. It's much more common to have one docdir per package name. Or to set up a common docdir to be shared by all subpackages.

If the software installs documentation already, be careful when adding local files using the %doc macro. It can be more convenient to add files in the %install section.


Files below %_docdir are marked as documentation implicitly, so no extra %doc attribute needs to be added at the beginning. Same for %_mandir, which you should prefer over %_datadir/man


Adding a trailing slash to entries in %files makes it explicit which lines specify a directory and not only a single file. For example, the following line is bad,

  %doc %{_datadir}/man/man1

because it includes the directory /usr/share/man/man1 and everything in it. That dir belongs into the "filesystem" package only. It's bug in geda-gaf packaging. Better:

  %{_mandir}/man/man1/*

The line

  %doc %{_docdir}/%{name}/wiki

would better be written as

  %{_docdir}/%{name}/wiki/

with a trailing slash. There are other examples in the spec file.

[...]

Other issues:

* %defattr(…) is not needed anymore for any of the active dist releases, including EL5 and EL6

* no %{?_isa} macro is being used yet, so several of the inter-package dependencies are not arch-specific yet. Find an example here:
https://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package

* the geda-docs package has dependencies. Documentation packages should be installable without pulling in lots of dependencies. That makes it convenient to review documentation without having to install the application itself.

Comment 11 Shakthi Kannan 2013-12-18 14:10:17 UTC
I have taken ownership of this package from Chitlesh. I shall provide an updated package with the required changes soon.

Comment 12 Jaroslav Reznik 2015-03-03 16:54:52 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle.
Changing version to '22'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22

Comment 13 Fedora Admin XMLRPC Client 2015-10-07 19:47:45 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 14 Fedora Admin XMLRPC Client 2015-10-14 00:09:49 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 15 Fedora End Of Life 2016-07-19 10:19:00 UTC
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


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