-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathcustomize
More file actions
executable file
·177 lines (151 loc) · 6.07 KB
/
customize
File metadata and controls
executable file
·177 lines (151 loc) · 6.07 KB
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
#!/usr/bin/env python
import os
import sys
def chroot_status():
status = os.system("ischroot");
if status == 0:
return True
else:
return False
def update_package_cache():
if chrooted:
status = os.system("apt-get update --assume-yes");
print "Running apt-get update"
else:
print "update_package_cache(): apt-get update"
def install_key(url):
if chrooted:
status = os.system("wget %s -O - | apt-key add -"%(url))
print "Adding apt key %s"%(url)
else:
print("install_key(url): wget %s -O - | apt-key add -"%(url))
def install_package(pkg):
if chrooted:
status = os.system("export DEBIAN_FRONTEND=noninteractive && apt-get install --assume-yes %s"%(pkg))
print "Installing %s"%(pkg)
else:
print("install_package(pkg): export DEBIAN_FRONTEND=noninteractive apt-get install --assume-yes %s"%(pkg))
def deinstall_package(pkg):
if chrooted:
status = os.system("apt-get purge --assume-yes --force-yes %s"%(pkg))
print "Deinstalling %s"%(pkg)
else:
print("deinstall_package(pkg): apt-get purge --assume-yes --force-yes %s"%(pkg))
def apt_autorm():
if chrooted:
status = os.system("apt-get autoremove --assume-yes")
print "apt-get autoremoving"
else:
print("apt-get autoremove")
def install_dpkg(pkg):
if chrooted:
status = os.system("dpkg -i %s/deb/%s"%(script_dir,pkg))
print "Installing %s/deb/%s"%(script_dir,pkg)
else:
print("install_package(pkg): %s"%(pkg))
def install_pip(pkg):
if chrooted:
status = os.system("pip install %s"%(pkg))
print "Installing %s"%(pkg)
else:
print("install_package(pkg): %s"%(pkg))
def remove_package(pkg):
status = os.system("echo remove " + pkg)
print str(status) + "\n"
# apt-get --purge remove --assume-yes --force-yes "$@"
def add_repository():
if chrooted:
repo_file = open("/etc/apt/sources.list.d/ros-latest.list", "w")
# print >> repo_file, "deb http://packages.ros.org/ros-shadow-fixed/ubuntu precise main #Robot Operating System"
print >> repo_file, "deb http://packages.ros.org/ros/ubuntu trusty main #Robot Operating System"
repo_file.close()
repo_file = open("/etc/apt/sources.list.d/google.list", "w")
print >> repo_file, "deb http://dl.google.com/linux/deb/ stable main"
repo_file.close()
else:
print("add_repository(): deb ... #Robot Operating System & Google")
def enable_multiuniverse():
if chrooted:
status = os.system("cp %s/sources.list /etc/apt/sources.list"%(script_dir))
print "Enabling Multiverse and Universe"
else:
print("enable_multiuniverse(): cp %s/sources.list /etc/apt/sources.list"%(script_dir))
def enable_ros_bashrc():
if chrooted:
bashrc_file = open("/etc/skel/.bashrc", "a")
print >> bashrc_file, """
source /opt/ros/indigo/setup.bash
# Environment variables to work with remote workstation
export ROS_HOSTNAME=localhost
export ROS_MASTER_URI=http://localhost:11311
# Customise turtlebot
# http://wiki.ros.org/turtlebot/Tutorials/indigo/Customising%20the%20Turtle
export TURTLEBOT_NAME=turtlebot
"""
bashrc_file.close()
else:
print("enable_ros_bashrc(): source /opt/ros/indigo/setup.bash")
def main(args):
global script_dir
script_dir = os.path.dirname(sys.argv[0])
remaster_dir = os.path.expanduser('/iso/remaster-root')
#remaster_dir = os.path.expanduser('~/tmp/remaster-root')
global chrooted
# check if chrooted
chrooted = chroot_status()
if not chrooted:
print "UCK Customization Script"
print "----"
print "Cannot detect chrooted environment: Running in DEBUG Mode"
print >> sys.stderr, "enable_multiuniverse()"
# FIXME: enable_multiuniverse()
status = os.system('sudo add-apt-repository -y "deb http://us.archive.ubuntu.com/ubuntu/ trusty universe multiverse"')
status = os.system('sudo add-apt-repository -y "deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe multiverse"')
add_repository()
install_key("https://raw.githubusercontent.com/ros/rosdistro/master/ros.key")
install_key("https://dl-ssl.google.com/linux/linux_signing_key.pub")
status = os.system("sudo add-apt-repository -y ppa:neautomation/ros")
print >> sys.stderr, "update_package_cache()"
update_package_cache()
#status = os.system("mv /etc/kernel/postinst.d/zz-update-grub /etc/kernel/postinst.d/zz-update-grub.bak")
#status = os.system("apt-get upgrade --assume-yes")
#status = os.system("mv /etc/kernel/postinst.d/zz-update-grub.bak /etc/kernel/postinst.d/zz-update-grub")
print >> sys.stderr, "Deinstall unwanted packages"
# Deinstall unwanted packages
apt_file = open("%s/apt_deinstall"%(script_dir),"r")
for package in apt_file:
package = package.strip()
if package != "" and package[0] != "#":
deinstall_package(package)
apt_file.close()
print >> sys.stderr, "Install packages via apt-get"
# Install packages via apt-get
apt_file = open("%s/apt_packages"%(script_dir),"r")
for package in apt_file:
package = package.strip()
if package != "" and package[0] != "#":
install_package(package)
apt_file.close()
print >> sys.stderr, "Install packages via dpkg"
# Install packages via dpkg
deb_file = open("%s/deb_packages"%(script_dir),"r")
for package in deb_file:
package = package.strip()
if package != "" and package[0] != "#":
install_dpkg(package)
deb_file.close()
print >> sys.stderr, "Install packages via pip"
# Install packages via pip
pip_file = open("%s/pip_packages"%(script_dir),"r")
for package in pip_file:
package = package.strip()
if package != "" and package[0] != "#":
install_pip(package)
pip_file.close()
# apt_autorm()
# update_package_cache()
#status = os.system("apt-get upgrade --assume-yes")
print >> sys.stderr, "enable_ros_bashrc"
enable_ros_bashrc()
if __name__ == '__main__':
main(sys.argv)