~isantop/system76-driver/pkexec

« back to all changes in this revision

Viewing changes to usr/bin/system76-driver

  • Committer: Carl Richell
  • Date: 2012-06-07 16:11:42 UTC
  • mfrom: (48.3.3 system76-driver)
  • Revision ID: carl@system76.com-20120607161142-xh3qu41xuoy5fw6r
Update local code

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
#
 
3
## System76, Inc.
 
4
## Universal Driver
 
5
## Copyright System76, Inc.
 
6
## Copyright (C) 2010 System76, Inc.
 
7
## Released under the GNU General Public License (See LICENSE)
 
8
##
 
9
## Startup script
 
10
#
 
11
#
 
12
##TODO: Remove debugging OS version string for final release!
 
13
 
 
14
#import system python modules
 
15
import os
 
16
import sys
 
17
import optparse
 
18
import getpass
 
19
 
 
20
#setup working directory
 
21
dir='/opt/system76/system76-driver/src/'
 
22
 
 
23
if os.path.isdir(dir):
 
24
    sys.path.append(dir)
 
25
 
 
26
os.chdir(dir)
 
27
 
 
28
#need to get username before we become root
 
29
os.system("echo '" + getpass.getuser() + "' > /tmp/sys76-username")
 
30
 
 
31
#import System76 specific files
 
32
import base_system
 
33
import driverscontrol
 
34
import driversdescribe
 
35
import ubuntuversion
 
36
 
 
37
osversion = ubuntuversion.release()
 
38
driverversion = ubuntuversion.driver()
 
39
descriptionFile = "/tmp/sys76-drivers" #setup our description file that will hold descriptions of all of the drivers to be installed...
 
40
os.system("rm " + descriptionFile + " 2>/dev/null") #...and silently remove it if it exists.
 
41
 
 
42
def main():
 
43
    
 
44
    parser = optparse.OptionParser(usage="%prog [options]", version=driverversion)
 
45
    parser.add_option("-d", "--drivers", action="store_true", dest="drivers",
 
46
                help="Install Drivers for your Computer (requires sudo)")
 
47
    parser.add_option("-r", "--restore", action="store_true", dest="restore",
 
48
                help="Restore Computer to Factory Defaults (requires sudo)")
 
49
    parser.add_option("-l", "--list", action="store_true", dest="list",
 
50
                help="List drivers to be installed on this system (requires sudo)")
 
51
    
 
52
    (options, args) = parser.parse_args()
 
53
 
 
54
    if options.restore:
 
55
        base_system.app_install()
 
56
        driverscontrol.installDrivers()
 
57
    elif options.drivers:
 
58
        driverscontrol.installDrivers()
 
59
    elif options.list:
 
60
        if driversdescribe.describeDrivers() == "true":
 
61
            os.system("echo 'All of the drivers for this system are provided by Ubuntu.' > " + descriptionFile)
 
62
            os.system("cat " + descriptionFile)
 
63
        else:
 
64
            os.system("echo 'This application will install the following drivers/fixes:' > " + descriptionFile)
 
65
            driversdescribe.describeDrivers()
 
66
            os.system("cat " + descriptionFile)
 
67
    
 
68
    else:
 
69
    
 
70
        if osversion != '6.06' and osversion != '6.10' and osversion != '7.04' and osversion != '7.10' and osversion != '8.04' and osversion != '8.10' and osversion != '9.04' and osversion != '9.10' and osversion != '10.04' and osversion != '10.10' and osversion != '11.04':
 
71
            try:
 
72
                print("NOTE: 11.10 or later detected! Running GTK3 version.")
 
73
                os.environ['KDE_FULL_SESSION'] == 'true'
 
74
                os.system('kdesudo --comment "System76 Driver" python /opt/system76/system76-driver/src/System76Drivergtk3.py')
 
75
            except:
 
76
                print("NOTE: 11.10 or later detected! Running GTK3 version.")
 
77
                os.environ['GDMSESSION'] == 'default'
 
78
                os.system('gksu --description /usr/share/applications/system76-driver.desktop python /opt/system76/system76-driver/src/System76Drivergtk3.py')
 
79
            else:
 
80
                print("NOTE: 11.10 or later detected! Running GTK3 version.")
 
81
                os.system('gksu --description /usr/share/applications/system76-driver.desktop python /opt/system76/system76-driver/src/System76Drivergtk3.py')
 
82
        else:
 
83
            try:
 
84
                print("NOTE: 11.04 or earlier detected! Running GTK2 version.")
 
85
                os.environ['KDE_FULL_SESSION'] == 'true'
 
86
                os.system('kdesudo --comment "System76 Driver" python /opt/system76/system76-driver/src/System76Driver.py')
 
87
            except:
 
88
                print("NOTE: 11.04 or earlier detected! Running GTK2 version.")
 
89
                os.environ['GDMSESSION'] == 'default'
 
90
                os.system('gksu --description /usr/share/applications/system76-driver.desktop python /opt/system76/system76-driver/src/System76Driver.py')
 
91
            else:
 
92
                print("NOTE: 11.04 or earlier detected! Running GTK2 version.")
 
93
                os.system('gksu --description /usr/share/applications/system76-driver.desktop python /opt/system76/system76-driver/src/System76Driver.py')
 
94
 
 
95
if __name__ == "__main__":
 
96
    main()
 
97