~ubuntu-branches/ubuntu/quantal/virtinst/quantal-updates

« back to all changes in this revision

Viewing changes to .pc/9005_ubuntu_releases.patch/virtinst/osdict.py

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-07-24 08:52:01 UTC
  • mfrom: (1.6.8 sid)
  • Revision ID: package-import@ubuntu.com-20120724085201-q3h0cbabg4t46gfm
Tags: 0.600.2-1ubuntu1
* Merge from debian unstable. Remaining changes:
  - debian/patches/9003-fix-path-to-hvmloader-in-testsuite.patch: adjust
    testsuite for 0001-fix-path-to-hvmloader.patch and
    0002-Fix-path-to-pygrub.patch.
  - debian/patches/9004_ubuntu_fix_tree_support.patch: Fix tree detection
    for all ISO/HTTP source, to not longer fail with cobbler/koan.
  - debian/patches/0004-Fix-path-to-qemu-dm.patch: fix the path to the
    qemu-dm binary.
  - debian/{control,rules,pyversions}: Build using dh_python2, use
    debhelper v8 instead of cdbs; for some reason the package build an
    empty binary package when using dh_python2.
  - debian/control: added acl package to depends.
  - debian/control: added libvirt-bin to recommends
* Dropped patches:
  - debian/patches/9005_ubuntu_releases.patch: Upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#
2
 
# List of OS Specific data
3
 
#
4
 
# Copyright 2006-2008  Red Hat, Inc.
5
 
# Jeremy Katz <katzj@redhat.com>
6
 
#
7
 
# This program is free software; you can redistribute it and/or modify
8
 
# it under the terms of the GNU General Public License as published by
9
 
# the Free  Software Foundation; either version 2 of the License, or
10
 
# (at your option)  any later version.
11
 
#
12
 
# This program is distributed in the hope that it will be useful,
13
 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 
# GNU General Public License for more details.
16
 
#
17
 
# You should have received a copy of the GNU General Public License
18
 
# along with this program; if not, write to the Free Software
19
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20
 
# MA 02110-1301 USA.
21
 
 
22
 
import support
23
 
from VirtualDevice import VirtualDevice
24
 
from virtinst import _gettext as _
25
 
 
26
 
HV_ALL = "all"
27
 
 
28
 
"""
29
 
Default values for OS_TYPES keys. Can be overwritten at os_type or
30
 
variant level
31
 
"""
32
 
 
33
 
NET   = VirtualDevice.VIRTUAL_DEV_NET
34
 
DISK  = VirtualDevice.VIRTUAL_DEV_DISK
35
 
INPUT = VirtualDevice.VIRTUAL_DEV_INPUT
36
 
SOUND = VirtualDevice.VIRTUAL_DEV_AUDIO
37
 
VIDEO = VirtualDevice.VIRTUAL_DEV_VIDEO
38
 
 
39
 
VIRTIO_DISK = {
40
 
    "bus" : [
41
 
        (support.SUPPORT_CONN_HV_VIRTIO, "virtio"),
42
 
    ]
43
 
}
44
 
 
45
 
VIRTIO_NET = {
46
 
    "model" : [
47
 
        (support.SUPPORT_CONN_HV_VIRTIO, "virtio"),
48
 
    ]
49
 
}
50
 
 
51
 
USB_TABLET = {
52
 
    "type" : [
53
 
        (HV_ALL, "tablet"),
54
 
    ],
55
 
    "bus"  : [
56
 
        (HV_ALL, "usb"),
57
 
    ]
58
 
}
59
 
 
60
 
VGA_VIDEO = {
61
 
    "model_type": [
62
 
        (HV_ALL, "vga"),
63
 
    ]
64
 
}
65
 
 
66
 
