Bug 1001243

Summary: kicad : duplicate documentation files / potentially conflicting
Product: [Fedora] Fedora Reporter: Michael Schwendt <bugs.michael>
Component: kicadAssignee: Alain Portal <alain.portal>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: alain.portal, alain.portal, chitlesh, thibault.north
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: kicad-2013.06.11-4.rev4021.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-01-07 09:45:43 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:

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

[...]

=> kicad-2013.06.11-3.rev4021.fc20.src.rpm
=> kicad-doc-2013.06.11-3.rev4021.fc20.noarch in fedora-development-i386
  File conflict with: kicad-2013.06.11-3.rev4021.fc20.i686
     /usr/share/doc/kicad/help/en/kicad.pdf

=> kicad-2013.06.11-3.rev4021.fc20.src.rpm
=> kicad-2013.06.11-3.rev4021.fc20.i686 in fedora-development-i386
  File conflict with: kicad-doc-2013.06.11-3.rev4021.fc20.noarch
     /usr/share/doc/kicad/help/en/kicad.pdf

Comment 1 Michael Schwendt 2013-12-18 00:54:24 UTC
Looks like an easy fix. Removing from tracker ticket, since the docdir is non-versioned, and there are several other packaging issues:


* package -doc sets wrong Group tag, should be "Documentation

* package -doc should not require "kicad", so the documentation can be installed and viewed independently

* none of the -doc-XX subpackages for non-English languages should depend on the -doc package. If that has been done only for directory ownership, please notice
https://fedoraproject.org/wiki/Packaging:Guidelines#The_directory_is_owned_by_a_package_which_is_not_required_for_your_package_to_function

in other words, you may add a "%dir %{_docdir}/%{name}" entry to each -doc-XX package instead of depending on the -doc package

* BuildRoot definition, emptying and the %clean section are not needed anymore, not for EL6 either
https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag
https://fedoraproject.org/wiki/Packaging:Guidelines#.25clean

* package "kicad" executes ldconfig in scriptlets. Why? It doesn't install any shared libs in run-time linker's search path. And for the extended search path that adds %_libdir/kicad/, ldconfig doesn't need to be called, because the dir is empty. 

* %defattr is not needed anymore for any of the active dist releases including EL5+6
https://fedoraproject.org/wiki/Packaging:Guidelines#File_Permissions

* files below %_docdir are marked as documentation automatically, no need to use %doc for such paths

* why does the base package duplicate %{_docdir}/%{name}/help/en/kicad.pdf? If that file is a hard requirement, it must not be stored in docdir, since RPM may be configured to --excludedocs. a file that MUST be available at run-time would need to be stored elsewhere and not below /usr/share/doc

Comment 2 Alain Portal 2013-12-23 19:36:45 UTC
(In reply to Michael Schwendt from comment #1)
> Looks like an easy fix. Removing from tracker ticket, since the docdir is
> non-versioned, and there are several other packaging issues:
> 
> 
> * package -doc sets wrong Group tag, should be "Documentation

Fixed.

> * package -doc should not require "kicad", so the documentation can be
> installed and viewed independently

I don't agree, but fixed.

> * none of the -doc-XX subpackages for non-English languages should depend on
> the -doc package. If that has been done only for directory ownership, please
> notice
> https://fedoraproject.org/wiki/Packaging:
> Guidelines#The_directory_is_owned_by_a_package_which_is_not_required_for_your
> _package_to_function
> 
> in other words, you may add a "%dir %{_docdir}/%{name}" entry to each
> -doc-XX package instead of depending on the -doc package

doc-XX depends on doc because translations are poor
Won't fix.

> * BuildRoot definition, emptying and the %clean section are not needed
> anymore, not for EL6 either
> https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag
> https://fedoraproject.org/wiki/Packaging:Guidelines#.25clean

Fixed.

> * package "kicad" executes ldconfig in scriptlets. Why? It doesn't install
> any shared libs in run-time linker's search path. And for the extended
> search path that adds %_libdir/kicad/, ldconfig doesn't need to be called,
> because the dir is empty. 

Fixed.

> * %defattr is not needed anymore for any of the active dist releases
> including EL5+6
> https://fedoraproject.org/wiki/Packaging:Guidelines#File_Permissions

Fixed.

> * files below %_docdir are marked as documentation automatically, no need to
> use %doc for such paths

Fixed.

> * why does the base package duplicate %{_docdir}/%{name}/help/en/kicad.pdf?
> If that file is a hard requirement, it must not be stored in docdir, since
> RPM may be configured to --excludedocs. a file that MUST be available at
> run-time would need to be stored elsewhere and not below /usr/share/doc

Fixed.

Thanks for this review ;-)

Comment 4 Fedora Update System 2013-12-24 12:03:39 UTC
kicad-2013.06.11-4.rev4021.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/kicad-2013.06.11-4.rev4021.fc20

Comment 5 Fedora Update System 2013-12-25 02:35:39 UTC
Package kicad-2013.06.11-4.rev4021.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 kicad-2013.06.11-4.rev4021.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-23944/kicad-2013.06.11-4.rev4021.fc20
then log in and leave karma (feedback).

Comment 6 Fedora Update System 2014-01-07 09:45:43 UTC
kicad-2013.06.11-4.rev4021.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.