Bug 225778 - Merge Review: gcc
Summary: Merge Review: gcc
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: 26
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Package Reviews List
URL:
Whiteboard:
Depends On: 225809
Blocks: F9MergeReviewTarget
TreeView+ depends on / blocked
 
Reported: 2007-01-31 18:40 UTC by Nobody's working on this, feel free to take it
Modified: 2018-05-29 11:25 UTC (History)
9 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2018-05-29 11:25:50 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Nobody's working on this, feel free to take it 2007-01-31 18:40:47 UTC
Fedora Merge Review: gcc

http://cvs.fedora.redhat.com/viewcvs/devel/gcc/
Initial Owner: jakub

Comment 1 Roozbeh Pournader 2007-02-03 23:36:54 UTC
BLOCKER:
MUST: The spec file name must match the base package %{name}, in the format
%{name}.spec

But it currently is gcc41.spec.

Comment 2 Jakub Jelinek 2007-02-06 21:28:05 UTC
According to Jesse Keating that's just a suggestion, not a hard requirement.
Encoding the major/minor version in the spec filename makes it easier to merge
changes side by side between different gcc spec files, and more importantly,
renaming it now would with the crappy CVS mean losing the CVS history for that
file.

Comment 3 Toshio Kuratomi 2007-02-08 04:50:47 UTC
It's a requirement.  See the third MUST item on:
http://www.fedoraproject.org/wiki/Packaging/ReviewGuidelines

This was discussed a very long time ago, before the Packaging Committee was
formed.  Let me know if you consider this important enough that you'd like us to
bring it up for discussion at a future Packaging Meeting.

Comment 4 Jakub Jelinek 2007-02-08 07:41:55 UTC
Yes, I do consider this important enough.  Also, gcc isn't the only package
that intentionally uses different spec naming, see e.g. kernel-2.6.spec.


Comment 5 Toshio Kuratomi 2007-02-08 16:30:43 UTC
Added to the Packaging Committee schedule.  I'll update this bug with any
information I turn up from spot or the mailing list archives before then.  If
you (or DaveJ regarding the kernel) are interested in arguing the case for
%{name}-%{version}, discussion will kick off on fedora-packaging and
continue on #fedora-packaging on freenode, Tuesday, February 13th, 17:00 UTC, if
we can't achieve agreement on the mailing list.

Comment 6 Toshio Kuratomi 2007-02-08 18:02:17 UTC
We've had some initial conversations on #fedora-packaging which is leading to
these thoughts:

1) The original reason for the guideline was to prevent foo-1.0.tar.gz => bar.spec.
2) Preserving history is a perfectly valid wish.
3) comparing two versions of the spec could be done with the SCM's diff command:
   cvs diff -u -r qa-assistant-0_4_1-4_fc5 -r HEAD qa-assistant.spec
   for instance.

So my current thought on a proposal is:
'''
The spec file should be named using the %{name}.spec scheme. This is to make it
easier for people to find the appropriate spec when they install a src.rpm.

Example:
If your package is named foo-1.0.0-1.src.rpm, then the spec file should be named
foo.spec.

There is no need to include the %{version} in the spec file name. If you are
packaging multiple versions of a package for simultaneous use, they should
already reflect the version in the %{name}.spec scheme (refer to Multiple
Packages with the same base name for details).  In normal cases adding the
version can cause the spec file's history to be lost when a package's version is
upgraded.

As a special exception, there are a few packages which are allowed to have a
version in their spec filename.  This is because they had the version in their
name when they were merged from Fedora Core's cvs and removing the version at
that time would *lose* history:
  * gcc
  * [Please ask the packaging committee to add your package if you think it
should fall under this exception as well.]

This exception will go away when any of the following criteria are met:
1) We move the packages to a revision control system which is able to preserve
history across a file rename.
2) The package spec file is going to be renamed anyway (for example, gcc41.spec
is imported into cvs.  When gcc is upgraded to gcc-4.2, the new spec will be
created as gcc.spec)
'''

This text will appear on:
  http://www.fedoraproject.org/wiki/Packaging/NamingGuidelines
and be linked from:
  http://www.fedoraproject.org/wiki/Packaging/ReviewGuidelines

Let me know if this addresses your concerns or if you have some ideas to make it
better.  I'll post it to fedora-packaging later today if you have no objections.

Comment 7 Toshio Kuratomi 2007-02-14 01:55:02 UTC
The proposal was accepted by the packaging committee.  Officially this has to
wait a week for people in Core nad Extras to raise potential problems and veto
the proposal.  If that doesn't occur then this guideline change will be
approved.  I think the logic is pretty sound so I'm removing the FE-GUIDELINES
blocker bug.

Comment 8 Kevin Kofler 2007-12-15 04:06:48 UTC
> and more importantly, renaming it now would with the crappy CVS mean losing
> the CVS history for that file.