DEFAULTS = {
67
 
    "acpi":             True,
68
 
    "apic":             True,
69
 
    "clock":            "utc",
70
 
    "continue":         False,
71
 
    "distro":           None,
72
 
    "label":            None,
73
 
    "pv_cdrom_install": False,
74
 
    "supported":        False,
75
 
 
76
 
    "devices" : {
77
 
        #  "devname" : { "attribute" : [( ["applicable", "hv-type", list"],
78
 
        #                               "recommended value for hv-types" ),]},
79
 
        INPUT   : {
80
 
            "type" : [
81
 
                (HV_ALL, "mouse")
82
 
            ],
83
 
            "bus"  : [
84
 
                (HV_ALL, "ps2")
85
 
            ],
86
 
        },
87
 
 
88
 
        DISK    : {
89
 
            "bus"  : [
90
 
                (HV_ALL, None)
91
 
            ],
92
 
        },
93
 
 
94
 
        NET     : {
95
 
            "model": [
96
 
                (HV_ALL, None)
97
 
            ],
98
 
        },
99
 
 
100
 
        SOUND : {
101
 
            "model": [
102
 
                (support.SUPPORT_CONN_HV_SOUND_ICH6, "ich6"),
103
 
                (support.SUPPORT_CONN_HV_SOUND_AC97, "ac97"),
104
 
                (HV_ALL, "es1370"),
105
 
            ]
106
 
        },
107
 
 
108
 
        VIDEO : {
109
 
            "model_type": [
110
 
                (HV_ALL, "cirrus"),
111
 
            ]
112
 
        },
113
 
    }
114
 
}
115
 
 
116
 
def sort_helper(tosort, sortpref=None):
117
 
    """
118
 
    Helps properly sorting os dictionary entires
119
 
    """
120
 
    sortby_mappings = {}
121
 
    distro_mappings = {}
122
 
    retlist = []
123
 
    sortpref = sortpref or []
124
 
 
125
 
    # Make sure we are sorting by 'sortby' if specified, and group distros
126
 
    # by their 'distro' tag first and foremost
127
 
    for key, osinfo in tosort.items():
128
 
        if osinfo.get("skip"):
129
 
            continue
130
 
 
131
 
        sortby = osinfo.get("sortby")
132
 
        if not sortby:
133
 
            sortby = key
134
 
        sortby_mappings[sortby] = key
135
 
 
136
 
        distro = osinfo.get("distro") or "zzzzzzz"
137
 
        if distro not in distro_mappings:
138
 
            distro_mappings[distro] = []
139
 
        distro_mappings[distro].append(sortby)
140
 
 
141
 
    # We want returned lists to be sorted descending by 'distro', so we get
142
 
    # debian5, debian4, fedora14, fedora13
143
 
    #   rather than
144
 
    # debian4, debian5, fedora13, fedora14
145
 
    for distro_list in distro_mappings.values():
146
 
        distro_list.sort()
147
 
        distro_list.reverse()
148
 
 
149
 
    sorted_distro_list = distro_mappings.keys()
150
 
    sorted_distro_list.sort()
151
 
    sortpref.reverse()
152
 
    for prefer in sortpref:
153
 
        if not prefer in sorted_distro_list:
154
 
            continue
155
 
        sorted_distro_list.remove(prefer)
156
 
        sorted_distro_list.insert(0, prefer)
157
 
 
158
 
    for distro in sorted_distro_list:
159
 
        distro_list = distro_mappings[distro]
160
 
        for key in distro_list:
161
 
            orig_key = sortby_mappings[key]
162
 
            retlist.append(orig_key)
163
 
 
164
 
    return retlist
165
 
 
166
 
def parse_key_entry(conn, hv_type, key_entry, defaults):
167
 
    ret = None
168
 
    found = False
169
 
    if type(key_entry) == list:
170
 
 
171
 
        # List of tuples with (support -> value) mappings
172
 
        for tup in key_entry:
173
 
 
174
 
            support_key = tup[0]
175
 
            value = tup[1]
176
 
 
177
 
            # HV_ALL means don't check for support, just return the value
178
 
            if support_key != HV_ALL:
179
 
                support_ret = support.check_conn_hv_support(conn,
180
 
                                                            support_key,
181
 
                                                            hv_type)
182
 
 
183
 
                if support_ret != True:
184
 
                    continue
