[Bug 1000527] Re: Writing debian installer isos fails in syslinux part
Ubuntu Foundation's Bug Bot
1000527 at bugs.launchpad.net
Thu May 17 12:14:32 UTC 2012
The attachment "usb-creator-2.2.8.patch" of this bug report has been
identified as being a patch. The ubuntu-reviewers team has been
subscribed to the bug report so that they can review the patch. In the
event that this is in fact not a patch you can resolve this situation by
removing the tag 'patch' from the bug report and editing the attachment
so that it is not flagged as a patch. Additionally, if you are member
of the ubuntu-reviewers team please also unsubscribe the team from this
bug report.
[This is an automated message performed by a Launchpad user owned by
Brian Murray. Please contact him regarding any issues with the action
taken in this bug report.]
** Tags added: patch
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to usb-creator in Ubuntu.
https://bugs.launchpad.net/bugs/1000527
Title:
Writing debian installer isos fails in syslinux part
Status in “usb-creator” package in Ubuntu:
New
Bug description:
After fixing usb-creator so it builds on debian, I tried it on a debian box and found a problem:
in install.py is a load of code to use syslinx-legacy and apropriate options either side of the 10.04 and 10.10 Ubuntu releases.
That fails if a debian iso has been burned onto the USB stick.
target_os_ver, our_os_ver = self.os_vers()
File "/usr/lib/python2.7/dist-packages/usbcreator/install.py",line 206, in os_vers
target_os_ver = debian_support.Version(contents[1])
File "/usr/lib/python2.7/dist-packages/debian/debian_support.py", line 172,
in __init__
super(AptPkgVersion, self).__init__(version)
File "/usr/lib/python2.7/dist-packages/debian/debian_support.py", line 91,
in __init__
self.full_version = version
File "/usr/lib/python2.7/dist-packages/debian/debian_support.py", line 117,
in __setattr__
self._set_full_version(str(value))
File "/usr/lib/python2.7/dist-packages/debian/debian_support.py", line 96,
in _set_full_version
raise ValueError("Invalid version string %r" % version)
ValueError: Invalid version string 'GNU/Linux'
This is because of this code:
if os.path.exists(os.path.join(self.target, '.disk', 'info')):
with open(os.path.join(self.target, '.disk', 'info'),'r') as f:
contents = f.readline().split()
if len(contents) > 2:
# Consider point releases the same as the initial release
# (10.04.4 -> 10.04)
target_os_ver = debian_support.Version(contents[1])
becuause .disk/info is:
Debian GNU/Linux wheezy-DI-a1 "Wheezy" - Official Snapshot amd64 NETINST Binary-1 20120512-00:39
so the code tries to parse "GNU/Linux" as debian version number and
rightly fails.
BTW I'm not sure that the 'debian_support.Version' fn is really apropriate here as it seems to be designed for package version numbers not release numbers - mind you this works OK:
our_os_ver = debian_support.Version(
lsb_release.get_distro_information()['RELEASE'])
My python is not good enough to work out what to do about this. You
could just look for contents[3] and not use the 'Version' function.
(There is a 'Release' fn which might be helpful here?)
Or perhaps better is to simply not do any of this checking on Debian
as we've been on syslinux 2.4 since squeeze, and there isn't a
syslinux-legacy package to use anyway. I'm not sure of the full
implications here.
In fact how much do we care about people writing images older then
10.10 any more. Could it all just be simplified for Ubuntu too?
There is a lot of simplification possible in install_bootloader,
mangle_syslinux, need_syslinux_legacy etc.
Someone who actually speaks python and is vaguely famliar with the
code could presumably fix this without too much trouble.
Hope this is helpful to someone.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/usb-creator/+bug/1000527/+subscriptions
More information about the foundations-bugs
mailing list