Bug 702846

Summary: Review Request: mingw-gdb - MinGW Windows port of the GDB debugger
Product: [Fedora] Fedora Reporter: Kalev Lember <kalevlember>
Component: Package ReviewAssignee: Thomas Sailer <fedora>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: erik-fedora, fedora-mingw, fedora-package-review, fedora, lemenkov, notting
Target Milestone: ---Flags: fedora: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: mingw-gdb-7.2-2.fc16 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-06-09 01:10:44 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 Kalev Lember 2011-05-07 17:06:35 UTC
Spec URL: http://kalev.fedorapeople.org/mingw32-gdb.spec
SRPM URL: http://kalev.fedorapeople.org/mingw32-gdb-7.2-1.fc15.src.rpm
Description:
This is the MinGW Windows port of the GDB, the GNU debugger.

Comment 1 Peter Lemenkov 2011-05-08 18:55:53 UTC
I'm curious - what's the purpose of this package? I mean I don't think it's intended to run on Fedora machine.

Comment 2 Kalev Lember 2011-05-08 19:21:05 UTC
One way to debug MinGW cross compiled programs is to use gdb's remote debugging features: gdbserver.exe would run under wine and control the execution of the program we are debugging; native gdb (running on the same host) can then communicate with gdbserver's process over a TCP connection. The technique is explained at http://mingw-cross.sourceforge.net/cross_debug.html

There have been numerous requests for MinGW cross compiled gdb, and quite frankly I just got tired of telling everyone that they have to build gdb themselves.

Comment 3 Thomas Sailer 2011-05-30 17:56:41 UTC
Fedora review mingw32-gdb-7.2-1.fc15.src.rpm 2011-05-30

+ OK
! needs attention

Scratch Build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=3100605

rpmlint:
$ rpmlint mingw32-gdb.spec mingw32-gdb-7.2-1.fc15.src.rpm mingw32-gdb-7.2-1.fc16.noarch.rpm mingw32-gdb-debuginfo-7.2-1.fc16.noarch.rpm 
mingw32-gdb.noarch: W: obsolete-not-provided mingw32-gdb-gdbserver
mingw32-gdb-debuginfo.noarch: E: debuginfo-without-sources
3 packages and 1 specfiles checked; 1 errors, 1 warnings.

These errors and warnings can be ignored.

+ rpmlint output
+ The package is named according to Fedora MinGW packaging guidelines
!   please modify it to anticipate the "MinGW_future" packaging guidelines
    (i.e. rename it to mingw-gdb)
+ The spec file name matches the package base name
+ The package meets the Packaging Guidelines
+ The package is licensed with a Fedora approved license and meets the
  Licensing Guidelines.
+ The license field in the spec file matches the actual license
+ The stated license is the same as the one for the corresponding
  native Fedora package
+ The package contains the license file (COPYING3 COPYING COPYING.LIB)
+ Spec file is written in American English
+ Spec file is legible
+ Upstream sources match sources in the srpm. md5sum:
  169ed5b088538fa10483177f3035f77c  gtkmm-3.0.1.tar.bz2
  169ed5b088538fa10483177f3035f77c  Download/gtkmm-3.0.1.tar.bz2
+ The package builds in koji
n/a ExcludeArch bugs filed
+ BuildRequires look sane
n/a The spec file MUST handle locales properly
n/a ldconfig in %post and %postun
+ Package does not bundle copies of system libraries
n/a Package isn't relocatable
+ Package owns all directories it creates
+ No duplicate files in %files
+ Permissions are properly set
+ Consistent use of macros
+ The package must contain code or permissible content
n/a Large documentation files should go in -doc subpackage
+ Files marked %doc should not affect package
n/a Header files should be in -devel
    Fedora MinGW guidelines allow headers in main package
n/a Static libraries should be in -static
n/a Library files that end in .so must go in a -devel package
n/a -devel must require the fully versioned base
n/a Packages should not contain libtool .la files
    Fedora MinGW guidelines allow .la files
n/a Packages containing GUI apps must include %{name}.desktop file
+ Directory ownership sane
+ Filenames are valid UTF-8

! while the built gdb.exe does work on native Windows, wine gdb.exe just hangs.
  I would expect to be able to enter help etc. Since the MinGW project goal is
  to minimize windows use, I think gdb.exe working with wine should be a goal
  if we are to include the mingw32-gdb package in fedora

Comment 4 Thomas Sailer 2011-05-30 17:58:00 UTC
Correction:

+ Upstream sources match sources in the srpm. md5sum:
  64260e6c56979ee750a01055f16091a5  gdb-7.2.tar.bz2
  64260e6c56979ee750a01055f16091a5  Download/gdb-7.2.tar.bz2

Comment 5 Kalev Lember 2011-06-03 17:53:48 UTC
Thanks for the review, Thomas!

(In reply to comment #3)
> + The package is named according to Fedora MinGW packaging guidelines
> !   please modify it to anticipate the "MinGW_future" packaging guidelines
>     (i.e. rename it to mingw-gdb)

Fixed.


> ! while the built gdb.exe does work on native Windows, wine gdb.exe just hangs.
>   I would expect to be able to enter help etc. Since the MinGW project goal is
>   to minimize windows use, I think gdb.exe working with wine should be a goal
>   if we are to include the mingw32-gdb package in fedora

No idea why it hangs like that and I don't really intend to dig into wine/gdb source to figure it out.

In my opinion, gdb is an invaluable debugging tool and as such, it would make sense to keep it in Fedora, even if it doesn't run entirely correctly under Wine (besides, Wine is unavailable on our secondary arches like arm and ppc).

If we provide a toolchain to build packages, we should also make sure there's a way to debug them with free tools. There have been numerous people popping in to the #fedora-mingw IRC channel and asking for gdb.exe; each time we've had to send them off to a third party site.


Spec URL: http://kalev.fedorapeople.org/mingw-gdb.spec
SRPM URL: http://kalev.fedorapeople.org/mingw-gdb-7.2-2.fc15.src.rpm

* Fri Jun 03 2011 Kalev Lember <kalev> - 7.2-2
- Renamed the source package to mingw-gdb (#702846)

Comment 6 Erik van Pienbroek 2011-06-08 20:21:54 UTC
Just now we've had a user on the #fedora-mingw IRC channel which encountered a segfault in some Fedora MinGW package. To help investigate these kind of crashes the availability of a gdb.exe is really necessary. This also helps to improve the quality of all Fedora MinGW packages so I don't see a strong reason to block this package from entering Fedora. After all it's a very valuable aid for developers and these developers are also the main target audience of the Fedora MinGW packages.

Comment 7 Thomas Sailer 2011-06-08 20:46:50 UTC
I spent about 5 minutes investigating this - nothing obvious, though. I wanted to find some more time to look at it, but it doesn't look like I'll find it soon.

APPROVED by sailer.

Comment 8 Kalev Lember 2011-06-08 20:54:01 UTC
Thanks for the review, Tom!


New Package SCM Request
=======================
Package Name: mingw-gdb
Short Description: MinGW Windows port of the GDB debugger
Owners: kalev rjones epienbro sailer
Branches: f14 f15
InitialCC:

Comment 9 Gwyn Ciesla 2011-06-08 22:34:28 UTC
Git done (by process-git-requests).

Comment 10 Kalev Lember 2011-06-09 01:10:44 UTC
Package imported and built; closing the ticket.