185
 
 
186
 
            found = True
187
 
            ret = value
188
 
            break
189
 
    else:
190
 
        found = True
191
 
        ret = key_entry
192
 
 
193
 
    if not found and defaults:
194
 
        ret = parse_key_entry(conn, hv_type, defaults, None)
195
 
 
196
 
    return ret
197
 
 
198
 
def lookup_osdict_key(conn, hv_type, os_type, var, key):
199
 
 
200
 
    defaults = DEFAULTS[key]
201
 
    dictval = defaults
202
 
    if os_type:
203
 
        if var and key in OS_TYPES[os_type]["variants"][var]:
204
 
            dictval = OS_TYPES[os_type]["variants"][var][key]
205
 
        elif key in OS_TYPES[os_type]:
206
 
            dictval = OS_TYPES[os_type][key]
207
 
 
208
 
    return parse_key_entry(conn, hv_type, dictval, defaults)
209
 
 
210
 
 
211
 
def lookup_device_param(conn, hv_type, os_type, var, device_key, param):
212
 
 
213
 
    os_devs = lookup_osdict_key(conn, hv_type, os_type, var, "devices")
214
 
    defaults = DEFAULTS["devices"]
215
 
 
216
 
    for devs in [os_devs, defaults]:
217
 
        if device_key not in devs:
218
 
            continue
219
 
 
220
 
        return parse_key_entry(conn, hv_type, devs[device_key][param],
221
 
                               defaults.get(param))
222
 
 
223
 
    raise RuntimeError(_("Invalid dictionary entry for device '%s %s'" %
224
 
                       (device_key, param)))
225
 
 
226
 
 
227
 
# NOTE: keep variant keys using only lowercase so we can do case
228
 
#       insensitive checks on user passed input
229
 
