def configure_user(self): """Configures by the regular user configuration stuff followed by mythbuntu specific user addons""" #Before beginning, set the initial root sql pass to the user pass self.passwd=self.db.get('passwd/user-password') self.set_debconf('mythtv/mysql_admin_password',self.passwd) self.set_debconf('mysql-server/root_password',self.passwd) self.set_debconf('mysql-server/root_password_again',self.passwd) #Regular ubuntu user configuration ParentInstall.configure_user(self) #We'll be needing the username, uid, gid self.user = self.db.get('passwd/username') self.uid = self.gid = '' try: self.uid = self.db.get('passwd/user-uid') except debconf.DebconfError: pass try: self.gid = self.db.get('passwd/user-gid') except debconf.DebconfError: pass if self.uid == '': self.uid = 1000 else: self.uid = int(self.uid) if self.gid == '': self.gid = 1000 else: self.gid = int(self.gid) #Create a .mythtv directory home_mythtv_dir = self.target + '/home/' + self.user + '/.mythtv' if not os.path.isdir(home_mythtv_dir): #in case someone made a symlink or file for the directory if os.path.islink(home_mythtv_dir) or os.path.exists(home_mythtv_dir): os.remove(home_mythtv_dir) os.mkdir(home_mythtv_dir) os.chown(home_mythtv_dir,self.uid,self.gid) #Remove mysql.txt from home directory if it's there, then make one sql_txt= home_mythtv_dir + '/mysql.txt' if os.path.islink(sql_txt) or os.path.exists(sql_txt): os.remove(sql_txt) try: os.symlink('/etc/mythtv/mysql.txt',sql_txt) except OSError: #on a live disk there is a chance this was a broken link #depending on what the user did in the livefs pass #mythtv.desktop autostart if 'Frontend' in self.type: config_dir = self.target + '/home/' + self.user + '/.config' autostart_dir = config_dir + '/autostart' autostart_link = autostart_dir + '/mythtv.desktop' if not os.path.isdir(config_dir): os.makedirs(config_dir) os.chown(config_dir,self.uid,self.gid) if not os.path.isdir(autostart_dir): os.makedirs(autostart_dir) os.chown(autostart_dir,self.uid,self.gid) elif os.path.islink(autostart_link) or os.path.exists(autostart_link): os.remove(autostart_link) try: os.symlink('/usr/share/applications/mythtv.desktop',autostart_link) except OSError: #on a live disk, this will appear a broken link, but it works pass #group membership self.chrex('adduser', self.user, 'mythtv') self.chrex('adduser', self.user, 'video')