diff -Nru testdrive-3.24/ChangeLog testdrive-3.25/ChangeLog --- testdrive-3.24/ChangeLog 2013-08-27 16:30:39.000000000 +0000 +++ testdrive-3.25/ChangeLog 2014-01-27 10:58:17.000000000 +0000 @@ -1,4 +1,18 @@ -testdrive (3.24) released; urgency=low +testdrive (3.25) UNRELEASED; urgency=low + + * Fixed VirtualBox PAE option bug. LP: #940755 + Thanks Ben Blankley + * Add --version to testdrive-gtk. LP: #1235834 + Thanks Daniel Kessel + * Add support for Virtualbox 4.3 + * Minor Manpage improvements + * debian/control: + - Update VCS fields + - Bump standards-version to 3.9.5 + + -- Jackson Doak Sat, 28 Sep 2013 12:30:24 +1000 + +testdrive (3.24-0ubuntu1) saucy; urgency=low [ Jackson Doak ] * Add 16gb disk size option @@ -13,7 +27,7 @@ * setup.py: - update version number - -- Dustin Kirkland Thu, 08 Aug 2013 08:50:07 +0100 + -- Dustin Kirkland Tue, 27 Aug 2013 11:31:55 -0500 testdrive (3.23-0ubuntu1) saucy; urgency=low diff -Nru testdrive-3.24/bin/testdrive testdrive-3.25/bin/testdrive --- testdrive-3.24/bin/testdrive 2013-08-27 16:12:27.000000000 +0000 +++ testdrive-3.25/bin/testdrive 2014-01-27 10:38:52.000000000 +0000 @@ -204,7 +204,7 @@ help=_('hardcode Ubuntu RELEASE codename')) parser.add_option('-l', '--flavor', action='store', type='string', dest='flavor', help=_('hardcode Ubuntu flavor. Available Flavors:\n\ - ubuntu/kubuntu/xubuntu/edubuntu/mythbuntu/ubuntustudio/lubuntu/ubuntukylin')) + ubuntu/kubuntu/xubuntu/edubuntu/mythbuntu/ubuntustudio/lubuntu/ubuntukylin/ubuntugnome')) parser.add_option('-p', '--repo', action='store', type='string', dest='repository', help=_('hardcode Ubuntu repository from where to obtain ISOs:\n\ releases/cdimage/cloud-daily/cloud-releases')) diff -Nru testdrive-3.24/bin/testdrive-gtk testdrive-3.25/bin/testdrive-gtk --- testdrive-3.24/bin/testdrive-gtk 2013-08-27 16:12:27.000000000 +0000 +++ testdrive-3.25/bin/testdrive-gtk 2014-01-27 10:38:52.000000000 +0000 @@ -46,6 +46,7 @@ TAB_LABEL.append({"dist":"ubuntustudio", "label":"Ubuntu Studio"}) TAB_LABEL.append({"dist":"lubuntu", "label":"Lubuntu"}) TAB_LABEL.append({"dist":"ubuntukylin", "label":"UbuntuKylin"}) +TAB_LABEL.append({"dist":"ubuntugnome", "label":"Ubuntu Gnome"}) TAB_LABEL.append({"dist":"other", "label":_("Other")}) global ISOLIST @@ -985,17 +986,40 @@ # Support for command line options. import logging import optparse - parser = optparse.OptionParser(version="%prog %ver") + + logger = logging.getLogger("testdrive") + logger.setLevel(logging.INFO) + + # Logging to the console + ch = logging.StreamHandler() + ch.setLevel(logging.DEBUG) + + # Logger formatter + formatter = logging.Formatter("%(levelname)s: %(message)s") + ch.setFormatter(formatter) + + # Add the handlers + logger.addHandler(ch) + + parser = optparse.OptionParser() parser.add_option( - "-v", "--verbose", action="store_true", dest="verbose", + "--verbose", action="store_true", dest="verbose", help=_("Show debug messages")) + parser.add_option( + "-v", "--version", action="store_true", dest="version", + default=False, + help=_("print version and system data, and exit")) (options, args) = parser.parse_args() + if options.version: + version = commands.getstatusoutput("dpkg -l testdrive-gtk | tail -n1 | awk '{print $3}'") + logger.info(_("testdrive-gtk %s") % version[1]) + sys.exit(0) + # Set the logging level to show debug messages. if options.verbose: - logging.basicConfig(level=logging.DEBUG) - logging = logging.getLogger('testdrive') - logging.debug('logging enabled') + logger.setLevel(logging.DEBUG) + logger.debug("logging enabled") # Run the application. window = TestdrivegtkWindow() diff -Nru testdrive-3.24/data/ui/PreferencesTestdrivegtkDialog.ui testdrive-3.25/data/ui/PreferencesTestdrivegtkDialog.ui --- testdrive-3.24/data/ui/PreferencesTestdrivegtkDialog.ui 2013-08-27 16:12:15.000000000 +0000 +++ testdrive-3.25/data/ui/PreferencesTestdrivegtkDialog.ui 2014-01-27 10:38:52.000000000 +0000 @@ -989,6 +989,21 @@ + + Ubuntu Gnome + True + True + False + False + True + + + False + False + 8 + + + Other True @@ -1000,7 +1015,7 @@ False False - 8 + 9 diff -Nru testdrive-3.24/debian/changelog testdrive-3.25/debian/changelog --- testdrive-3.24/debian/changelog 2013-08-27 16:30:48.000000000 +0000 +++ testdrive-3.25/debian/changelog 2014-01-27 10:58:26.000000000 +0000 @@ -1,4 +1,18 @@ -testdrive (3.24-0ubuntu1~raring) raring; urgency=low +testdrive (3.25-0ubuntu1~raring) raring; urgency=low + + * Fixed VirtualBox PAE option bug. LP: #940755 + Thanks Ben Blankley + * Add --version to testdrive-gtk. LP: #1235834 + Thanks Daniel Kessel + * Add support for Virtualbox 4.3 + * Minor Manpage improvements + * debian/control: + - Update VCS fields + - Bump standards-version to 3.9.5 + + -- Jackson Doak Sat, 28 Sep 2013 12:30:24 +1000 + +testdrive (3.24-0ubuntu1) saucy; urgency=low [ Jackson Doak ] * Add 16gb disk size option @@ -13,7 +27,7 @@ * setup.py: - update version number - -- Dustin Kirkland Thu, 08 Aug 2013 08:50:07 +0100 + -- Dustin Kirkland Tue, 27 Aug 2013 11:31:55 -0500 testdrive (3.23-0ubuntu1) saucy; urgency=low diff -Nru testdrive-3.24/debian/control testdrive-3.25/debian/control --- testdrive-3.24/debian/control 2013-08-27 16:21:56.000000000 +0000 +++ testdrive-3.25/debian/control 2014-01-27 10:38:52.000000000 +0000 @@ -2,11 +2,12 @@ Section: python Priority: optional Maintainer: Andres Rodriguez -Standards-Version: 3.9.4 +Standards-Version: 3.9.5 Build-Depends: debhelper (>= 9), gettext-base, python (>= 2.6.6-3~), python-distutils-extra (>= 2.10) X-Python-Version: >= 2.6 Homepage: http://launchpad.net/testdrive -Vcs-Bzr: http://bazaar.launchpad.net/~kirkland/testdrive/trunk +Vcs-Bzr: lp:testdrive +Vcs-Browser: http://bazaar.launchpad.net/~testdrive/testdrive/trunk/files Package: testdrive Architecture: all diff -Nru testdrive-3.24/debian/testdrive-cli.install testdrive-3.25/debian/testdrive-cli.install --- testdrive-3.24/debian/testdrive-cli.install 2013-08-27 16:12:15.000000000 +0000 +++ testdrive-3.25/debian/testdrive-cli.install 2014-01-27 10:38:52.000000000 +0000 @@ -1,2 +1 @@ -debian/tmp/usr/bin/testdrive -debian/tmp/usr/share/man/man1/testdrive.1 +debian/tmp/usr/bin/testdrive \ No newline at end of file diff -Nru testdrive-3.24/debian/testdrive-cli.manpages testdrive-3.25/debian/testdrive-cli.manpages --- testdrive-3.24/debian/testdrive-cli.manpages 1970-01-01 00:00:00.000000000 +0000 +++ testdrive-3.25/debian/testdrive-cli.manpages 2014-01-27 10:38:52.000000000 +0000 @@ -0,0 +1 @@ +doc/testdrive.1 \ No newline at end of file diff -Nru testdrive-3.24/debian/testdrive-gtk.links testdrive-3.25/debian/testdrive-gtk.links --- testdrive-3.24/debian/testdrive-gtk.links 2013-08-27 16:12:15.000000000 +0000 +++ testdrive-3.25/debian/testdrive-gtk.links 2014-01-27 10:38:52.000000000 +0000 @@ -1,3 +1,3 @@ usr/share/testdrivegtk/media/testdrive_64.png usr/share/icons/hicolor/64x64/apps/testdrive-indicator.png usr/share/testdrivegtk/media/testdrive-attention-green_64.png usr/share/icons/hicolor/64x64/apps/testdrive-attention.png -usr/share/testdrivegtk/media/logo.png usr/share/pixmaps/testdrive-gtk.png +usr/share/testdrivegtk/media/logo.png usr/share/pixmaps/testdrive-gtk.png \ No newline at end of file diff -Nru testdrive-3.24/doc/testdrive.1 testdrive-3.25/doc/testdrive.1 --- testdrive-3.24/doc/testdrive.1 2013-08-27 16:12:27.000000000 +0000 +++ testdrive-3.25/doc/testdrive.1 2014-01-27 10:38:52.000000000 +0000 @@ -1,4 +1,4 @@ -.TH testdrive 1 "5 Nov 2009" testdrive "testdrive" +.TH testdrive 1 "17 Nov 2013" testdrive "testdrive" .SH NAME testdrive \- Test Drive the current Ubuntu Development Snapshot in a VM @@ -6,21 +6,37 @@ testdrive [\-d] [\-f FILE] [\-l FLAVOR] [\-r RELEASE] [\-u URL] [\-v|\-\-version] .SH OPTIONS -\fB\-c|\-\-curses\fP - Use KVM CURSES mode when launching a Cloud image - -\fB\-d\fP - launch usb-creator after testdriving ISO - -\fB\-f FILE\fP - path to a configuration file to read - -\fB\-l FLAVOR\fP - hardcode Ubuntu flavor to testdrive; can be [ubuntu | kubuntu | xubuntu | edubuntu | mythbuntu | ubuntustudio | lubuntu | cloud-server | ubuntukylin ] - -\fB\-p REPOSITORY\fP - select Ubuntu repository; can be [cdimage|releases|cloud-daily] - -\fB\-r RELEASE\fP - hardcode Ubuntu release codename to testdrive - -\fB\-u URL\fP - url to an ISO image to download and use; can be [rsync|zsync|http|ftp|file] protocol - -\fB\-v|\-\-version\fP - display the version and the hypervisor to be used, and exit +.TP +\fB\-h\fR, \fB\-\-help\fR +show this help message and exit +.TP +\fB\-f\fR CONFIG, \fB\-\-config\fR=\fICONFIG\fR +user configuration file (overriding default values +.TP +\fB\-v\fR, \fB\-\-version\fR +print version and system data, and exit +.TP +\fB\-u\fR URL, \fB\-\-url\fR=\fIURL\fR +get ISO image from this URL location +.TP +\fB\-d\fR, \fB\-\-desktop\fR +try to launch usb\-creator for further testing +.TP +\fB\-r\fR RELEASE, \fB\-\-release\fR=\fIRELEASE\fR +hardcode Ubuntu RELEASE codename +.TP +\fB\-l\fR FLAVOR, \fB\-\-flavor\fR=\fIFLAVOR\fR +hardcode Ubuntu flavor. Available Flavors: +ubuntu/kubuntu/xubuntu/edubuntu/mythbuntu/ubuntustudio +\fI/lubuntu/ubuntukylin\fP +.TP +\fB\-p\fR REPOSITORY, \fB\-\-repo\fR=\fIREPOSITORY\fR +hardcode Ubuntu repository from where to obtain ISOs: +releases/cdimage/cloud\-daily/cloud\-releases +.TP +\fB\-c\fR, \fB\-\-curses\fR +displays the Virtual Machine in the shell. Only valid +for Cloud images. .SH DESCRIPTION \fBtestdrive\fP is a utility that allows you to easily download the latest Ubuntu development release or Cloud image, and run it in a virtual machine. @@ -80,4 +96,4 @@ .SH AUTHOR This manpage and the utility was written by Dustin Kirkland for Ubuntu systems (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 published by the Free Software Foundation. -On Debian based systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. +On Debian based systems, the complete text of the GNU General Public License, version 3, can be found in /usr/share/common-licenses/GPL-3. diff -Nru testdrive-3.24/setup.py testdrive-3.25/setup.py --- testdrive-3.24/setup.py 2013-08-27 16:30:11.000000000 +0000 +++ testdrive-3.25/setup.py 2013-08-27 16:31:59.000000000 +0000 @@ -93,7 +93,7 @@ DistUtilsExtra.auto.setup( name='testdrive', - version='3.24', + version='3.25', license='GPL-3', author='Andres Rodriguez', author_email='andreserl@ubuntu.com', diff -Nru testdrive-3.24/testdrive/testdrive.py testdrive-3.25/testdrive/testdrive.py --- testdrive-3.24/testdrive/testdrive.py 2013-08-27 16:12:27.000000000 +0000 +++ testdrive-3.25/testdrive/testdrive.py 2014-01-27 10:38:52.000000000 +0000 @@ -22,6 +22,33 @@ import os, platform, commands, tempfile, hashlib, ConfigParser, time import xdg.BaseDirectory +CATEGORY = { + "ubuntu-server":"ubuntu", + "ubuntu-netbook":"ubuntu", + "ubuntu-mobile":"ubuntu", + "kubuntu-netbook":"kubuntu", + "kubuntu-mobile":"kubuntu", + "kubuntu-active":"kubuntu", + "ubuntukylin":"ubuntukylin", + "ubuntu-gnome":"ubuntugnome", +} + + +FLAVORS = { + "ubuntu-netbook":"Ubuntu", + "ubuntu-mobile":"Ubuntu", + "kubuntu-netbook":"Kubuntu", + "kubuntu-mobile":"Kubuntu", + "kubuntu-active":"Kubuntu", + "ubuntustudio":"Ubuntu Studio", + "ubuntu-server":"Ubuntu", + "ubuntukylin":"UbuntuKylin", + "ubuntu-gnome":"Ubuntu Gnome", + "cloud-server":"Cloud Server", + "cloud-desktop":"Cloud Desktop", +} + + class Testdrive: def __init__(self, pkg_section): self.HOME = os.getenv("HOME", "") @@ -101,47 +128,19 @@ for iso in ISOS: if iso.split()[1] == self.r: # TODO: Add support for Cloud - category = iso.split()[0] - if category == 'ubuntu-server': - category = 'ubuntu' - elif category == 'ubuntu-netbook': - category = 'ubuntu' - elif category == 'ubuntu-mobile': - category = 'ubuntu' - elif category == 'kubuntu-netbook': - category = 'kubuntu' - elif category == 'kubuntu-mobile': - category = 'kubuntu' - elif category == 'kubuntu-active': - category = 'kubuntu' - elif category == 'ubuntukylin': - category = 'ubuntukylin' - flavor = iso.split()[0].capitalize() - if flavor == 'Ubuntu-netbook': - flavor = 'Ubuntu' - elif flavor == 'Ubuntu-mobile': - flavor == 'Ubuntu' - elif flavor == 'Kubuntu-netbook': - flavor = 'Kubuntu' - elif flavor == 'Kubuntu-mobile': - flavor = 'Kubuntu' - elif flavor == 'Kubuntu-active': - flavor = 'Kubuntu Active' - elif flavor == 'Ubuntustudio': - flavor = 'Ubuntu Studio' - elif flavor == 'Ubuntu-server': - flavor = 'Ubuntu' - elif flavor == 'Ubuntukylin': - flavor = 'UbuntuKylin' - elif flavor == 'Cloud-server': - flavor = 'Cloud Server' - elif flavor == 'Cloud-desktop': - flavor = 'Cloud Desktop' + if iso.split()[0] not in CATEGORY: + category = iso.split()[0] + else: + category = CATEGORY[iso.split()[0]] + if iso.split()[0] not in FLAVORS: + flavor = iso.split()[0].capitalize() + else: + flavor = FLAVORS[iso.split()[0]] release = iso.split()[1] url = iso.split()[2] if self.p == 'cloud-daily' or self.p == 'cloud-releases': arch = url.split(".tar.gz")[0].split("-")[-1] - name = "%s" % flavor + name = "%s" % flavor else: arch = url.split(".iso")[0].split("-")[-1] image = url.split("-%s.iso" % arch)[0].split("-")[-1].capitalize() diff -Nru testdrive-3.24/testdrive/virt/virtualbox.py testdrive-3.25/testdrive/virt/virtualbox.py --- testdrive-3.24/testdrive/virt/virtualbox.py 2013-08-27 16:12:27.000000000 +0000 +++ testdrive-3.25/testdrive/virt/virtualbox.py 2014-01-27 10:38:52.000000000 +0000 @@ -50,10 +50,10 @@ # version string for comparison later self.vboxversion = commands.getoutput("VBoxManage --version") self.vboxversion = ( int(self.vboxversion.split(".")[0]), int(self.vboxversion.split(".")[1]) ) - if self.vboxversion == (4,0) or self.vboxversion == (4,1) or self.vboxversion == (4,2): + if self.vboxversion == (4,0) or self.vboxversion == (4,1) or self.vboxversion == (4,2) or self.vboxversion == (4,3): logger.info("VirtualBox %s.%s detected." % self.vboxversion) else: - logger.error("ERROR: Unsupported version (%s.%s) of VirtualBox; please install v4.0, v4.1 or v4.2." % self.vboxversion) + logger.error("ERROR: Unsupported version (%s.%s) of VirtualBox; please install v4.0 or newer." % self.vboxversion) exit(0) # Code to setup virtual machine @@ -65,7 +65,7 @@ self.DISK_SIZE = self.DISK_SIZE.replace("G", "000") logger.info("Creating disk image...") self.run_or_die("VBoxManage createhd --filename %s --size %s" % (self.DISK_FILE, self.DISK_SIZE)) - if self.vboxversion == (4,0) or self.vboxversion == (4,1) or self.vboxversion == (4,2): + if self.vboxversion == (4,0) or self.vboxversion == (4,1) or self.vboxversion == (4,2) or self.vboxversion == (4,3): self.run("VBoxManage storageattach %s --storagectl \"IDE Controller\" --port 0 --device 0 --type hdd --medium none" % self.VBOX_NAME) if self.PATH_TO_ISO != "/dev/null": self.run("VBoxManage storageattach %s --storagectl \"IDE Controller\" --port 0 --device 1 --type dvddrive --medium none" % self.VBOX_NAME) @@ -86,11 +86,12 @@ self.run_or_die("VBoxManage modifyvm %s --boot1 disk" % self.VBOX_NAME) self.run_or_die("VBoxManage modifyvm %s --boot2 dvd" % self.VBOX_NAME) self.run_or_die("VBoxManage modifyvm %s --nic1 nat" % self.VBOX_NAME) + self.run_or_die("VBoxManage modifyvm %s --pae on" % self.VBOX_NAME) # Code launch virtual machine def launch_virt(self): logger.info("Running the Virtual Machine...") - if self.vboxversion == (4,0) or self.vboxversion == (4,1) or self.vboxversion == (4,2): + if self.vboxversion == (4,0) or self.vboxversion == (4,1) or self.vboxversion == (4,2) or self.vboxversion == (4,3): self.run_or_die("VBoxManage storagectl %s --name \"IDE Controller\" --add ide" % self.VBOX_NAME) self.run_or_die("VBoxManage storageattach %s --storagectl \"IDE Controller\" --port 0 --device 0 --type hdd --medium %s" % (self.VBOX_NAME, self.DISK_FILE)) if self.PATH_TO_ISO != "/dev/null": diff -Nru testdrive-3.24/testdrivegtk/PreferencesTestdrivegtkDialog.py testdrive-3.25/testdrivegtk/PreferencesTestdrivegtkDialog.py --- testdrive-3.24/testdrivegtk/PreferencesTestdrivegtkDialog.py 2013-08-27 16:12:27.000000000 +0000 +++ testdrive-3.25/testdrivegtk/PreferencesTestdrivegtkDialog.py 2014-01-27 10:38:52.000000000 +0000 @@ -199,6 +199,8 @@ self.chk_flavor_lubuntu.connect("clicked", self.on_select_flavors) self.chk_flavor_ubuntukylin = self.builder.get_object("chk_flavor_ubuntukylin") self.chk_flavor_ubuntukylin.connect("clicked", self.on_select_flavors) + self.chk_flavor_ubuntugnome = self.builder.get_object("chk_flavor_ubuntugnome") + self.chk_flavor_ubuntugnome.connect("clicked", self.on_select_flavors) self.chk_flavor_other = self.builder.get_object("chk_flavor_other") self.chk_flavor_other.connect("clicked", self.on_select_flavors) @@ -302,6 +304,8 @@ self.chk_flavor_lubuntu.set_active(True) elif flavor == 'ubuntukylin': self.chk_flavor_ubuntukylin.set_active(True) + elif flavor == 'ubuntugnome': + self.chk_flavor_ubuntugnome.set_active(True) elif flavor == 'other': self.chk_flavor_other.set_active(True) else: @@ -447,6 +451,8 @@ self.flavors = self.flavors + "lubuntu, " if self.chk_flavor_ubuntukylin.get_active(): self.flavors = self.flavors + "ubuntukylin, " + if self.chk_flavor_ubuntugnome.get_active(): + self.flavors = self.flavors + "ubuntugnome, " if self.chk_flavor_other.get_active(): self.flavors = self.flavors + "other, "