Bug 225778 - Merge Review: gcc
Merge Review: gcc
Status: NEW
Product: Fedora
Classification: Fedora
Component: gcc (Show other bugs)
23
All Linux
medium Severity medium
: ---
: ---
Assigned To: Nobody's working on this, feel free to take it
Fedora Package Reviews List
:
Depends On: 225809
Blocks: F9MergeReviewTarget
  Show dependency treegraph
 
Reported: 2007-01-31 13:40 EST by Nobody's working on this, feel free to take it
Modified: 2015-07-15 11:26 EDT (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Nobody's working on this, feel free to take it 2007-01-31 13:40:47 EST
Fedora Merge Review: gcc

http://cvs.fedora.redhat.com/viewcvs/devel/gcc/
Initial Owner: jakub@redhat.com
Comment 1 Roozbeh Pournader 2007-02-03 18:36:54 EST
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 16:28:05 EST
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-07 23:50:47 EST
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 02:41:55 EST
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 11:30:43 EST
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@redhat.com 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 13:02:17 EST
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-13 20:55:02 EST
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-14 23:06:48 EST
> 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 08:10:55 EST
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 13:19:16 EST
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 18:43:44 EST
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 13:15:17 EST
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 19:37:08 EDT
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 19:52:08 EDT
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 02:15:22 EDT
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 15:36:33 EST
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 11:26:14 EDT
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

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