That was the excuse for gcc41.spec, but why do we have a gcc43.spec now? :-(

Comment 9 Robert Scheck 2007-12-15 13:10:55 UTC
I think we're early enough in the process of gcc43.spec to move/rename the spec
file - there were currently only two commits/builds so nothing really gets lost.

Comment 10 Jason Tibbitts 2007-12-20 18:19:16 UTC
This package has been chosen as one we'd like to have reviewed before F9
release.  However, currently fedora-review is set to '?' but I don't see an
assigned reviewer.  Is anyone actually reviewing this?

Comment 11 Paul Wise (Debian) 2008-01-24 23:43:44 UTC
You might be interested in these Debian bugs, some of which have patches:

http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-gcc-4.2;users=tbm@cyrius.com
http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-gcc-4.3;users=tbm@cyrius.com

Debian is proposing to use GCC 4.3 with the release of lenny:

http://lists.debian.org/debian-release/2007/09/msg00001.html
http://lists.debian.org/debian-release/2008/01/threads.html#00250

Personally I think this will result in either a long delay or many removed
packages, or a combination of both.

Comment 12 Kevin Kofler 2008-01-30 18:15:17 UTC
I'm potentially interested in doing this merge review, but as long as the spec 
file isn't named according to the guidelines, it's not even worth looking any 
further. :-(

Comment 13 Jens Petersen 2008-09-03 23:37:08 UTC
Here is some rpmlint output:

gcc.src: E: no-spec-file

gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/ammintrin.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/varargs.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/libgcc.a
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/cpuid.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/unwind.h
gcc.i386: W: file-not-utf8 /usr/share/doc/gcc-4.3.2/ChangeLog-2007.bz2
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/float.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/tmmintrin.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/xmmintrin.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/bmmintrin.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/emmintrin.h
gcc.i386: W: file-not-utf8 /usr/share/doc/gcc-4.3.2/ChangeLog-2000.bz2
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/libgcc_eh.a
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/mmintrin-common.h
gcc.i386: W: file-not-utf8 /usr/share/doc/gcc-4.3.2/ChangeLog-2003.bz2
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/stdarg.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/libgomp.a
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/libgcc_s.so
gcc.i386: W: symlink-should-be-relative /usr/lib/gcc/i386-redhat-linux/4.3.2/libgcc_s.so /lib/libgcc_s.so.1
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/mm_malloc.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/pmmintrin.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/libgomp.so
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/omp.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/stddef.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/syslimits.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/nmmintrin.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/iso646.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/smmintrin.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/stdbool.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/libgcov.a
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/limits.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/mmintrin.h
gcc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/mm3dnow.h
gcc.i386: W: file-not-utf8 /usr/share/doc/gcc-4.3.2/ChangeLog-2006.bz2
gcc.i386: W: file-not-utf8 /usr/share/info/gccint.info.gz
gcc.i386: W: file-not-utf8 /usr/share/doc/gcc-4.3.2/ChangeLog-2004.bz2
gcc.i386: E: devel-dependency glibc-devel
gcc.i386: W: obsolete-not-provided gcc3
gcc.i386: W: obsolete-not-provided egcs
gcc.i386: W: obsolete-not-provided gcc-chill
gcc.i386: W: obsolete-not-provided gcc34
gcc.i386: W: obsolete-not-provided gcc35
gcc.i386: W: obsolete-not-provided gcc4
1 packages and 0 specfiles checked; 1 errors, 42 warnings.

gcc-c++.i386: W: file-not-utf8 /usr/share/doc/gcc-c++-4.3.2/ChangeLog-2006.bz2
gcc-c++.i386: W: file-not-utf8 /usr/share/doc/gcc-c++-4.3.2/ChangeLog-1998.bz2
gcc-c++.i386: W: file-not-utf8 /usr/share/doc/gcc-c++-4.3.2/ChangeLog-2000.bz2
gcc-c++.i386: W: file-not-utf8 /usr/share/doc/gcc-c++-4.3.2/ChangeLog-1999.bz2
gcc-c++.i386: E: devel-dependency libstdc++-devel
gcc-c++.i386: W: obsolete-not-provided gcc3-c++
gcc-c++.i386: W: obsolete-not-provided gcc34-c++
gcc-c++.i386: W: obsolete-not-provided gcc35-c++
gcc-c++.i386: W: obsolete-not-provided gcc4-c++
1 packages and 0 specfiles checked; 1 errors, 8 warnings.

gcc-objc++.i386: W: no-documentation
gcc-objc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/objc/objc-api.h
gcc-objc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/objc/thr.h
gcc-objc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/objc/encoding.h
gcc-objc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/objc/typedstream.h
gcc-objc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/objc/Object.h
gcc-objc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/objc/NXConstStr.h
gcc-objc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/objc/hash.h
gcc-objc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/objc/objc-decls.h
gcc-objc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/objc/sarray.h
gcc-objc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/libobjc.so
gcc-objc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/objc/objc-list.h
gcc-objc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/objc/objc.h
gcc-objc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/libobjc.a
gcc-objc.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/include/objc/Protocol.h
gcc-objc.i386: W: obsolete-not-provided gcc3-objc
gcc-java.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/libgij.so
gcc-java.i386: W: file-not-utf8 /usr/share/doc/gcc-java-4.3.2/ChangeLog.bz2
gcc-java.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/libgcj-tools.so
gcc-java.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/libgcj.so
gcc-java.i386: E: devel-dependency libgcj-devel
gcc-java.i386: W: obsolete-not-provided gcc3-java
gcc-java.i386: W: obsolete-not-provided gcc34-java
gcc-java.i386: W: obsolete-not-provided gcc35-java
gcc-java.i386: W: obsolete-not-provided gcc4-java
gcc-java.i386: E: binary-or-shlib-defines-rpath /usr/bin/gcjh ['/usr/lib']
gcc-java.i386: E: binary-or-shlib-defines-rpath /usr/bin/gjavah ['/usr/lib']
gcc-java.i386: E: only-non-binary-in-usr-lib
gcc-gfortran.i386: W: file-not-utf8 /usr/share/doc/gcc-gfortran-4.3.2/ChangeLog-2004.bz2
gcc-gfortran.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/finclude/omp_lib.h
gcc-gfortran.i386: W: file-not-utf8 /usr/share/doc/gcc-gfortran-4.3.2/ChangeLog-2007.bz2
gcc-gfortran.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/libgfortran.so
gcc-gfortran.i386: W: file-not-utf8 /usr/share/doc/gcc-gfortran-4.3.2/ChangeLog-2006.bz2
gcc-gfortran.i386: W: file-not-utf8 /usr/share/doc/gcc-gfortran-4.3.2/ChangeLog-2005.bz2
gcc-gfortran.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/libgfortranbegin.a
gcc-gfortran.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/libgfortran.a
gcc-gfortran.i386: W: obsolete-not-provided gcc3-g77
gcc-gfortran.i386: W: obsolete-not-provided gcc-g77
gcc-gfortran.i386: W: obsolete-not-provided gcc4-gfortran
gcc-gnat.i386: W: file-not-utf8 /usr/share/doc/gcc-gnat-4.3.2/ChangeLog.bz2
gcc-gnat.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/adalib/libgmem.a
gcc-gnat.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/adalib/libgnarl.a
gcc-gnat.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/adalib/libgnat.a
gcc-gnat.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/adalib/libgccprefix.a
gcc-gnat.i386: W: devel-file-in-non-devel-package /usr/lib/gcc/i386-redhat-linux/4.3.2/adalib/libgnala.a
gcc-gnat.i386: W: dangling-relative-symlink /usr/bin/gnatgcc gcc
gcc-gnat.i386: W: obsolete-not-provided gnat-devel
gcc-gnat.i386: W: obsolete-not-provided gcc3-gnat
gcc-gnat.i386: E: binary-or-shlib-defines-rpath /usr/bin/gnative2ascii ['/usr/lib']
7 packages and 0 specfiles checked; 7 errors, 95 warnings.

Comment 14 Jason Tibbitts 2008-09-03 23:52:08 UTC
Note that all of those devel-file-in-non-devel-package complaints are bogus; this is a compiler, and a gcc-devel package would be entirely pointless.

Those obsolete-not-provided bits could probably use some cleaning up.  There's not much reason to obsolete something which hasn't been in Fedora for perhaps three releases.

The devel-file-dependency is obviously not problematic.

I'm not sure about the file-not-utf8 complaints.  Obviously it would be nice for folks to be able to look at those changelogs and see the names of the contributors not being mangled, but there's probably some manual conversion effort involved and that would have to go upstream.

Comment 15 Jakub Jelinek 2008-09-04 06:15:22 UTC
Yes, the devel-file-in-non-devel-package and devel-dependency are bogus, gcc* are devel packages, the same for dangling-relative-symlink (the target of the symlink is provided by dependent package).  I guess I could try to iconv the ChangeLog files and will definitely drop /usr/bin/gnative2ascii and can look at fighting crappy libtool to get rid of the rpaths.  The obsolete-not-provided are useful there e.g. when backporting to older releases, though guess I could just comment them out.

Comment 16 Cole Robinson 2015-02-11 20:36:33 UTC
Mass reassigning all merge reviews to their component. For more details, see this FESCO ticket:

  https://fedorahosted.org/fesco/ticket/1269

If you don't know what merge reviews are about, please see:

  https://fedoraproject.org/wiki/Merge_Reviews

How to handle this bug is left to the discretion of the package maintainer.

Comment 17 Jan Kurik 2015-07-15 15:26:14 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 23 development cycle.
Changing version to '23'.

(As we did not run this process for some time, it could affect also pre-Fedora 23 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 23 End Of Life. Thank you.)

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

Comment 18 Fedora End Of Life 2016-11-24 10:18:52 UTC
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '23'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 23 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 19 Fedora End Of Life 2016-12-20 11:56:45 UTC
Fedora 23 changed to end-of-life (EOL) status on 2016-12-20. Fedora 23 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.

Comment 20 Fedora End Of Life 2017-02-28 09:27:43 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.

Comment 21 Fedora End Of Life 2018-05-03 08:51:44 UTC
This message is a reminder that Fedora 26 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 26. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '26'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 26 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 22 Fedora End Of Life 2018-05-29 11:25:50 UTC
Fedora 26 changed to end-of-life (EOL) status on 2018-05-29. Fedora 26
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.