when playing around with installer-dialog (on the livecd), it crashed in the dialog "choose from the listed packages" i did it twice, and it didn't crash the first time Traceback (most recent call last): File "./gli-dialog.py", line 215, in ? gen_install_profile = Setup_InstallProfile(client_profile, install_profile, local_install, advanced_mode) File "./gli-dialog.py", line 48, in __init__ self.set_extra_packages() File "/opt/installer/GLIGenDialog.py", line 1001, in set_extra_packages install_packages.append(package) AttributeError: 'str' object has no attribute 'append' i'll attach installer.log
Created attachment 65552 [details] installer.log
Comment on attachment 65552 [details] installer.log sorry, it's not related to this bug
fixed in cvs
Thx fer the fix while I'm on vacation Andrew. :) much appreciated. now back to my rum and sunset. Can you send me an email telling me how serious this bug actually was and what the details causing it were?
The first fix was for pulling existing values from the IP. You were pulling it as a string but operating on it like it was a list. I added: install_packages = self._install_profile.get_install_packages() + if isinstance(install_packages, (list, tuple)): + install_packages = install_packages.split() I just found another problem with that function when testing the first fix. In the "Manual" section, you don't check the value of 'code' and you assign the return value from checklist() directly to install_packages. I changed it to use a temp variable to grab the return and then assign that to install_packages in an if block. elif submenu == _(u"Manual"): - code, install_packages = self._d.inputbox(_(u"Enter a space-separated list of extra packages to install on the system"), init=string.join(install_packages, ' '), width=70) + code, tmp_install_packages = self._d.inputbox(_(u"Enter a space-separated list of extra packages to install on the system"), init=string.join(install_packages, ' '), width=70) + if code == self._DLG_OK: + install_packages = tmp_install_packages.split() continue
Actually, that first fix was wrong. It should check for isinstance(install_packages, str). *Now* it works :)
Moving to Release Media/Installer.