RGDebInstallProgress cuts off the error string if the error contains a ':'
Bug #600658 reported by
Jonathan Thomas
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
synaptic (Ubuntu) |
Fix Released
|
Low
|
Unassigned |
Bug Description
Binary package hint: synaptic
Currently, the string reported by dpkg --status-fd in RGDebInstallPro
However, if an error string (split[3]) contains a ':', the previous splitting rules will truncate the error at that ':'. This can happen with a file overwrite error of a package that has an epoch. I've pasted the example in my screenshot.
The QApt worker's InstallProgress class also suffered from this bug. I've attatched the solution I am currently using for LibQApt, as well as a screenshot of the error.
Related branches
lp://staging/~jibel/synaptic/bug.600658
- Michael Vogt (community): Approve
-
Diff: 332786 lines (+330171/-0) (has conflicts)461 files modified.bzr-builddeb/default.conf (+2/-0)
ABOUT-NLS (+226/-0)
AUTHORS (+16/-0)
BUGS (+14/-0)
COPYING (+340/-0)
ChangeLog (+1416/-0)
DEBUG (+6/-0)
FAQ (+30/-0)
INSTALL (+236/-0)
Makefile.am (+11/-0)
Makefile.in (+732/-0)
NEWS (+370/-0)
README (+102/-0)
README.debtags (+45/-0)
README.supported (+55/-0)
README.tasks (+55/-0)
TODO (+249/-0)
TRANSLATORS (+86/-0)
acinclude.m4 (+394/-0)
aclocal.m4 (+1854/-0)
autogen.sh (+23/-0)
common/Makefile.am (+54/-0)
common/Makefile.in (+545/-0)
common/i18n.h (+58/-0)
common/indexcopy.cc (+511/-0)
common/indexcopy.h (+74/-0)
common/pkg_acqfile.cc (+150/-0)
common/pkg_acqfile.h (+32/-0)
common/raptoptions.cc (+318/-0)
common/raptoptions.h (+85/-0)
common/rcacheactor.cc (+199/-0)
common/rcacheactor.h (+123/-0)
common/rcdscanner.cc (+731/-0)
common/rcdscanner.h (+114/-0)
common/rconfiguration.cc (+310/-0)
common/rconfiguration.h (+61/-0)
common/rdependency.h (+44/-0)
common/rinstallprogress.cc (+147/-0)
common/rinstallprogress.h (+69/-0)
common/rpackage.cc (+1490/-0)
common/rpackage.h (+255/-0)
common/rpackagecache.cc (+164/-0)
common/rpackagecache.h (+76/-0)
common/rpackagefilter.cc (+948/-0)
common/rpackagefilter.h (+326/-0)
common/rpackagelistactor.cc (+37/-0)
common/rpackagelistactor.h (+71/-0)
common/rpackagelister.cc (+2073/-0)
common/rpackagelister.h (+354/-0)
common/rpackagemanager.h (+79/-0)
common/rpackagestatus.cc (+220/-0)
common/rpackagestatus.h (+96/-0)
common/rpackageview.cc (+604/-0)
common/rpackageview.h (+235/-0)
common/rpmindexcopy.cc (+233/-0)
common/rpmindexcopy.h (+39/-0)
common/rsources.cc (+563/-0)
common/rsources.h (+113/-0)
common/rswig.cc (+9/-0)
common/rswig.h (+80/-0)
common/rtagcollbuilder.cc (+23/-0)
common/rtagcollbuilder.h (+93/-0)
common/rtagcollfilter.cc (+23/-0)
common/rtagcollfilter.h (+64/-0)
common/ruserdialog.cc (+52/-0)
common/ruserdialog.h (+71/-0)
common/sections_trans.cc (+184/-0)
common/sections_trans.h (+18/-0)
config.h.in (+137/-0)
configure (+10297/-0)
configure.in (+238/-0)
data/Makefile.am (+14/-0)
data/Makefile.in (+442/-0)
data/synaptic-kde.desktop.in (+11/-0)
data/synaptic.desktop.in (+10/-0)
debian/NEWS.Debian (+50/-0)
debian/README.Debian (+10/-0)
debian/changelog (+2407/-0)
debian/compat (+1/-0)
debian/control (+33/-0)
debian/copyright (+13/-0)
debian/package-supported.png.uu (+20/-0)
debian/patches/00list (+6/-0)
debian/patches/00list.Ubuntu (+6/-0)
debian/patches/01_ubuntu_changelog.dpatch (+85/-0)
debian/patches/02_ubuntu_desktop_file.dpatch (+22/-0)
debian/patches/03_hide_browse_documentation.dpatch (+19/-0)
debian/patches/03_ubuntu_hide_browse_documentation.dpatch (+19/-0)
debian/patches/04_ubuntu_lpi.dpatch (+28/-0)
debian/patches/06_ubuntu_su_to_root.dpatch (+16/-0)
debian/patches/10_ubuntu_maintenance_gui.dpatch (+194/-0)
debian/rules (+133/-0)
debian/rules.debian (+114/-0)
debian/synaptic.dirs (+2/-0)
debian/synaptic.docs (+6/-0)
debian/synaptic.menu (+5/-0)
debian/synaptic_32x32.xpm (+551/-0)
depcomp (+630/-0)
doc/Makefile.am (+2/-0)
doc/Makefile.in (+564/-0)
doc/README (+2/-0)
doc/html/C/Makefile.am (+7/-0)
doc/html/C/Makefile.in (+434/-0)
doc/html/Makefile.am (+1/-0)
doc/html/Makefile.in (+564/-0)
doc/html/es/Makefile.am (+9/-0)
doc/html/es/Makefile.in (+371/-0)
doc/html/sv/Makefile.am (+1/-0)
doc/html/sv/Makefile.in (+363/-0)
gtk/Makefile.am (+85/-0)
gtk/Makefile.in (+781/-0)
gtk/glade/Makefile.am (+37/-0)
gtk/glade/Makefile.in (+444/-0)
gtk/glade/dialog_authentication.glade (+108/-0)
gtk/glade/dialog_change_version.glade (+183/-0)
gtk/glade/dialog_changelog.glade (+123/-0)
gtk/glade/dialog_columns.glade (+406/-0)
gtk/glade/dialog_conffile.glade (+351/-0)
gtk/glade/dialog_disc_label.glade (+185/-0)
gtk/glade/dialog_download_error.glade (+164/-0)
gtk/glade/dialog_example.glade (+138/-0)
gtk/glade/dialog_new_repositroy.glade (+274/-0)
gtk/glade/dialog_proposed_new_repositories.glade (+633/-0)
gtk/glade/dialog_quit.glade (+131/-0)
gtk/glade/dialog_task_descr.glade (+103/-0)
gtk/glade/dialog_unmet.glade (+156/-0)
gtk/glade/dialog_update_failed.glade (+156/-0)
gtk/glade/dialog_update_outdated.glade (+215/-0)
gtk/glade/dialog_upgrade.glade (+176/-0)
gtk/glade/dialog_welcome.glade (+427/-0)
gtk/glade/druid_repository.glade (+2381/-0)
gtk/glade/window_about.glade (+523/-0)
gtk/glade/window_changes.glade (+296/-0)
gtk/glade/window_details.glade (+1504/-0)
gtk/glade/window_disc_name.glade (+203/-0)
gtk/glade/window_fetch.glade (+227/-0)
gtk/glade/window_filters.glade (+1834/-0)
gtk/glade/window_find.glade (+402/-0)
gtk/glade/window_iconlegend.glade (+88/-0)
gtk/glade/window_install_progress.glade (+130/-0)
gtk/glade/window_logview.glade (+244/-0)
gtk/glade/window_main.glade (+3025/-0)
gtk/glade/window_preferences.glade (+3606/-0)
gtk/glade/window_procceed.glade (+128/-0)
gtk/glade/window_repositories.glade (+555/-0)
gtk/glade/window_rgdebinstall_progress.glade (+283/-0)
gtk/glade/window_rginstall_progress.glade (+145/-0)
gtk/glade/window_rginstall_progress_msgs.glade (+121/-0)
gtk/glade/window_setopt.glade (+285/-0)
gtk/glade/window_summary.glade (+556/-0)
gtk/glade/window_tasks.glade (+200/-0)
gtk/glade/window_zvtinstallprogress.glade (+185/-0)
gtk/gsynaptic.cc (+606/-0)
gtk/gsynaptic.h (+27/-0)
gtk/gtkpkglist.cc (+707/-0)
gtk/gtkpkglist.h (+98/-0)
gtk/gtktagtree.cc (+694/-0)
gtk/gtktagtree.h (+81/-0)
gtk/rgaboutpanel.cc (+91/-0)
gtk/rgaboutpanel.h (+46/-0)
gtk/rgcacheprogress.cc (+90/-0)
gtk/rgcacheprogress.h (+51/-0)
gtk/rgcdscanner.cc (+160/-0)
gtk/rgcdscanner.h (+52/-0)
gtk/rgchangeswindow.cc (+191/-0)
gtk/rgchangeswindow.h (+55/-0)
gtk/rgdebinstallprogress.cc (+778/-0)
gtk/rgdebinstallprogress.h (+142/-0)
gtk/rgdummyinstallprogress.cc (+52/-0)
gtk/rgdummyinstallprogress.h (+43/-0)
gtk/rgfetchprogress.cc (+467/-0)
gtk/rgfetchprogress.h (+93/-0)
gtk/rgfiltermanager.cc (+862/-0)
gtk/rgfiltermanager.h (+212/-0)
gtk/rgfindwindow.cc (+132/-0)
gtk/rgfindwindow.h (+50/-0)
gtk/rggladewindow.cc (+241/-0)
gtk/rggladewindow.h (+67/-0)
gtk/rgiconlegend.cc (+84/-0)
gtk/rgiconlegend.h (+37/-0)
gtk/rginstallprogress.cc (+413/-0)
gtk/rginstallprogress.h (+86/-0)
gtk/rglogview.cc (+346/-0)
gtk/rglogview.h (+63/-0)
gtk/rgmainwindow.cc (+3641/-0)
gtk/rgmainwindow.h (+304/-0)
gtk/rgpackagestatus.cc (+146/-0)
gtk/rgpackagestatus.h (+64/-0)
gtk/rgpkgcdrom.cc (+162/-0)
gtk/rgpkgcdrom.h (+56/-0)
gtk/rgpkgdetails.cc (+301/-0)
gtk/rgpkgdetails.h (+54/-0)
gtk/rgpreferenceswindow.cc (+1153/-0)
gtk/rgpreferenceswindow.h (+129/-0)
gtk/rgrepositorywin.cc (+749/-0)
gtk/rgrepositorywin.h (+97/-0)
gtk/rgsetoptwindow.cc (+63/-0)
gtk/rgsetoptwindow.h (+36/-0)
gtk/rgslideshow.cc (+49/-0)
gtk/rgslideshow.h (+51/-0)
gtk/rgsummarywindow.cc (+503/-0)
gtk/rgsummarywindow.h (+62/-0)
gtk/rgtaskswin.cc (+296/-0)
gtk/rgtaskswin.h (+57/-0)
gtk/rgterminstallprogress.cc (+264/-0)
gtk/rgterminstallprogress.h (+71/-0)
gtk/rguserdialog.cc (+269/-0)
gtk/rguserdialog.h (+94/-0)
gtk/rgutils.cc (+224/-0)
gtk/rgutils.h (+62/-0)
gtk/rgvendorswindow.cc (+297/-0)
gtk/rgvendorswindow.h (+38/-0)
gtk/rgwindow.cc (+110/-0)
gtk/rgwindow.h (+63/-0)
help/C/ChangeLog (+32/-0)
help/C/Makefile.am (+10/-0)
help/C/Makefile.in (+530/-0)
help/C/gpl.xml (+423/-0)
help/C/synaptic-C.omf (+27/-0)
help/C/synaptic.xml (+2768/-0)
help/Makefile.am (+3/-0)
help/Makefile.in (+564/-0)
help/es/Makefile.am (+7/-0)
help/es/Makefile.in (+527/-0)
help/es/gpl.xml (+423/-0)
help/es/synaptic-es.omf (+27/-0)
help/es/synaptic.xml (+3378/-0)
help/sv/Makefile.am (+7/-0)
help/sv/Makefile.in (+527/-0)
help/sv/gpl.xml (+423/-0)
help/sv/synaptic-sv.omf (+27/-0)
help/sv/synaptic.xml (+3001/-0)
install-sh (+520/-0)
intl/ChangeLog (+1027/-0)
intl/Makefile.in (+221/-0)
intl/bindtextdom.c (+199/-0)
intl/cat-compat.c (+262/-0)
intl/dcgettext.c (+593/-0)
intl/dgettext.c (+59/-0)
intl/explodename.c (+181/-0)
intl/finddomain.c (+189/-0)
intl/gettext.c (+70/-0)
intl/gettext.h (+105/-0)
intl/gettextP.h (+73/-0)
intl/hash-string.h (+63/-0)
intl/intl-compat.c (+76/-0)
intl/l10nflist.c (+409/-0)
intl/libgettext.h (+185/-0)
intl/linux-msg.sed (+100/-0)
intl/loadinfo.h (+58/-0)
intl/loadmsgcat.c (+199/-0)
intl/localealias.c (+378/-0)
intl/po2tbl.sed.in (+102/-0)
intl/textdomain.c (+106/-0)
intl/xopen-msg.sed (+104/-0)
macros/Makefile (+236/-0)
macros/Makefile.am (+43/-0)
macros/Makefile.in (+378/-0)
macros/aclocal-include.m4 (+16/-0)
macros/autogen.sh (+179/-0)
macros/compiler-flags.m4 (+109/-0)
macros/curses.m4 (+318/-0)
macros/gnome-bonobo-check.m4 (+150/-0)
macros/gnome-common.m4 (+14/-0)
macros/gnome-fileutils.m4 (+414/-0)
macros/gnome-gettext.m4 (+336/-0)
macros/gnome-ghttp-check.m4 (+14/-0)
macros/gnome-gnorba-check.m4 (+35/-0)
macros/gnome-guile-checks.m4 (+119/-0)
macros/gnome-libgtop-check.m4 (+182/-0)
macros/gnome-objc-checks.m4 (+79/-0)
macros/gnome-orbit-check.m4 (+33/-0)
macros/gnome-print-check.m4 (+171/-0)
macros/gnome-pthread-check.m4 (+16/-0)
macros/gnome-support.m4 (+68/-0)
macros/gnome-undelfs.m4 (+20/-0)
macros/gnome-vfs.m4 (+120/-0)
macros/gnome-x-checks.m4 (+80/-0)
macros/gnome-xml-check.m4 (+30/-0)
macros/gnome.m4 (+124/-0)
macros/gperf-check.m4 (+79/-0)
macros/gwqt.m4 (+217/-0)
macros/linger.m4 (+28/-0)
macros/need-declaration.m4 (+42/-0)
man/Makefile.am (+4/-0)
man/Makefile.in (+445/-0)
man/synaptic.8 (+70/-0)
man/synaptic.es.8 (+108/-0)
man/synaptic.fr.8 (+73/-0)
man/synaptic.ja.8 (+77/-0)
man/synaptic.pt_BR.8 (+48/-0)
man/synaptic.ru.8 (+123/-0)
man/synaptic.tr.8 (+46/-0)
missing (+376/-0)
mkinstalldirs (+162/-0)
omf.make (+53/-0)
pixmaps/Makefile.am (+68/-0)
pixmaps/Makefile.in (+745/-0)
pixmaps/alert.xpm (+19/-0)
pixmaps/alertM.xpm (+19/-0)
pixmaps/brokenM.xpm (+17/-0)
pixmaps/cdrom.xpm (+398/-0)
pixmaps/cnc.xpm (+109/-0)
pixmaps/cnc2.xpm (+492/-0)
pixmaps/deb.xpm (+129/-0)
pixmaps/distupgrade.xpm (+248/-0)
pixmaps/distupgrade_small.xpm (+546/-0)
pixmaps/down.xpm (+94/-0)
pixmaps/downgradeM.xpm (+14/-0)
pixmaps/filter.xpm (+22/-0)
pixmaps/find.xpm (+23/-0)
pixmaps/fixbroken.xpm (+262/-0)
pixmaps/heldM.xpm (+16/-0)
pixmaps/hicolor/16x16/Makefile.am (+5/-0)
pixmaps/hicolor/16x16/Makefile.in (+413/-0)
pixmaps/hicolor/24x24/Makefile.am (+4/-0)
pixmaps/hicolor/24x24/Makefile.in (+412/-0)
pixmaps/hicolor/Makefile.am (+1/-0)
pixmaps/hicolor/Makefile.in (+564/-0)
pixmaps/holdM.xpm (+14/-0)
pixmaps/installM.xpm (+15/-0)
pixmaps/keepM.xpm (+14/-0)
pixmaps/logo.xpm (+69/-0)
pixmaps/newM.xpm (+15/-0)
pixmaps/options.xpm (+163/-0)
pixmaps/pref_hpaned.xpm (+98/-0)
pixmaps/pref_vpaned.xpm (+98/-0)
pixmaps/proceed.xpm (+244/-0)
pixmaps/proceed_small.xpm (+526/-0)
pixmaps/removeM.xpm (+15/-0)
pixmaps/sources.xpm (+899/-0)
pixmaps/stop.xpm (+254/-0)
pixmaps/synaptic.xpm (+860/-0)
pixmaps/synaptic_mini.xpm (+860/-0)
pixmaps/tango-icons/scalable/package-available-locked.svg (+1295/-0)
pixmaps/tango-icons/scalable/package-available.svg (+2150/-0)
pixmaps/tango-icons/scalable/package-broken.svg (+466/-0)
pixmaps/tango-icons/scalable/package-downgrade.svg (+1309/-0)
pixmaps/tango-icons/scalable/package-install.svg (+1393/-0)
pixmaps/tango-icons/scalable/package-installed-locked.svg (+1210/-0)
pixmaps/tango-icons/scalable/package-installed-outdated.svg (+1183/-0)
pixmaps/tango-icons/scalable/package-installed-updated.svg (+1139/-0)
pixmaps/tango-icons/scalable/package-new.svg (+1377/-0)
pixmaps/tango-icons/scalable/package-purge.svg (+1355/-0)
pixmaps/tango-icons/scalable/package-reinstall.svg (+1291/-0)
pixmaps/tango-icons/scalable/package-remove.svg (+1302/-0)
pixmaps/tango-icons/scalable/package-supported.svg (+1325/-0)
pixmaps/tango-icons/scalable/package-upgrade.svg (+1381/-0)
pixmaps/tango-icons/scalable/supported/package-available-locked-supported.svg (+1515/-0)
pixmaps/tango-icons/scalable/supported/package-available-supported.svg (+1368/-0)
pixmaps/tango-icons/scalable/supported/package-broken-supported.svg (+686/-0)
pixmaps/tango-icons/scalable/supported/package-downgrade-supported.svg (+1529/-0)
pixmaps/tango-icons/scalable/supported/package-install-supported.svg (+1611/-0)
pixmaps/tango-icons/scalable/supported/package-installed-locked-supported.svg (+2359/-0)
pixmaps/tango-icons/scalable/supported/package-installed-outdated-supported.svg (+1403/-0)
pixmaps/tango-icons/scalable/supported/package-installed-updated-supported.svg (+1359/-0)
pixmaps/tango-icons/scalable/supported/package-new-supported.svg (+1597/-0)
pixmaps/tango-icons/scalable/supported/package-purge-supported.svg (+1575/-0)
pixmaps/tango-icons/scalable/supported/package-reinstall-supported.svg (+1511/-0)
pixmaps/tango-icons/scalable/supported/package-remove-supported.svg (+1522/-0)
pixmaps/tango-icons/scalable/supported/package-upgrade-supported.svg (+1601/-0)
pixmaps/up.xpm (+104/-0)
pixmaps/update.xpm (+197/-0)
pixmaps/update_small.xpm (+189/-0)
pixmaps/upgrade-old.xpm (+248/-0)
pixmaps/upgrade.xpm (+248/-0)
pixmaps/upgradeM.xpm (+14/-0)
pixmaps/upgrade_small.xpm (+522/-0)
po-manual/synaptic-manual.pot (+1477/-0)
po-manual/synaptic-manual.sv.po (+1557/-0)
po/ChangeLog (+9/-0)
po/Makefile.in.in (+217/-0)
po/POTFILES.in (+86/-0)
po/POTFILES.skip (+23/-0)
po/README (+9/-0)
po/ar.po (+3721/-0)
po/be.po (+5359/-0)
po/be@latin.po (+3757/-0)
po/bg.po (+3748/-0)
po/br.po (+3712/-0)
po/ca.po (+4458/-0)
po/cs.po (+3676/-0)
po/da.po (+3767/-0)
po/de.po (+3828/-0)
po/el.po (+3697/-0)
po/es.po (+3759/-0)
po/et.po (+3693/-0)
po/eu.po (+3662/-0)
po/fi.po (+3695/-0)
po/fr.po (+3694/-0)
po/gl.po (+3934/-0)
po/he.po (+3613/-0)
po/hi.po (+3715/-0)
po/hu.po (+3730/-0)
po/it.po (+3704/-0)
po/ja.po (+3667/-0)
po/ko.po (+3639/-0)
po/lt.po (+3698/-0)
po/mk.po (+3743/-0)
po/nb.po (+4333/-0)
po/nl.po (+3748/-0)
po/no.po (+3858/-0)
po/pl.po (+3725/-0)
po/pt.po (+3783/-0)
po/pt_BR.po (+3674/-0)
po/ro.po (+3750/-0)
po/ru.po (+3924/-0)
po/sk.po (+3658/-0)
po/sl.po (+3709/-0)
po/sr.po (+4782/-0)
po/sr@Latn.po (+4784/-0)
po/sv.po (+3673/-0)
po/th.po (+3619/-0)
po/tr.po (+3641/-0)
po/uk.po (+3701/-0)
po/xh.po (+3779/-0)
po/zh_CN.po (+5160/-0)
po/zh_HK.po (+4876/-0)
po/zh_TW.po (+5074/-0)
swig/apt-cat.py (+43/-0)
swig/apt-inst.py (+59/-0)
swig/build.sh (+4/-0)
swig/synaptic_common.i (+27/-0)
synaptic-redhat.spec (+275/-0)
synaptic-suse.spec (+109/-0)
synaptic.spec (+264/-0)
tests/Makefile.am (+18/-0)
tests/Makefile.in (+484/-0)
tests/test_rpackage.cc (+40/-0)
tests/test_rpackageview.cc (+26/-0)
wings/Makefile.am (+45/-0)
wings/rwaboutpanel.cc (+117/-0)
wings/rwaboutpanel.h (+38/-0)
wings/rwcacheprogress.cc (+80/-0)
wings/rwcacheprogress.h (+50/-0)
wings/rwconfigwindow.cc (+230/-0)
wings/rwconfigwindow.h (+46/-0)
wings/rwdummyinstallprogress.cc (+59/-0)
wings/rwdummyinstallprogress.h (+45/-0)
wings/rwfetchprogress.cc (+518/-0)
wings/rwfetchprogress.h (+69/-0)
wings/rwfiltereditor.cc (+503/-0)
wings/rwfiltereditor.h (+111/-0)
wings/rwfiltermanager.cc (+280/-0)
wings/rwfiltermanager.h (+75/-0)
wings/rwfilterwindow.cc (+164/-0)
wings/rwfilterwindow.h (+73/-0)
wings/rwinstallprogress.cc (+116/-0)
wings/rwinstallprogress.h (+53/-0)
wings/rwmainwindow.cc (+2121/-0)
wings/rwmainwindow.h (+203/-0)
wings/rwsourceswindow.cc (+168/-0)
wings/rwsourceswindow.h (+35/-0)
wings/rwsummarywindow.cc (+332/-0)
wings/rwsummarywindow.h (+58/-0)
wings/rwuserdialog.cc (+88/-0)
wings/rwuserdialog.h (+51/-0)
wings/rwwindow.cc (+96/-0)
wings/rwwindow.h (+58/-0)
wings/synaptic.cc (+125/-0)
xmldocs.make (+105/-0)
Changed in synaptic (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Low |
To post a comment you must log in.
Fix in bzr revno 99.
This is a really trivial fix but I'm always very suspicious of trivial fixes and it's untested because I haven't found a package to reproduce in maverick.
Setting the max_tokens to 4 instead of 5 should do the trick because the 5th token was never used and g_strsplit will append the remainder of the string to the last token i.e the part of the version string after the last ':'