Bug 1067668

Summary: Incompatible Python scripts
Product: [Fedora] Fedora Reporter: Jan Kratochvil <jan.kratochvil>
Component: insightAssignee: Patrick Monnerat <patrick>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: jan.kratochvil, keiths, patrick
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Fixed In Version: insight-7.4.50-11.20120403cvs.fc19 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-04 06:48:01 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Jan Kratochvil 2014-02-20 20:12:47 UTC
Description of problem:
Error during startup.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:

Actual results:
Traceback (most recent call last):
  File "<string>", line 70, in <module>
  File "<string>", line 67, in GdbSetPythonDirectory
  File "/usr/share/gdb/python/gdb/__init__.py", line 19, in <module>
    import _gdb
ImportError: No module named _gdb

Expected results:
No error.

Additional info:
insight -v says: GNU gdb (GDB)
    gdb -v says: GNU gdb (GDB) Fedora
Between these versions the Python GDB package name changed gdb -> _gdb.
As insight tries to load new GDB Python scripts with old GDB codebase it is not compatible and it errors out.
insight should ship and use its own scripts set, not /usr/share/gdb/ but rather /usr/share/insight/ .
Although that may not be perfectly right wrt Fedora bundling guidelines, in such case insight.rpm should require exact gdb.rpm version and closely track it.
Other possibility would be to build insight.binary.rpm as a secondary package from gdb.src.rpm to be automatically in version sync - only in case insight.rpm does not need much maintenance.

Comment 1 Fedora Update System 2014-03-03 17:12:53 UTC
insight-7.4.50-11.20120403cvs.fc20 has been submitted as an update for Fedora 20.

Comment 2 Fedora Update System 2014-03-03 17:13:07 UTC
insight-7.4.50-11.20120403cvs.fc19 has been submitted as an update for Fedora 19.

Comment 3 Patrick Monnerat 2014-03-03 17:29:36 UTC
Hi Jan,

Thanks for the problem report.
I just built revision 11 for rawhide, F20 and F19. It uses its own scripts in /usr/share/insight.

I'm definitely not against merging gdb and insight into a single spec file (i.e.: with subpackage "insight" or "gui"): this should be the most "logic" action. As you may have seen, I already stole several of your patches... (btw: thank you :-)

However, stable releases of insight are very seldom (the latest is dated July 19, 2009) so I have to deal with snapshots. Since gdb is contained in the tarball, I suppose you'll have to switch to these snapshots if we merge the packages.

There's very little maintenance on insight. Most bug reports I've received (~20)were tcl/tk bugs.

Please let me know your feelings about it... Thanks

Comment 4 Keith Seitz 2014-03-03 18:41:35 UTC
I do not really do that many insight releases, since it seldom changes much. I try to keep HEAD up-to-date and stable, so that it works with any version of gdb currently checked into the respository.

During its tenure in CVS, insight has had the fortunate privilege of living alongside the official release source of gdb. However, upstream gdb that Jan packages is now on git, and while I do plan to set up a git repository for insight, I will have to merge upstream gdb into the insight repository myself (maybe I'll even take the time to set up some sort of automated script again for this).

When that occurs, I will officially deprecate tcl, tk, and itcl from the respository. It will be the user's responsibility to have -devel versions of these packages installed. Except on MinGW, I have not built/used the respository-supplied versions of tcl et al for a number of years, but I am carrying several configure patches to enable that properly. Details of that can be found in this message: https://sourceware.org/ml/insight/2013-q3/msg00018.html .

It should then be possible to either sub-package insight from the official gdb RPM that Jan produces, or use that RPM + patches to add the missing source files for insight. All that is required is src/libgui, src/gdb/gdbtk, and src/gdb/testsuite/gdb.gdbtk. Additionally src/config/tcl.m4 requires a patch and regeneration of configure scripts. Well, not that this couldn't be done today, but it should be easier for all involved when the git repository is populated and one can diff between insight and remote gdb repositories.

I am not much of a spec file hacker -- I haven't done that in many years -- but I would be happy to assist in cleaning up this mess in any way I can, even if that mean removing insight altogether.

I largely keep insight limping along for my own use "until something better comes along (TM)."

Comment 5 Patrick Monnerat 2014-03-03 18:53:27 UTC
Thanks for these details and plans about future, Keith.
The current insight Fedora rpm spec unbundles tcl/tk/itcl/itk/iwidgets/readline to use the regular Fedora packages instead.
IMHO, your plans about getting rid of them will simplify the spec file, thanks !

I don't think removing insight should be in the near TODO list:
> ... "until something better comes along (TM)."
are the right words :-/

Comment 6 Jan Kratochvil 2014-03-03 19:56:55 UTC
(In reply to Patrick Monnerat from comment #3)
> I just built revision 11 for rawhide, F20 and F19. It uses its own scripts
> in /usr/share/insight.

Yes, it looks fine, thanks.

Although I have realized /usr/share/gdb/auto-load/ (such as libstdc++ pretty printers) are not used then.  One problem is that those are suited for the main system gdb version.  But even if I copied /usr/share/gdb/auto-load/ to /usr/share/insight/auto-load/ then I see no pretty printers in "watch expression" of Insight.  Should it work?  (This is why I have not closed this Bug yet.)

> I already stole several of your patches...

As the insight version is very old I see also some obsoleted patches there.
With insight version update one should remove those removed the main gdb Fedora package.  For example all *ia64* patches can be already removed as there will be no Fedora (or RHEL) for ia64 anymore.

Comment 7 Keith Seitz 2014-03-03 20:17:22 UTC
Insight does not enable pretty-printing for varobj, so it is expected that pretty-printing via the variable windows will not work.

To be honest, I've never had the courage to enable this.

Comment 8 Jan Kratochvil 2014-03-03 20:19:20 UTC
OK, then it is all correct from my point of view.
I see it is already in Bodhi so all should go fine now.

Comment 9 Fedora Update System 2014-03-04 06:36:39 UTC
Package insight-7.4.50-11.20120403cvs.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing insight-7.4.50-11.20120403cvs.fc19'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).

Comment 10 Fedora Update System 2014-03-04 06:48:01 UTC
insight-7.4.50-11.20120403cvs.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 11 Patrick Monnerat 2014-03-04 09:11:06 UTC
> With insight version update one should remove those removed the main gdb Fedora package.
When I package a new snapshot (not very often, I must admit), I start all over with the patches I find in the current gdb package... big work that explains the parenthesized content of this sentence :-)

Thanks for your help, guys.

Comment 12 Fedora Update System 2014-03-12 12:29:57 UTC
insight-7.4.50-11.20120403cvs.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.