summaryrefslogtreecommitdiffstats
path: root/installclasses/workstation.py
blob: b54f4b4840fd768e7a8f417ff92291c60d4ebcea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
from installclass import BaseInstallClass
from rhpl.translate import N_
from constants import *
import os
import iutil
from autopart import getAutopartitionBoot, autoCreatePartitionRequests
from fsset import *

class InstallClass(BaseInstallClass):
    name = N_("Workstation")
    pixmap = "workstation.png"
    description = N_("For systems intended for graphical desktop use using "
		     "the GNOME or KDE desktop environments.")

    sortPriority = 1

    # FIXME: THIS IS A HORRIBLE HACK AND MUST GO AWAY
    def selectDependentHiddenGroups(self, id):
        BaseInstallClass.selectDependentHiddenGroups(self, id)
        if id.comps["GNOME Desktop Environment"].isSelected():
            log("GNOME was selected, adding necessary components")
            id.comps["GNOME Office/Productivity Software"].select()
            id.comps["GNOME Multimedia Software"].select()
            id.comps["GNOME Messaging and Web Tools"].select()            
            if id.comps["Games and Entertainment"].isSelected():
                id.comps["GNOME Games and Entertainment"].select()
            if id.comps["Software Development"].isSelected():
                id.comps["GNOME Software Development"].select()

        if id.comps["KDE Desktop Environment"].isSelected():
            log("KDE was selected, adding necessary components")
            id.comps["KDE Office/Productivity Software"].select()
            id.comps["KDE Multimedia Software"].select()
            id.comps["KDE Messaging and Web Tools"].select()            
            if id.comps["Games and Entertainment"].isSelected():
                id.comps["KDE Games and Entertainment"].select()
            if id.comps["Software Development"].isSelected():
                id.comps["KDE Software Development"].select()

        if id.comps["Games and Entertainment"].isSelected():
            id.comps["X Based Games and Entertainment"].select()
        if id.comps["Software Development"].isSelected():
            id.comps["X Software Development"].select()

    def setSteps(self, dispatch):
	BaseInstallClass.setSteps(self, dispatch);
	dispatch.skipStep("partition")
	dispatch.skipStep("authentication")

        dispatch.skipStep("desktopchoice", skip = 0)
        dispatch.skipStep("package-selection", skip = 1)

    def setGroupSelection(self, comps):
	BaseInstallClass.__init__(self, comps)
#	self.showGroups(comps, [ "KDE Desktop Environment",
#                                 ("GNOME Desktop Environment", 1),
#                                 "Software Development",
#                                 "Games and Entertainment" ] )
        comps["Workstation Common"].select()

    def setInstallData(self, id):
	BaseInstallClass.setInstallData(self, id)

        autorequests = [ ("/", None, 1100, None, 1, 1) ]

        bootreq = getAutopartitionBoot()
        if bootreq:
            autorequests.append(bootreq)

        (minswap, maxswap) = iutil.swapSuggestion()
        autorequests.append((None, "swap", minswap, maxswap, 1, 1))

        id.partitions.autoClearPartType = CLEARPART_TYPE_LINUX
        id.partitions.autoClearPartDrives = None
        id.partitions.autoPartitionRequests = autoCreatePartitionRequests(autorequests)

    def __init__(self, expert):
	BaseInstallClass.__init__(self, expert)