OS_TYPES = {
230
 
"linux": {
231
 
    "label": "Linux",
232
 
    "variants": {
233
 
 
234
 
    "rhel2.1": {
235
 
        "label": "Red Hat Enterprise Linux 2.1",
236
 
        "distro": "rhel"
237
 
    },
238
 
    "rhel3": {
239
 
        "label": "Red Hat Enterprise Linux 3",
240
 
        "distro": "rhel"
241
 
    },
242
 
    "rhel4": {
243
 
        "label": "Red Hat Enterprise Linux 4",
244
 
        "distro": "rhel",
245
 
        "supported": True,
246
 
    },
247
 
    "rhel5": {
248
 
        "label": "Red Hat Enterprise Linux 5",
249
 
        "distro": "rhel",
250
 
    },
251
 
    "rhel5.4": {
252
 
        "label": "Red Hat Enterprise Linux 5.4 or later",
253
 
        "distro": "rhel",
254
 
        "supported": True,
255
 
        "devices" : {
256
 
            DISK : VIRTIO_DISK,
257
 
            NET  : VIRTIO_NET,
258
 
        },
259
 
    },
260
 
    "rhel6": {
261
 
        "label": "Red Hat Enterprise Linux 6",
262
 
        "distro": "rhel",
263
 
        "supported": True,
264
 
        "devices" : {
265
 
            DISK : VIRTIO_DISK,
266
 
            NET  : VIRTIO_NET,
267
 
            INPUT: USB_TABLET,
268
 
        }
269
 
    },
270
 
 
271
 
    "fedora5": {
272
 
        "sortby": "fedora05",
273
 
        "label": "Fedora Core 5",
274
 
        "distro": "fedora"
275
 
    },
276
 
    "fedora6": {
277
 
        "sortby": "fedora06",
278
 
        "label": "Fedora Core 6",
279
 
        "distro": "fedora"
280
 
    },
281
 
    "fedora7": {
282
 
        "sortby": "fedora07",
283
 
        "label": "Fedora 7",
284
 
        "distro": "fedora"
285
 
    },
286
 
    "fedora8": {
287
 
        "sortby": "fedora08",
288
 
        "label": "Fedora 8",
289
 
        "distro": "fedora"
290
 
    },
291
 
    "fedora9": {
292
 
        "sortby":  "fedora09",
293
 
        "label": "Fedora 9",
294
 
        "distro": "fedora",
295
 
        "devices" : {
296
 
            # Apparently F9 has selinux errors when installing with virtio:
297
 
            # https://bugzilla.redhat.com/show_bug.cgi?id=470386
298
 
            #DISK : VIRTIO_DISK,
299
 
            NET  : VIRTIO_NET,
300
 
        }
301
 
    },
302
 
    "fedora10": {
303
 
        "label": "Fedora 10",
304
 
        "distro": "fedora",
305
 
        "devices" : {
306
 
            DISK : VIRTIO_DISK,
307
 
            NET  : VIRTIO_NET,
308
 
        }
309
 
    },
310
 
    "fedora11": {
311
 
        "label": "Fedora 11",
312
 
        "distro": "fedora",
313
 
        "devices" : {
314
 
            DISK : VIRTIO_DISK,
315
 
            NET  : VIRTIO_NET,
316
 
            INPUT: USB_TABLET,
317
 
        }
318
 
    },
319
 
    "fedora12": {
320
 
        "label": "Fedora 12",
321
 
        "distro": "fedora",
322
 
        "devices" : {
323
 
            DISK : VIRTIO_DISK,
324
 
            NET  : VIRTIO_NET,
325
 
            INPUT: USB_TABLET,
326
 
        }
327
 
    },
328
 
    "fedora13": {
329
 
        "label": "Fedora 13", "distro": "fedora",
330
 
        "devices" : {
331
 
            DISK : VIRTIO_DISK,
332
 
            NET  : VIRTIO_NET,
333
 
            INPUT: USB_TABLET,
334
 
        }
335
 
    },
336
 
    "fedora14": {
337
 
        "label": "Fedora 14",
338
 
        "distro": "fedora",
339
 
        "supported": True,
340
 
        "devices" : {
341
 
            DISK : VIRTIO_DISK,
342
 
            NET  : VIRTIO_NET,
343
 
            INPUT: USB_TABLET,
344
 
        }
345
 
    },
346
 
    "fedora15": {
347
 
        "label": "Fedora 15",
348
 
        "distro": "fedora",
349
 
        "supported": True,
350
 
        "devices" : {
351
 
            DISK : VIRTIO_DISK,
352
 
            NET  : VIRTIO_NET,
353
 
            INPUT: USB_TABLET,
354
 
        }
355
 
    },
356
 
    "fedora16": {
357
 
        "label": "Fedora 16",
358
 
        "distro": "fedora",
359
 
        "supported": True,
360
 
        "devices" : {
361
 
            DISK : VIRTIO_DISK,
362
 
            NET  : VIRTIO_NET,
363
 
            INPUT: USB_TABLET,
364
 
        }
365
 
    },
366
 
 
367
 
    "opensuse11": {
368
 
        "label": "openSuse 11",
369
 
        "distro": "suse",
370
 
        "supported": True,
371
 
        "devices" : {
372
 
            DISK : VIRTIO_DISK,
373
 
            NET  : VIRTIO_NET,
374
 
        },
375
 
    },
376
 
    "opensuse12": {
377
 
        "label": "openSuse 12",
378
 
        "distro": "suse",
379
 
        "supported": True,
380
 
        "devices" : {
381
 
            DISK : VIRTIO_DISK,
382
 
            NET  : VIRTIO_NET,
383
 
        },
384
 
    },
385
 
 
386
 
    "sles10": {
387
 
        "label": "Suse Linux Enterprise Server",
388
 
        "distro": "suse",
389
 
        "supported": True,
390
 
    },
391
 
    "sles11": {
392
 
        "label": "Suse Linux Enterprise Server 11",
393
 
        "distro": "suse",
394
 
        "supported": True,
395
 
        "devices" : {
396
 
            DISK : VIRTIO_DISK,
397
 
            NET  : VIRTIO_NET,
398
 
        },
399
 
    },
400
 
 
401
 
    "mandriva2009": {
402
 
        "label": "Mandriva Linux 2009 and earlier",
403
 
        "distro": "mandriva"
404
 
    },
405
 
    "mandriva2010": {
406
 
        "label": "Mandriva Linux 2010 and later",
407
 
        "distro": "mandriva",
408
 
        "supported": True,
409
 
        "devices" : {
410
 
            DISK : VIRTIO_DISK,
411
 
            NET  : VIRTIO_NET,
412
 
        },
413
 
    },
414
 
 
415
 
    "mes5": {
416
 
        "label": "Mandriva Enterprise Server 5.0",
417
 
        "distro": "mandriva",
418
 
    },
419
 
    "mes5.1": {
420
 
        "label": "Mandriva Enterprise Server 5.1 and later",
421
 
        "distro": "mandriva",
422
 
        "supported": True,
423
 
        "devices" : {
424
 
            DISK : VIRTIO_DISK,
425
 
            NET  : VIRTIO_NET,
426
 
        },
427
 
    },
428
 
 
429
 
    "mageia1": {
430
 
        "label": "Mageia 1 and later",
431
 
        "distro": "mageia",
432
 
        "supported": True,
433
 
        "devices" : {
434
 
            DISK : VIRTIO_DISK,
435
 
            NET  : VIRTIO_NET,
436
 
            INPUT: USB_TABLET,
437
 
        },
438
 
    },
439
 
 
440
 
 
441
 
    "debianetch": {
442
 
        "label": "Debian Etch",
443
 
        "distro": "debian",
444
 
        "sortby": "debian4",
445
 
    },
446
 
    "debianlenny": {
447
 
        "label": "Debian Lenny",
448
 
        "distro": "debian",
449
 
        "sortby": "debian5",
450
 
        "supported": True,
451
 
        "devices" : {
452
 
            DISK : VIRTIO_DISK,
453
 
            NET  : VIRTIO_NET,
454
 
        },
455
 
    },
456
 
    "debiansqueeze": {
457
 
        "label": "Debian Squeeze",
458
 
        "distro": "debian",
459
 
        "sortby": "debian6",
460
 
        "supported": True,
461
 
        "devices" : {
462
 
            DISK : VIRTIO_DISK,
463
 
            NET  : VIRTIO_NET,
464
 
            INPUT: USB_TABLET,
465
 
        }
466
 
    },
467
 
    "debianwheezy": {
468
 
        "label": "Debian Wheezy",
469
 
        "distro": "debian",
470
 
        "sortby": "debian7",
471
 
        "supported": True,
472
 
        "devices" : {
473
 
                   DISK : VIRTIO_DISK,
474
 
                   NET  : VIRTIO_NET,
475
 
                   INPUT: USB_TABLET,
476
 
        }
477
 
    },
478
 
 
479
 
    "ubuntuhardy": {
480
 
        "label": "Ubuntu 8.04 LTS (Hardy Heron)",
481
 
        "distro": "ubuntu",
482
 
        "supported": True,
483
 
        "devices" : {
484
 
            NET  : VIRTIO_NET,
485
 
        },
486
 
    },
487
 
    "ubuntuintrepid": {
488
 
        "label": "Ubuntu 8.10 (Intrepid Ibex)",
489
 
        "distro": "ubuntu",
490
 
        "devices" : {
491
 
            NET  : VIRTIO_NET,
492
 
        },
493
 
    },
494
 
    "ubuntujaunty": {
495
 
        "label": "Ubuntu 9.04 (Jaunty Jackalope)",
496
 
        "distro": "ubuntu",
497
 
        "devices" : {
498
 
            DISK : VIRTIO_DISK,
499
 
            NET  : VIRTIO_NET,
500
 
        },
501
 
    },
502
 
    "ubuntukarmic": {
503
 
        "label": "Ubuntu 9.10 (Karmic Koala)",
504
 
        "distro": "ubuntu",
505
 
        "devices" : {
506
 
            DISK : VIRTIO_DISK,
507
 
            NET  : VIRTIO_NET,
508
 
        },
509
 
    },
510
 
    "ubuntulucid": {
511
 
        "label": "Ubuntu 10.04 (Lucid Lynx)",
512
 
        "distro": "ubuntu",
513
 
        "supported": True,
514
 
        "devices" : {
515
 
            DISK : VIRTIO_DISK,
516
 
            NET  : VIRTIO_NET,
517
 
        },
518
 
    },
519
 
    "ubuntumaverick": {
520
 
        "label": "Ubuntu 10.10 (Maverick Meerkat)",
521
 
        "distro": "ubuntu",
522
 
        "supported": True,
523
 
        "devices" : {
524
 
            DISK : VIRTIO_DISK,
525
 
            NET  : VIRTIO_NET,
526
 
        },
527
 
    },
528
 
    "ubuntunatty": {
529
 
        "label": "Ubuntu 11.04 (Natty Narwhal)",
530
 
        "distro": "ubuntu",
531
 
        "supported": True,
532
 
        "devices" : {
533
 
            DISK : VIRTIO_DISK,
534
 
            NET  : VIRTIO_NET,
535
 
        },
536
 
    },
537
 
    "ubuntuoneiric": {
538
 
        "label": "Ubuntu 11.10 (Oneiric Ocelot)",
539
 
        "distro": "ubuntu",
540
 
        "supported": True,
541
 
        "devices" : {
542
 
            DISK : VIRTIO_DISK,
543
 
            NET  : VIRTIO_NET,
544
 
        },
545
 
    },
546
 
 
547
 
    "generic24": {
548
 
        "label": "Generic 2.4.x kernel"
549
 
    },
550
 
    "generic26": {
551
 
        "label": "Generic 2.6.x kernel"
552
 
    },
553
 
    "virtio26": {
554
 
        "sortby": "genericvirtio26",
555
 
        "label": "Generic 2.6.25 or later kernel with virtio",
556
 
        "devices" : {
557
 
            DISK : VIRTIO_DISK,
558
 
            NET  : VIRTIO_NET,
559
 
        },
560
 
    },
561
 
 
562
 
    },
563
 
},
564
 
 
565
 
"windows": {
566
 
    "label": "Windows",
567
 
    "clock": "localtime",
568
 
    "continue": True,
569
 
    "devices" : {
570
 
        INPUT : USB_TABLET,
571
 
        VIDEO : VGA_VIDEO,
572
 
    },
573
 
 
574
 
    "variants": {
575
 
 
576
 
    "winxp": {
577
 
        "label": "Microsoft Windows XP",
578
 
        "sortby": "mswin5",
579
 
        "distro" : "win",
580
 
        "supported": True,
581
 
        "acpi": [(support.SUPPORT_CONN_HV_SKIP_DEFAULT_ACPI, False)],
582
 
        "apic": [(support.SUPPORT_CONN_HV_SKIP_DEFAULT_ACPI, False)],
583
 
    },
584
 
    "winxp64": {
585
 
        "label": "Microsoft Windows XP (x86_64)",
586
 
        "supported": True,
587
 
        "sortby": "mswin564",
588
 
        "distro": "win",
589
 
    },
590
 
    "win2k": {
591
 
        "label": "Microsoft Windows 2000",
592
 
        "sortby" : "mswin4",
593
 
        "distro": "win",
594
 
        "acpi": [(support.SUPPORT_CONN_HV_SKIP_DEFAULT_ACPI, False)],
595
 
        "apic": [(support.SUPPORT_CONN_HV_SKIP_DEFAULT_ACPI, False)],
596
 
    },
597
 
    "win2k3": {
598
 
        "label": "Microsoft Windows Server 2003",
599
 
        "supported": True,
600
 
        "sortby" : "mswinserv2003",
601
 
        "distro": "winserv",
602
 
    },
603
 
    "win2k8": {
604
 
        "label": "Microsoft Windows Server 2008",
605
 
        "supported": True,
606
 
        "sortby": "mswinserv2008",
607
 
        "distro": "winserv",
608
 
    },
609
 
    "vista": {
610
 
        "label": "Microsoft Windows Vista",
611
 
        "supported": True,
612
 
        "sortby": "mswin6",
613
 
        "distro": "win",
614
 
    },
615
 
    "win7": {
616
 
        "label": "Microsoft Windows 7",
617
 
        "supported": True,
618
 
        "sortby": "mswin7",
619
 
        "distro": "win",
620
 
    },
621
 
 
622
 
    },
623
 
},
624
 
 
625
 
"solaris": {
626
 
    "label": "Solaris",
627
 
    "clock": "localtime",
628
 
    "pv_cdrom_install": True,
629
 
    "variants": {
630
 
 
631
 
    "solaris9": {
632
 
        "label": "Sun Solaris 9",
633
 
    },
634
 
    "solaris10": {
635
 
        "label": "Sun Solaris 10",
636
 
        "devices" : {
637
 
            INPUT : USB_TABLET,
638
 
        },
639
 
    },
640
 
    "opensolaris": {
641
 
        "label": "Sun OpenSolaris",
642
 
        "devices" : {
643
 
            INPUT : USB_TABLET,
644
 
        },
645
 
    },
646
 
 
647
 
    },
648
 
},
649
 
 
650
 
"unix": {
651
 
    "label": "UNIX",
652
 
    "variants": {
653
 
 
654
 
    "freebsd6": {
655
 
        "label": "FreeBSD 6.x" ,
656
 
        # http://www.nabble.com/Re%3A-Qemu%3A-bridging-on-FreeBSD-7.0-STABLE-p15919603.html
657
 
        "devices" : {
658
 
            NET : { "model" : [ (HV_ALL, "ne2k_pci") ] }
659
 
        },
660
 
    },
661
 
    "freebsd7": {
662
 
        "label": "FreeBSD 7.x" ,
663
 
        "devices" : {
664
 
            NET : { "model" : [ (HV_ALL, "ne2k_pci") ] }
665
 
        },
666
 
    },
667
 
    "freebsd8": {
668
 
        "label": "FreeBSD 8.x" ,
669
 
        "supported": True,
670
 
        "devices" : {
671
 
            NET : { "model" : [ (HV_ALL, "e1000") ] }
672
 
        },
673
 
    },
674
 
 
675
 
    "openbsd4": {
676
 
        "label": "OpenBSD 4.x" ,
677
 
        # http://calamari.reverse-dns.net:980/cgi-bin/moin.cgi/OpenbsdOnQemu
678
 
        # https://www.redhat.com/archives/et-mgmt-tools/2008-June/msg00018.html
679
 
        "devices" : {
680
 
            NET  : { "model" : [ (HV_ALL, "pcnet") ] }
681
 
        },
682
 
    },
683
 
 
684
 
    },
685
 
},
686
 
 
687
 
"other": {
688
 
    "label": "Other",
689
 
    "variants": {
690
 
 
691
 
    "msdos": {
692
 
        "label": "MS-DOS",
693
 
        "acpi": False,
694
 
        "apic": False,
695
 
    },
696
 
 
697
 
    "netware4": {
698
 
        "label": "Novell Netware 4",
699
 
    },
700
 
    "netware5": {
701
 
        "label": "Novell Netware 5",
702
 
    },
703
 
    "netware6": {
704
 
        "label": "Novell Netware 6",
705
 
        "pv_cdrom_install": True,
706
 
    },
707
 
 
708
 
    "generic": {
709
 
        "supported": True,
710
 
        "label": "Generic"
711
 
    },
712
 
 
713
 
    },
714
 
}
715
 
}
716
 
 
717
 
# Back compatibility entries
718
 
solaris_compat = OS_TYPES["unix"]["variants"]
719
 
 
720
 
solaris_compat["solaris9"] = OS_TYPES["solaris"]["variants"]["solaris9"].copy()
721
 
solaris_compat["solaris9"]["skip"] = True
722
 
 
723
 
solaris_compat["solaris10"] = OS_TYPES["solaris"]["variants"]["solaris10"].copy()
724
 
solaris_compat["solaris10"]["skip"] = True