Example #1
0
 def save_selection(self):
     sfile = open(part_schem, 'w')
     sfile.writelines('partscheme=%s' % self.schm)
     sfile.close()
     file_disk = open(disk_file, 'w')
     file_disk.writelines('%s\n' % self.disk)
     file_disk.close()
     NUMBER = int(self.size) - 1
     slice_file = open(dslice, 'w')
     slice_file.writelines('all\n')
     #slice_file.writelines('%s\n' % NUMBER)
     slice_file.close()
     ram = Popen(memory, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT,
     close_fds=True)
     mem = ram.stdout.read()
     SWAP = int(mem.partition(':')[2].strip()) / (1024 * 1024)
     NUM1 = NUMBER - SWAP
     read = open(boot_file, 'r')
     line = read.readlines()
     boot = line[0].strip()
     if bios_or_uefi() == "UEFI":
         NUM1 = NUM1 - 100
     elif boot == 'GRUB':
         NUM1 = NUM1 - 1
     else:
         NUM1 = NUM1 - 1
     pfile = open(Part_label, 'w')
     pfile.writelines('UFS+SUJ %s /\n' % NUM1)
     pfile.writelines('SWAP 0 none\n')
     pfile.close()
     return
Example #2
0
 def save_selection(self):
     sfile = open(part_schem, 'w')
     sfile.writelines('partscheme=%s' % self.schm)
     sfile.close()
     file_disk = open(disk_file, 'w')
     file_disk.writelines('%s\n' % self.disk)
     file_disk.close()
     NUMBER = int(self.size) - 1
     slice_file = open(dslice, 'w')
     slice_file.writelines('all\n')
     #slice_file.writelines('%s\n' % NUMBER)
     slice_file.close()
     ram = Popen(memory,
                 shell=True,
                 stdin=PIPE,
                 stdout=PIPE,
                 stderr=STDOUT,
                 close_fds=True)
     mem = ram.stdout.read()
     SWAP = int(mem.partition(':')[2].strip()) / (1024 * 1024)
     NUM1 = NUMBER - SWAP
     read = open(boot_file, 'r')
     line = read.readlines()
     boot = line[0].strip()
     if bios_or_uefi() == "UEFI":
         NUM1 = NUM1 - 100
     elif boot == 'GRUB':
         NUM1 = NUM1 - 1
     else:
         NUM1 = NUM1 - 1
     pfile = open(Part_label, 'w')
     pfile.writelines('UFS+SUJ %s /\n' % NUM1)
     pfile.writelines('SWAP 0 none\n')
     pfile.close()
     return
Example #3
0
 def save_selection(self):
     SIZE = int(zfs_dsk_list[0].partition('-')[2].rstrip()) - 2
     SWAP = int(self.swap_entry.get_text())
     ZFS_NUM = SIZE - SWAP
     if self.disk_encript is True:
         dgeli = '.eli'
     else:
         dgeli = ''
     pfile = open(Part_label, 'w')
     if self.zpool is True:
         pfile.writelines("zpoolName=%s\n" % self.pool.get_text())
     else:
         pfile.writelines("#zpoolName=None\n")
     if self.zfs_four_k is True:
         pfile.writelines('zfsForce4k=YES\n\n')
     else:
         pfile.writelines('#zfsForce4k=No\n\n')
     pfile.writelines('disk0=%s\n' %
                      zfs_dsk_list[0].partition('-')[0].rstrip())
     pfile.writelines('partition=ALL\n')
     pfile.writelines('partscheme=%s\n' % self.scheme)
     pfile.writelines('commitDiskPart\n\n')
     if self.poolType == 'none':
         pool_disk = '\n'
     else:
         ZFS_disk = zfs_dsk_list
         disk_len = len(ZFS_disk) - 1
         num = 1
         mirror_dsk = ''
         while disk_len != 0:
             mirror_dsk += ' ' + ZFS_disk[num].partition('-')[0].rstrip()
             print(mirror_dsk)
             num += 1
             disk_len -= 1
         pool_disk = ' (%s:%s)\n' % (self.poolType, mirror_dsk)
     if bios_or_uefi() == "UEFI":
         ZFS_NUM = ZFS_NUM - 100
     else:
         ZFS_NUM = ZFS_NUM - 1
     zfslayout = "/(compress=lz4|atime=off),/root(compress=lz4)," \
         "/tmp(compress=lz4),/usr(canmount=off|mountpoint=none)," \
         "/usr/home(compress=lz4),/usr/jails(compress=lz4)," \
         "/usr/obj(compress=lz4),/usr/ports(compress=lz4)," \
         "/usr/src(compress=lz4)," \
         "/var(canmount=off|atime=on|mountpoint=none)," \
         "/var/audit(compress=lz4),/var/log(compress=lz4)," \
         "/var/mail(compress=lz4),/var/tmp(compress=lz4)"
     zfsPart = 'disk0-part=ZFS%s %s %s%s' % (dgeli, ZFS_NUM, zfslayout,
                                             pool_disk)
     pfile.writelines(zfsPart)
     if SWAP != 0:
         pfile.writelines('disk0-part=SWAP%s %s none\n' % ('', SWAP))
     if self.disk_encript is True:
         pfile.writelines('encpass=%s\n' % self.password.get_text())
     else:
         pfile.writelines('#encpass=None\n')
     pfile.writelines('commitDiskLabel\n')
     pfile.close()
Example #4
0
 def save_selection(self):
     SIZE = int(zfs_dsk_list[0].partition('-')[2].rstrip()) - 2
     SWAP = int(self.swap_entry.get_text())
     ZFS_NUM = SIZE - SWAP
     if self.disk_encript is True:
         dgeli = '.eli'
     else:
         dgeli = ''
     pfile = open(Part_label, 'w')
     if self.zpool is True:
         pfile.writelines("zpoolName=%s\n" % self.pool.get_text())
     else:
         pfile.writelines("#zpoolName=None\n")
     if self.zfs_four_k is True:
         pfile.writelines('zfsForce4k=YES\n\n')
     else:
         pfile.writelines('#zfsForce4k=No\n\n')
     pfile.writelines('disk0=%s\n' % zfs_dsk_list[0].partition('-')[0].rstrip())
     pfile.writelines('partition=ALL\n')
     pfile.writelines('partscheme=%s\n' % self.scheme)
     pfile.writelines('commitDiskPart\n\n')
     if self.poolType == 'none':
         pool_disk = '\n'
     else:
         ZFS_disk = zfs_dsk_list
         disk_len = len(ZFS_disk) - 1
         num = 1
         mirror_dsk = ''
         while disk_len != 0:
             mirror_dsk += ' ' + ZFS_disk[num].partition('-')[0].rstrip()
             print(mirror_dsk)
             num += 1
             disk_len -= 1
         pool_disk = ' (%s:%s)\n' % (self.poolType, mirror_dsk)
     if bios_or_uefi() == "UEFI":
         ZFS_NUM = ZFS_NUM - 100
     else:
         ZFS_NUM = ZFS_NUM - 1
     zfslayout = "/(compress=lz4|atime=off),/root(compress=lz4)," \
         "/tmp(compress=lz4),/usr(canmount=off|mountpoint=none)," \
         "/usr/home(compress=lz4),/usr/jails(compress=lz4)," \
         "/usr/obj(compress=lz4),/usr/ports(compress=lz4)," \
         "/usr/src(compress=lz4)," \
         "/var(canmount=off|atime=on|mountpoint=none)," \
         "/var/audit(compress=lz4),/var/log(compress=lz4)," \
         "/var/mail(compress=lz4),/var/tmp(compress=lz4)"
     zfsPart = 'disk0-part=ZFS%s %s %s%s' % (dgeli, ZFS_NUM, zfslayout,
                                             pool_disk)
     pfile.writelines(zfsPart)
     if SWAP != 0:
         pfile.writelines('disk0-part=SWAP%s %s none\n' % ('', SWAP))
     if self.disk_encript is True:
         pfile.writelines('encpass=%s\n' % self.password.get_text())
     else:
         pfile.writelines('#encpass=None\n')
     pfile.writelines('commitDiskLabel\n')
     pfile.close()
Example #5
0
 def save_selection(self):
     SIZE = int(zfs_dsk_list[0].partition('-')[2].rstrip()) - 2
     SWAP = int(self.swap_entry.get_text())
     ZFS_NUM = SIZE - SWAP
     if self.disk_encript is True:
         dgeli = '.eli '
     else:
         dgeli = ' '
     if self.swap_encrypt is True:
         sgeli = '.eli '
     else:
         sgeli = ' '
     pfile = open(Part_label, 'w')
     if self.zpool is True:
         pfile.writelines("zpoolName=%s\n" % self.pool.get_text())
     else:
         pfile.writelines("#zpoolName=None\n")
     if self.zfs_four_k is True:
         pfile.writelines('zfsForce4k=YES\n\n')
     else:
         pfile.writelines('#zfsForce4k=No\n\n')
     pfile.writelines('disk0=%s\n' %
                      zfs_dsk_list[0].partition('-')[0].rstrip())
     pfile.writelines('partition=ALL\n')
     pfile.writelines('partscheme=%s\n' % self.scheme)
     pfile.writelines('commitDiskPart\n\n')
     if self.mirror == 'none':
         pool_type = '\n'
     else:
         ZFS_disk = zfs_dsk_list
         disk_len = len(ZFS_disk) - 1
         num = 1
         while disk_len != 0:
             mirror_dsk = ' ' + ZFS_disk[num].partition('-')[0].rstrip()
             num += 1
             disk_len -= 1
         pool_type = ' (%s:%s)\n' % (self.mirror, mirror_dsk)
     read = open(boot_file, 'r')
     line = read.readlines()
     boot = line[0].strip()
     if bios_or_uefi() == "UEFI":
         ZFS_NUM = ZFS_NUM - 100
     elif boot == 'GRUB':
         ZFS_NUM = ZFS_NUM - 1
     else:
         ZFS_NUM = ZFS_NUM - 1
     pfile.writelines('disk0-part=ZFS%s%s /, /usr, /var%s' %
                      (dgeli, ZFS_NUM, pool_type))
     if SWAP != 0:
         pfile.writelines('disk0-part=SWAP%s%s none\n' % (sgeli, SWAP))
     if self.disk_encript is True:
         pfile.writelines('encpass=%s\n' % self.password.get_text())
     else:
         pfile.writelines('#encpass=None\n')
     pfile.writelines('commitDiskLabel\n')
     pfile.close()
Example #6
0
 def save_selection(self):
     SIZE = int(zfs_dsk_list[0].partition('-')[2].rstrip()) - 2
     SWAP = int(self.swap_entry.get_text())
     ZFS_NUM = SIZE - SWAP
     if self.disk_encript is True:
         dgeli = '.eli '
     else:
         dgeli = ' '
     if self.swap_encrypt is True:
         sgeli = '.eli '
     else:
         sgeli = ' '
     pfile = open(Part_label, 'w')
     if self.zpool is True:
         pfile.writelines("zpoolName=%s\n" % self.pool.get_text())
     else:
         pfile.writelines("#zpoolName=None\n")
     if self.zfs_four_k is True:
         pfile.writelines('zfsForce4k=YES\n\n')
     else:
         pfile.writelines('#zfsForce4k=No\n\n')
     pfile.writelines('disk0=%s\n' % zfs_dsk_list[0].partition('-')[0].rstrip())
     pfile.writelines('partition=ALL\n')
     pfile.writelines('partscheme=%s\n' % self.scheme)
     pfile.writelines('commitDiskPart\n\n')
     if self.mirror == 'none':
         pool_type = '\n'
     else:
         ZFS_disk = zfs_dsk_list
         disk_len = len(ZFS_disk) - 1
         num = 1
         while disk_len != 0:
             mirror_dsk = ' ' + ZFS_disk[num].partition('-')[0].rstrip()
             num += 1
             disk_len -= 1
         pool_type = ' (%s:%s)\n' % (self.mirror, mirror_dsk)
     read = open(boot_file, 'r')
     line = read.readlines()
     boot = line[0].strip()
     if bios_or_uefi() == "UEFI":
         ZFS_NUM = ZFS_NUM - 100
     elif boot == 'GRUB':
         ZFS_NUM = ZFS_NUM - 1
     else:
         ZFS_NUM = ZFS_NUM - 1
     pfile.writelines('disk0-part=ZFS%s%s /, /usr, /var%s' % (dgeli, ZFS_NUM, pool_type))
     if SWAP != 0: 
         pfile.writelines('disk0-part=SWAP%s%s none\n' % (sgeli, SWAP))
     if self.disk_encript is True:
         pfile.writelines('encpass=%s\n' % self.password.get_text())
     else:
         pfile.writelines('#encpass=None\n')
     pfile.writelines('commitDiskLabel\n')
     pfile.close()
Example #7
0
 def save_selection(self):
     disk_size = int(ufs_dsk_list[0].partition('-')[2].rstrip()) - 2
     swap_size = int(self.swap_entry.get_text())
     root_size = disk_size - swap_size
     if self.disk_encript is True:
         dgeli = '.eli'
     else:
         dgeli = ''
     pfile = open(Part_label, 'w')
     pfile.writelines('disk0=%s\n' %
                      ufs_dsk_list[0].partition('-')[0].rstrip())
     if self.mirror is True:
         ufs_disk = ufs_dsk_list
         disk_len = len(ufs_disk) - 1
         num = 1
         mirror_dsk = ''
         while disk_len != 0:
             mirror_dsk += ufs_disk[num].partition('-')[0].rstrip() + " "
             print mirror_dsk
             num += 1
             disk_len -= 1
         pfile.writelines("mirror=%s\n" % mirror_dsk)
         pfile.writelines("mirrorlab=%s\n" % self.mirrorbl)
     else:
         pfile.writelines("#mirror=\n")
         pfile.writelines("#mirrorlab=\n")
     pfile.writelines('partition=ALL\n')
     pfile.writelines('partscheme=%s\n' % self.scheme)
     pfile.writelines('commitDiskPart\n\n')
     read = open(boot_file, 'r')
     line = read.readlines()
     boot = line[0].strip()
     if bios_or_uefi() == "UEFI":
         root_size = root_size - 100
     elif boot == 'GRUB':
         root_size = root_size - 1
     else:
         root_size = root_size - 1
     zfsPart = 'disk0-part=%s%s %s /\n' % (self.fs, dgeli, root_size)
     pfile.writelines(zfsPart)
     if swap_size != 0:
         pfile.writelines('disk0-part=SWAP%s %s none\n' %
                          (dgeli, swap_size))
     if self.disk_encript is True:
         pfile.writelines('encpass=%s\n' % self.password.get_text())
     else:
         pfile.writelines('#encpass=None\n')
     pfile.writelines('commitDiskLabel\n')
     pfile.close()
Example #8
0
 def save_selection(self):
     disk_size = int(zfs_dsk_list[0].partition('-')[2].rstrip()) - 2
     swap_size = int(self.swap_entry.get_text())
     root_size = disk_size - swap_size
     if self.disk_encript is True:
         dgeli = '.eli'
     else:
         dgeli = ''
     pfile = open(Part_label, 'w')
     pfile.writelines('disk0=%s\n' % zfs_dsk_list[0].partition('-')[0].rstrip())
     if self.mirror is True:
         ufs_disk = zfs_dsk_list
         disk_len = len(ufs_disk) - 1
         num = 1
         mirror_dsk = ''
         while disk_len != 0:
             mirror_dsk += ufs_disk[num].partition('-')[0].rstrip() + " "
             print mirror_dsk
             num += 1
             disk_len -= 1
         pfile.writelines("mirror=%s\n" % mirror_dsk)
         pfile.writelines("mirrorlab=%s\n" % self.mirrorbl)
     else:
         pfile.writelines("#mirror=\n")
         pfile.writelines("#mirrorlab=\n")
     pfile.writelines('partition=ALL\n')
     pfile.writelines('partscheme=%s\n' % self.scheme)
     pfile.writelines('commitDiskPart\n\n')
     read = open(boot_file, 'r')
     line = read.readlines()
     boot = line[0].strip()
     if bios_or_uefi() == "UEFI":
         root_size = root_size - 100
     elif boot == 'GRUB':
         root_size = root_size - 1
     else:
         root_size = root_size - 1
     zfsPart = 'disk0-part=%s%s %s /\n' % (self.fs, dgeli, root_size)
     pfile.writelines(zfsPart)
     if swap_size != 0:
         pfile.writelines('disk0-part=SWAP%s %s none\n' % (dgeli, swap_size))
     if self.disk_encript is True:
         pfile.writelines('encpass=%s\n' % self.password.get_text())
     else:
         pfile.writelines('#encpass=None\n')
     pfile.writelines('commitDiskLabel\n')
     pfile.close()
Example #9
0
 def save_selection(self):
     disk_size = int(ufs_dsk_list[0].partition('-')[2].rstrip()) - 512
     swap_size = int(self.swap_entry.get_text())
     root_size = disk_size - swap_size
     if self.disk_encript is True:
         dgeli = '.eli'
     else:
         dgeli = ''
     pfile = open(Part_label, 'w')
     pfile.writelines('disk0=%s\n' %
                      ufs_dsk_list[0].partition('-')[0].rstrip())
     if self.mirror is True:
         ufs_disk = ufs_dsk_list
         disk_len = len(ufs_disk) - 1
         num = 1
         mirror_dsk = ''
         while disk_len != 0:
             mirror_dsk += ufs_disk[num].partition('-')[0].rstrip() + " "
             print(mirror_dsk)
             num += 1
             disk_len -= 1
         pfile.writelines("mirror=%s\n" % mirror_dsk)
         pfile.writelines("mirrorlab=%s\n" % self.mirrorbl)
     else:
         pfile.writelines("#mirror=\n")
         pfile.writelines("#mirrorlab=\n")
     pfile.writelines('partition=ALL\n')
     pfile.writelines('partscheme=%s\n' % self.scheme)
     pfile.writelines('commitDiskPart\n\n')
     if bios_or_uefi() == "UEFI":
         root_size = root_size - 100
     else:
         root_size = root_size - 1
     # adding zero to use remaining space
     zfsPart = f'disk0-part={self.fs}{dgeli} {root_size} /\n'
     pfile.writelines(zfsPart)
     if swap_size != 0:
         pfile.writelines('disk0-part=SWAP 0 none\n')
     if self.disk_encript is True:
         pfile.writelines('encpass=%s\n' % self.password.get_text())
     else:
         pfile.writelines('#encpass=None\n')
     pfile.writelines('commitDiskLabel\n')
     pfile.close()
Example #10
0
 def labelEditor(self, path, pslice, size, scheme, modify):
     numb = int(size)
     self.window = Gtk.Window()
     self.window.set_title("Add Partition")
     self.window.set_border_width(0)
     self.window.set_size_request(480, 200)
     self.window.set_icon_from_file(logo)
     box1 = Gtk.VBox(False, 0)
     self.window.add(box1)
     box1.show()
     box2 = Gtk.VBox(False, 10)
     box2.set_border_width(10)
     box1.pack_start(box2, True, True, 0)
     box2.show()
     # create label
     # label0 = Gtk.Label("Create Partition Label")
     table = Gtk.Table(1, 2, True)
     label1 = Gtk.Label("Type:")
     label2 = Gtk.Label("Size(MB):")
     label3 = Gtk.Label("Mount point:")
     self.fstype = Gtk.ComboBoxText()
     self.fstype.append_text('UFS')
     self.fstype.append_text('UFS+S')
     self.fstype.append_text('UFS+J')
     self.fstype.append_text('UFS+SUJ')
     self.fstype.append_text('SWAP')
     if scheme == 'GPT':
         if bios_or_uefi() == "UEFI":
             self.fstype.append_text("UEFI")
             self.fs = "UEFI"
         else:
             self.fstype.append_text("BOOT")
             self.fs = "BOOT"
         if self.fs == "UEFI" and efi_exist(self.disk) is False:
             if not os.path.exists(Part_label):
                 self.fstype.set_active(5)
             elif len(self.prttn) == 0:
                 self.fstype.set_active(5)
         elif self.fs == "BOOT":
             if not os.path.exists(Part_label):
                 self.fstype.set_active(5)
             elif len(self.prttn) == 0:
                 self.fstype.set_active(5)
     elif self.lablebehind == "/":
         self.fstype.set_active(4)
         self.fs = "SWAP"
     else:
         self.fstype.set_active(3)
         self.fs = "UFS+SUJ"
     self.fstype.connect("changed", self.on_fs)
     adj = Gtk.Adjustment(numb, 0, numb, 1, 100, 0)
     self.entry = Gtk.SpinButton(adjustment=adj)
     if modify is True:
         self.entry.set_editable(False)
     else:
         self.entry.set_editable(True)
     self.mountpoint = Gtk.ComboBoxText()
     # self.mountpoint.append_text('select labels')
     self.label = "none"
     self.mountpoint.append_text('none')
     # The space for root '/ ' is to recognise / from the file.
     self.mountpoint.append_text('/')
     if os.path.exists(Part_label):
         if scheme == 'GPT' and len(self.prttn) == 1:
             self.mountpoint.append_text('/boot')
         elif scheme == 'MBR' and len(self.prttn) == 0:
             self.mountpoint.append_text('/boot')
     elif scheme == 'MBR' and not os.path.exists(Part_label):
         self.mountpoint.append_text('/boot')
     self.mountpoint.append_text('/etc')
     self.mountpoint.append_text('/root')
     self.mountpoint.append_text('/tmp')
     self.mountpoint.append_text('/usr')
     self.mountpoint.append_text('/usr/home')
     self.mountpoint.append_text('/var')
     self.mountpoint.set_active(0)
     self.mountpoint.connect("changed", self.on_label)
     # table.attach(label0, 0, 2, 0, 1)
     table.attach(label1, 0, 1, 1, 2)
     table.attach(self.fstype, 1, 2, 1, 2)
     table.attach(label2, 0, 1, 2, 3)
     table.attach(self.entry, 1, 2, 2, 3)
     table.attach(label3, 0, 1, 3, 4)
     table.attach(self.mountpoint, 1, 2, 3, 4)
     box2.pack_start(table, False, False, 0)
     box2 = Gtk.HBox(False, 10)
     box2.set_border_width(5)
     box1.pack_start(box2, False, True, 0)
     box2.show()
     # Add button
     bbox = Gtk.HButtonBox()
     bbox.set_border_width(5)
     bbox.set_spacing(10)
     button = Gtk.Button(stock=Gtk.STOCK_CANCEL)
     button.connect("clicked", self.cancel)
     bbox.add(button)
     button = Gtk.Button(stock=Gtk.STOCK_ADD)
     if modify is False:
         if scheme == 'MBR':
             button.connect("clicked", self.on_add_label, self.entry,
                            numb, path, True)
         elif scheme == 'GPT' and self.fs == 'BOOT':
             button.connect("clicked", self.on_add_partition, self.entry,
                            numb, path, True)
         elif scheme == 'GPT' and self.fs == 'UEFI' and efi_exist(self.disk) is False:
             button.connect("clicked", self.on_add_partition, self.entry,
                            numb, path, True)
         else:
             button.connect("clicked", self.on_add_partition, self.entry,
                            numb, path, False)
     else:
         if scheme == 'MBR':
             button.connect("clicked", self.on_add_label, self.entry, numb,
                            path, False)
         elif scheme == 'GPT':
             button.connect("clicked", self.on_add_partition, self.entry,
                            numb, path, False)
     bbox.add(button)
     box2.pack_end(bbox, True, True, 5)
     self.window.show_all()
Example #11
0
 def labelEditor(self, path, pslice, size, data1, data2):
     numb = int(size)
     self.window = Gtk.Window()
     self.window.set_title("Add Partition")
     self.window.set_border_width(0)
     self.window.set_size_request(480, 200)
     self.window.set_icon_from_file(logo)
     box1 = Gtk.VBox(False, 0)
     self.window.add(box1)
     box1.show()
     box2 = Gtk.VBox(False, 10)
     box2.set_border_width(10)
     box1.pack_start(box2, True, True, 0)
     box2.show()
     # create label
     # label0 = Gtk.Label("Create Partition Label")
     table = Gtk.Table(1, 2, True)
     label1 = Gtk.Label("Type:")
     label2 = Gtk.Label("Size(MB):")
     label3 = Gtk.Label("Mount point:")
     self.fstype = Gtk.ComboBoxText()
     self.fstype.append_text("UFS")
     self.fstype.append_text("UFS+S")
     self.fstype.append_text("UFS+J")
     self.fstype.append_text("UFS+SUJ")
     self.fstype.append_text("SWAP")
     if data1 == 1:
         read = open(boot_file, "r")
         line = read.readlines()
         boot = line[0].strip()
         if bios_or_uefi() == "UEFI":
             self.fstype.append_text("UEFI")
             self.fs = "UEFI"
         elif boot == "grub":
             self.fstype.append_text("BIOS")
             self.fs = "BIOS"
         else:
             self.fstype.append_text("BOOT")
             self.fs = "BOOT"
     if data1 == 1 and not os.path.exists(Part_label):
         self.fstype.set_active(5)
     elif data1 == 1 and len(self.partfile) == 0:
         self.fstype.set_active(5)
     elif self.lablebehind == "/":
         self.fstype.set_active(4)
         self.fs = "SWAP"
     else:
         self.fstype.set_active(3)
         self.fs = "UFS+SUJ"
     self.fstype.connect("changed", self.on_fs)
     adj = Gtk.Adjustment(numb, 0, numb, 1, 100, 0)
     self.entry = Gtk.SpinButton(adjustment=adj)
     if data2 == 0:
         self.entry.set_editable(False)
     else:
         self.entry.set_editable(True)
     self.mountpoint = Gtk.ComboBoxText()
     # self.mountpoint.append_text('select labels')
     self.label = "none"
     self.mountpoint.append_text("none")
     # The space for root '/ ' is to recognise / from the file.
     self.mountpoint.append_text("/")
     if os.path.exists(Part_label):
         if data1 == 1 and len(self.partfile) == 1:
             self.mountpoint.append_text("/boot")
         elif data1 == 0 and len(self.partfile) == 0:
             self.mountpoint.append_text("/boot")
     elif data1 == 0 and not os.path.exists(Part_label):
         self.mountpoint.append_text("/boot")
     self.mountpoint.append_text("/etc")
     self.mountpoint.append_text("/root")
     self.mountpoint.append_text("/tmp")
     self.mountpoint.append_text("/usr")
     self.mountpoint.append_text("/usr/home")
     self.mountpoint.append_text("/var")
     self.mountpoint.set_active(0)
     self.mountpoint.connect("changed", self.on_label)
     # table.attach(label0, 0, 2, 0, 1)
     table.attach(label1, 0, 1, 1, 2)
     table.attach(self.fstype, 1, 2, 1, 2)
     table.attach(label2, 0, 1, 2, 3)
     table.attach(self.entry, 1, 2, 2, 3)
     table.attach(label3, 0, 1, 3, 4)
     table.attach(self.mountpoint, 1, 2, 3, 4)
     box2.pack_start(table, False, False, 0)
     box2 = Gtk.HBox(False, 10)
     box2.set_border_width(5)
     box1.pack_start(box2, False, True, 0)
     box2.show()
     # Add button
     bbox = Gtk.HButtonBox()
     bbox.set_border_width(5)
     bbox.set_spacing(10)
     button = Gtk.Button(stock=Gtk.STOCK_CANCEL)
     button.connect("clicked", self.cancel)
     bbox.add(button)
     button = Gtk.Button(stock=Gtk.STOCK_ADD)
     if data2 == 1:
         if data1 == 0:
             button.connect("clicked", self.on_add_label, self.entry, numb, path, True)
         elif data1 == 1:
             button.connect("clicked", self.on_add_partition, self.entry, numb, path, True)
     else:
         if data1 == 0:
             button.connect("clicked", self.on_add_label, self.entry, numb, path, False)
         elif data1 == 1:
             button.connect("clicked", self.on_add_partition, self.entry, numb, path, False)
     bbox.add(button)
     box2.pack_end(bbox, True, True, 5)
     self.window.show_all()
Example #12
0
    def __init__(self, button3):
        self.button3 = button3
        self.box1 = Gtk.VBox(False, 0)
        self.box1.show()
        box2 = Gtk.HBox(False, 0)
        self.box1.pack_start(box2, True, True, 0)
        box2.show()
        # Title
        Title = Gtk.Label("<b><span size='xx-large'>ZFS Configuration</span></b>")
        Title.set_use_markup(True)
        # Chose disk
        sw = Gtk.ScrolledWindow(hexpand=True, vexpand=True)
        sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN)
        sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
        self.store = Gtk.TreeStore(str, str, str, 'gboolean')
        for disk in zfs_disk_query():
            dsk = disk.partition(':')[0].rstrip()
            dsk_name = disk.partition(':')[2].rstrip()
            dsk_size = zfs_disk_size_query(dsk).rstrip()
            self.store.append(None, [dsk, dsk_size, dsk_name, False])
        treeView = Gtk.TreeView(self.store)
        treeView.set_model(self.store)
        treeView.set_rules_hint(True)
        self.check_cell = Gtk.CellRendererToggle()
        self.check_cell.set_property('activatable', True)
        self.check_cell.connect('toggled', self.col1_toggled_cb, self.store)
        cell = Gtk.CellRendererText()
        column = Gtk.TreeViewColumn(None, cell, text=0)
        column_header = Gtk.Label('Disk')
        column_header.set_use_markup(True)
        column_header.show()
        column.set_widget(column_header)
        column.set_sort_column_id(0)
        cell2 = Gtk.CellRendererText()
        column2 = Gtk.TreeViewColumn(None, cell2, text=0)
        column_header2 = Gtk.Label('Size(MB)')
        column_header2.set_use_markup(True)
        column_header2.show()
        column2.set_widget(column_header2)
        cell3 = Gtk.CellRendererText()
        column3 = Gtk.TreeViewColumn(None, cell3, text=0)
        column_header3 = Gtk.Label('Name')
        column_header3.set_use_markup(True)
        column_header3.show()
        column3.set_widget(column_header3)
        column1 = Gtk.TreeViewColumn("Check", self.check_cell)
        column1.add_attribute(self.check_cell, "active", 3)
        column.set_attributes(cell, text=0)
        column2.set_attributes(cell2, text=1)
        column3.set_attributes(cell3, text=2)
        treeView.append_column(column1)
        treeView.append_column(column)
        treeView.append_column(column2)
        treeView.append_column(column3)
        tree_selection = treeView.get_selection()
        tree_selection.set_mode(Gtk.SelectionMode.SINGLE)
        sw.add(treeView)
        sw.show()
        self.mirrorTips = Gtk.Label('Please select one drive')
        self.mirrorTips.set_justify(Gtk.Justification.LEFT)
        self.mirrorTips.set_alignment(0.01, 0.5)
        # Mirro, raidz and stripe
        self.mirror = 'none'
        mirror_label = Gtk.Label('<b>Pool Type</b>')
        mirror_label.set_use_markup(True)
        mirror_box = Gtk.ComboBoxText()
        mirror_box.append_text("single disk")
        mirror_box.append_text("2 disk mirror")
        mirror_box.append_text("3 disk raidz1")
        mirror_box.append_text("4 disk raidz2")
        mirror_box.append_text("5 disk raidz3")
        mirror_box.append_text("2+ disk stripe")
        mirror_box.connect('changed', self.mirror_selection)
        mirror_box.set_active(0)

        # Pool Name
        self.zpool = False
        pool_check = Gtk.CheckButton('Pool Name')
        pool_check.connect("toggled", self.on_check_poll)
        self.pool = Gtk.Entry()
        self.pool.set_text('tank')
        self.pool.set_sensitive(False)
        # Creating MBR or GPT drive
        scheme_label = Gtk.Label('<b>Partition Scheme</b>')
        scheme_label.set_use_markup(True)
        # Adding a combo box to selecting MBR or GPT sheme.
        self.scheme = 'GPT'
        shemebox = Gtk.ComboBoxText()
        shemebox.append_text("GPT")
        shemebox.append_text("MBR")
        shemebox.connect('changed', self.sheme_selection)
        shemebox.set_active(0)
        if bios_or_uefi() == "UEFI":
            shemebox.set_sensitive(False)
        else:
            shemebox.set_sensitive(True)
        # Force 4k Sectors
        self.zfs_four_k = "True"
        zfs4kcheck = Gtk.CheckButton("Force ZFS 4k block size")
        zfs4kcheck.connect("toggled", self.on_check)
        zfs4kcheck.set_active(True)
        # Swap Size
        ram = Popen(memory, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT,
                    universal_newlines=True, close_fds=True)
        mem = ram.stdout.read()
        swap = 512
        swp_size_label = Gtk.Label('<b>Swap Size(MB)</b>')
        swp_size_label.set_use_markup(True)
        self.swap_entry = Gtk.Entry()
        self.swap_entry.set_text(str(swap))
        self.swap_entry.connect('changed', self.digit_only)
        # Swap encription
        self.swap_encrypt = False
        self.swap_encrypt_check = Gtk.CheckButton("Encrypt Swap")
        self.swap_encrypt_check.connect("toggled", self.on_check_swap_encrypt)
        # Swap mirror
        self.swap_mirror = False
        swap_mirror_check = Gtk.CheckButton("Mirror Swap")
        swap_mirror_check.connect("toggled", self.on_check_swap_mirror)
        # GELI Disk encription
        self.disk_encript = False
        encrypt_check = Gtk.CheckButton("Encrypt Disk")
        encrypt_check.connect("toggled", self.on_check_encrypt)
        encrypt_check.set_sensitive(True)
        # password
        self.passwd_label = Gtk.Label("Password")
        self.password = Gtk.Entry()
        self.password.set_sensitive(False)
        self.password.set_visibility(False)
        self.password.connect("changed", self.passwdstrength)
        self.strenght_label = Gtk.Label()
        self.strenght_label.set_alignment(0.1, 0.5)
        self.vpasswd_label = Gtk.Label("Verify it")
        self.repassword = Gtk.Entry()
        self.repassword.set_sensitive(False)
        self.repassword.set_visibility(False)
        self.repassword.connect("changed", self.passwdVerification)
        # set image for password matching
        self.img = Gtk.Image()
        self.img.set_alignment(0.2, 0.5)
        # table = Gtk.Table(12, 12, True)
        grid = Gtk.Grid()
        grid.set_row_spacing(10)
        # grid.set_column_homogeneous(True)
        # grid.set_row_homogeneous(True)
        grid.attach(Title, 1, 1, 10, 1)
        grid.attach(mirror_label, 1, 2, 1, 1)
        grid.attach(mirror_box, 2, 2, 1, 1)
        grid.attach(pool_check, 7, 2, 2, 1)
        grid.attach(self.pool, 9, 2, 2, 1)
        grid.attach(self.mirrorTips, 1, 3, 8, 1)
        grid.attach(zfs4kcheck, 9, 3, 2, 1)
        grid.attach(sw, 1, 4, 10, 3)
        grid.attach(scheme_label, 1, 9, 1, 1)
        grid.attach(shemebox, 2, 9, 1, 1)
        grid.attach(swp_size_label, 9, 9, 1, 1)
        grid.attach(self.swap_entry, 10, 9, 1, 1)
        # grid.attach(self.swap_encrypt_check, 9, 15, 11, 12)
        # grid.attach(swap_mirror_check, 9, 15, 11, 12)
        # grid.attach(encrypt_check, 2, 8, 2, 1)
        # grid.attach(self.passwd_label, 1, 9, 1, 1)
        # grid.attach(self.password, 2, 9, 2, 1)
        # grid.attach(self.strenght_label, 4, 9, 2, 1)
        # grid.attach(self.vpasswd_label, 1, 10, 1, 1)
        # grid.attach(self.repassword, 2, 10, 2, 1)
        # grid.attach(self.img, 4, 10, 2, 1)
        box2.pack_start(grid, True, True, 10)
        return
Example #13
0
 def __init__(self):
     self.box1 = Gtk.VBox(False, 0)
     self.box1.show()
     box2 = Gtk.VBox(False, 10)
     # box2.set_border_width(10)
     self.box1.pack_start(box2, False, False, 0)
     box2.show()
     if bios_or_uefi() == "UEFI":
         loader = "UEFI"
     else:
         loader = "BIOS"
     if os.path.exists(zfs_config):
         # Disk Setup
         read = open(zfs_config, 'r')
         schem = read.read()
         # os.remove(zfs_config)
     elif os.path.exists(ufs_config):
         # Disk Setup
         read = open(ufs_config, 'r')
         schem = read.readlines()
     else:
         # Sheme sheme
         read = open(disk_schem, 'r')
         schem = read.read()
     if 'GPT' in schem:
         scheme = 'GPT'
     else:
         scheme = 'MBR'
     label = Gtk.Label('<b><span size="x-large">Boot Option</span></b>')
     label.set_use_markup(True)
     box2.pack_start(label, False, False, 10)
     hbox = Gtk.HBox()
     hbox.show()
     box2.pack_start(hbox, True, True, 0)
     bbox1 = Gtk.VBox()
     bbox1.show()
     self.refind = Gtk.RadioButton.new_with_label_from_widget(
         None, "Setup rEFInd boot manager")
     bbox1.pack_start(self.refind, False, True, 10)
     self.refind.connect("toggled", self.boot_manager, "refind")
     self.refind.show()
     if scheme == 'GPT' and loader == "UEFI":
         self.refind.set_sensitive(True)
     else:
         self.refind.set_sensitive(False)
     self.bsd = Gtk.RadioButton.new_with_label_from_widget(
         self.refind, "Setup FreeBSD boot manager")
     bbox1.pack_start(self.bsd, False, True, 10)
     self.bsd.connect("toggled", self.boot_manager, "bsd")
     self.bsd.show()
     if scheme == 'MBR':
         self.bsd.set_sensitive(True)
     else:
         self.bsd.set_sensitive(False)
     self.none = Gtk.RadioButton.new_with_label_from_widget(
         self.bsd, f"FreeBSD {loader} loader only")
     bbox1.pack_start(self.none, False, True, 10)
     self.none.connect("toggled", self.boot_manager, "none")
     self.none.show()
     hbox.pack_start(bbox1, False, False, 50)
     self.none.set_active(True)
     self.boot = "none"
     boot = open(boot_file, 'w')
     boot.writelines(self.boot)
     boot.close()
     self.box3 = Gtk.VBox(False, 0)
     self.box3.set_border_width(0)
     self.box1.pack_start(self.box3, True, True, 0)
     return
Example #14
0
    def __init__(self, button3):
        self.button3 = button3
        self.box1 = Gtk.VBox(False, 0)
        self.box1.show()
        box2 = Gtk.HBox(False, 0)
        self.box1.pack_start(box2, True, True, 0)
        box2.show()
        # Title
        Title = Gtk.Label("<b><span size='xx-large'>ZFS Configuration</span></b>")
        Title.set_use_markup(True)
        # Chose disk
        sw = Gtk.ScrolledWindow(hexpand=True, vexpand=True)
        sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN)
        sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
        self.store = Gtk.TreeStore(str, str, str, 'gboolean')
        for disk in zfs_disk_query():
            dsk = disk.partition(':')[0].rstrip()
            dsk_name = disk.partition(':')[2].rstrip()
            dsk_size = zfs_disk_size_query(dsk).rstrip()
            self.store.append(None, [dsk, dsk_size, dsk_name, False])
        treeView = Gtk.TreeView(self.store)
        treeView.set_model(self.store)
        treeView.set_rules_hint(True)
        self.check_cell = Gtk.CellRendererToggle()
        self.check_cell.set_property('activatable', True)
        self.check_cell.connect('toggled', self.col1_toggled_cb, self.store)
        cell = Gtk.CellRendererText()
        column = Gtk.TreeViewColumn(None, cell, text=0)
        column_header = Gtk.Label('Disk')
        column_header.set_use_markup(True)
        column_header.show()
        column.set_widget(column_header)
        column.set_sort_column_id(0)
        cell2 = Gtk.CellRendererText()
        column2 = Gtk.TreeViewColumn(None, cell2, text=0)
        column_header2 = Gtk.Label('Size(MB)')
        column_header2.set_use_markup(True)
        column_header2.show()
        column2.set_widget(column_header2)
        cell3 = Gtk.CellRendererText()
        column3 = Gtk.TreeViewColumn(None, cell3, text=0)
        column_header3 = Gtk.Label('Name')
        column_header3.set_use_markup(True)
        column_header3.show()
        column3.set_widget(column_header3)
        column1 = Gtk.TreeViewColumn("Check", self.check_cell)
        column1.add_attribute(self.check_cell, "active", 3)
        column.set_attributes(cell, text=0)
        column2.set_attributes(cell2, text=1)
        column3.set_attributes(cell3, text=2)
        treeView.append_column(column1)
        treeView.append_column(column)
        treeView.append_column(column2)
        treeView.append_column(column3)
        tree_selection = treeView.get_selection()
        tree_selection.set_mode(Gtk.SelectionMode.SINGLE)
        sw.add(treeView)
        sw.show()
        self.mirrorTips = Gtk.Label('Please select one drive')
        self.mirrorTips.set_justify(Gtk.Justification.LEFT)
        self.mirrorTips.set_alignment(0.01, 0.5)
        # Mirro, raidz and stripe
        self.mirror = 'none'
        mirror_label = Gtk.Label('<b>Pool Type</b>')
        mirror_label.set_use_markup(True)
        mirror_box = Gtk.ComboBoxText()
        mirror_box.append_text("single disk")
        mirror_box.append_text("2 disk mirror")
        mirror_box.append_text("3 disk raidz1")
        mirror_box.append_text("4 disk raidz2")
        mirror_box.append_text("5 disk raidz3")
        mirror_box.append_text("2+ disk stripe")
        mirror_box.connect('changed', self.mirror_selection)
        mirror_box.set_active(0)

        # Pool Name
        self.zpool = False
        pool_check = Gtk.CheckButton('Pool Name')
        pool_check.connect("toggled", self.on_check_poll)
        self.pool = Gtk.Entry()
        self.pool.set_text('tank')
        self.pool.set_sensitive(False)
        # Creating MBR or GPT drive
        scheme_label = Gtk.Label('<b>Partition Scheme</b>')
        scheme_label.set_use_markup(True)
        # Adding a combo box to selecting MBR or GPT sheme.
        self.scheme = 'GPT'
        shemebox = Gtk.ComboBoxText()
        shemebox.append_text("GPT")
        shemebox.append_text("MBR")
        shemebox.connect('changed', self.sheme_selection)
        shemebox.set_active(0)
        if bios_or_uefi() == "UEFI":
            shemebox.set_sensitive(False)
        else:
            shemebox.set_sensitive(True)
        # Force 4k Sectors
        self.zfs_four_k = "True"
        zfs4kcheck = Gtk.CheckButton("Force ZFS 4k block size")
        zfs4kcheck.connect("toggled", self.on_check)
        zfs4kcheck.set_active(True)
        # Swap Size
        # ram = Popen(memory, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT,
        #             universal_newlines=True, close_fds=True)
        # mem = ram.stdout.read()
        swap = 2048
        swp_size_label = Gtk.Label('<b>Swap Size(MB)</b>')
        swp_size_label.set_use_markup(True)
        self.swap_entry = Gtk.Entry()
        self.swap_entry.set_text(str(swap))
        self.swap_entry.connect('changed', self.digit_only)
        # Swap encription
        self.swap_encrypt = False
        self.swap_encrypt_check = Gtk.CheckButton("Encrypt Swap")
        self.swap_encrypt_check.connect("toggled", self.on_check_swap_encrypt)
        # Swap mirror
        self.swap_mirror = False
        swap_mirror_check = Gtk.CheckButton("Mirror Swap")
        swap_mirror_check.connect("toggled", self.on_check_swap_mirror)
        # GELI Disk encription
        self.disk_encript = False
        encrypt_check = Gtk.CheckButton("Encrypt Disk")
        encrypt_check.connect("toggled", self.on_check_encrypt)
        encrypt_check.set_sensitive(True)
        # password
        self.passwd_label = Gtk.Label("Password")
        self.password = Gtk.Entry()
        self.password.set_sensitive(False)
        self.password.set_visibility(False)
        self.password.connect("changed", self.passwdstrength)
        self.strenght_label = Gtk.Label()
        self.strenght_label.set_alignment(0.1, 0.5)
        self.vpasswd_label = Gtk.Label("Verify it")
        self.repassword = Gtk.Entry()
        self.repassword.set_sensitive(False)
        self.repassword.set_visibility(False)
        self.repassword.connect("changed", self.passwdVerification)
        # set image for password matching
        self.img = Gtk.Image()
        self.img.set_alignment(0.2, 0.5)
        # table = Gtk.Table(12, 12, True)
        grid = Gtk.Grid()
        grid.set_row_spacing(10)
        # grid.set_column_homogeneous(True)
        # grid.set_row_homogeneous(True)
        grid.attach(Title, 1, 1, 10, 1)
        grid.attach(mirror_label, 1, 2, 1, 1)
        grid.attach(mirror_box, 2, 2, 1, 1)
        grid.attach(pool_check, 7, 2, 2, 1)
        grid.attach(self.pool, 9, 2, 2, 1)
        grid.attach(self.mirrorTips, 1, 3, 8, 1)
        grid.attach(zfs4kcheck, 9, 3, 2, 1)
        grid.attach(sw, 1, 4, 10, 3)
        grid.attach(scheme_label, 1, 9, 1, 1)
        grid.attach(shemebox, 2, 9, 1, 1)
        grid.attach(swp_size_label, 9, 9, 1, 1)
        grid.attach(self.swap_entry, 10, 9, 1, 1)
        # grid.attach(self.swap_encrypt_check, 9, 15, 11, 12)
        # grid.attach(swap_mirror_check, 9, 15, 11, 12)
        # grid.attach(encrypt_check, 2, 8, 2, 1)
        # grid.attach(self.passwd_label, 1, 9, 1, 1)
        # grid.attach(self.password, 2, 9, 2, 1)
        # grid.attach(self.strenght_label, 4, 9, 2, 1)
        # grid.attach(self.vpasswd_label, 1, 10, 1, 1)
        # grid.attach(self.repassword, 2, 10, 2, 1)
        # grid.attach(self.img, 4, 10, 2, 1)
        box2.pack_start(grid, True, True, 10)
        return
Example #15
0
detect_sheme = '%sdetect-sheme.sh' % query

part = '%sdisk-part.sh' % query
memory = 'sysctl hw.physmem'
disk_list = '%sdisk-list.sh' % query
disk_info = '%sdisk-info.sh' % query
disk_label = '%sdisk-label.sh' % query
disk_schem = '%sscheme' % tmp
disk_file = '%sdisk' % tmp
psize = '%spart_size' % tmp
logo = "/usr/local/lib/gbi/logo.png"
Part_label = '%spartlabel' % tmp
part_schem = '%sscheme' % tmp
partition_db = "%spartition_db/" % tmp
ufs_Partiton_list = []
bios_type = bios_or_uefi()


class Partitions():
    def on_fs(self, widget):
        self.fs = widget.get_active_text()
        if 'UFS' in self.fs:
            self.mountpoint.set_sensitive(True)
        else:
            self.mountpoint.set_sensitive(False)

    def on_label(self, widget):
        self.label = widget.get_active_text()

    def save_selection(self):
        pass
Example #16
0
 def __init__(self):
     self.box1 = Gtk.VBox(False, 0)
     self.box1.show()
     box2 = Gtk.VBox(False, 10)
     # box2.set_border_width(10)
     self.box1.pack_start(box2, False, False, 0)
     box2.show()
     if bios_or_uefi() == "UEFI":
         loader = "UEFI"
     else:
         loader = "BIOS"
     if os.path.exists(zfs_config):
         # Disk Setup
         read = open(zfs_config, 'r')
         schem = read.read()
         # os.remove(zfs_config)
     elif os.path.exists(ufs_config):
         # Disk Setup
         read = open(ufs_config, 'r')
         schem = read.readlines()
     else:
         # Sheme sheme
         read = open(disk_schem, 'r')
         schem = read.read()
     if 'GPT' in schem:
         scheme = 'GPT'
     else:
         scheme = 'MBR'
     label = Gtk.Label('<b><span size="x-large">Boot Option</span></b>')
     label.set_use_markup(True)
     box2.pack_start(label, False, False, 10)
     hbox = Gtk.HBox()
     hbox.show()
     box2.pack_start(hbox, True, True, 0)
     bbox1 = Gtk.VBox()
     bbox1.show()
     self.refind = Gtk.RadioButton.new_with_label_from_widget(None, "Setup rEFInd boot manager")
     bbox1.pack_start(self.refind, False, True, 10)
     self.refind.connect("toggled", self.boot_manager, "refind")
     self.refind.show()
     if scheme == 'GPT' and loader == "UEFI":
         self.refind.set_sensitive(True)
     else:
         self.refind.set_sensitive(False)
     self.bsd = Gtk.RadioButton.new_with_label_from_widget(self.refind, "Setup FreeBSD boot manager")
     bbox1.pack_start(self.bsd, False, True, 10)
     self.bsd.connect("toggled", self.boot_manager, "bsd")
     self.bsd.show()
     if scheme == 'MBR':
         self.bsd.set_sensitive(True)
     else:
         self.bsd.set_sensitive(False)
     self.none = Gtk.RadioButton.new_with_label_from_widget(self.bsd, f"FreeBSD {loader} loader only")
     bbox1.pack_start(self.none, False, True, 10)
     self.none.connect("toggled", self.boot_manager, "none")
     self.none.show()
     hbox.pack_start(bbox1, False, False, 50)
     self.none.set_active(True)
     self.boot = "none"
     boot = open(boot_file, 'w')
     boot.writelines(self.boot)
     boot.close()
     self.box3 = Gtk.VBox(False, 0)
     self.box3.set_border_width(0)
     self.box1.pack_start(self.box3, True, True, 0)
     return
Example #17
0
 def __init__(self, button3):
     self.button3 = button3
     self.box1 = Gtk.VBox(False, 0)
     self.box1.show()
     box2 = Gtk.HBox(False, 0)
     self.box1.pack_start(box2, True, True, 0)
     box2.show()
     # Title
     Title = Gtk.Label(
         "<b><span size='xx-large'>UFS Full Disk Configuration</span></b>")
     Title.set_use_markup(True)
     # Chose disk
     sw = Gtk.ScrolledWindow(hexpand=True, vexpand=True)
     sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN)
     sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
     store = Gtk.TreeStore(str, str, str, 'gboolean')
     for disk in zfs_disk_query():
         dsk = disk.partition(':')[0].rstrip()
         dsk_name = disk.partition(':')[2].rstrip()
         dsk_size = zfs_disk_size_query(dsk).rstrip()
         store.append(None, [dsk, dsk_size, dsk_name, False])
     treeView = Gtk.TreeView(store)
     treeView.set_model(store)
     treeView.set_rules_hint(True)
     self.check_cell = Gtk.CellRendererToggle()
     self.check_cell.set_property('activatable', True)
     self.check_cell.connect('toggled', self.col1_toggled_cb, store)
     cell = Gtk.CellRendererText()
     column = Gtk.TreeViewColumn(None, cell, text=0)
     column_header = Gtk.Label('Disk')
     column_header.set_use_markup(True)
     column_header.show()
     column.set_widget(column_header)
     column.set_sort_column_id(0)
     cell2 = Gtk.CellRendererText()
     column2 = Gtk.TreeViewColumn(None, cell2, text=0)
     column_header2 = Gtk.Label('Size(MB)')
     column_header2.set_use_markup(True)
     column_header2.show()
     column2.set_widget(column_header2)
     cell3 = Gtk.CellRendererText()
     column3 = Gtk.TreeViewColumn(None, cell3, text=0)
     column_header3 = Gtk.Label('Name')
     column_header3.set_use_markup(True)
     column_header3.show()
     column3.set_widget(column_header3)
     column1 = Gtk.TreeViewColumn("Check", self.check_cell)
     column1.add_attribute(self.check_cell, "active", 3)
     column.set_attributes(cell, text=0)
     column2.set_attributes(cell2, text=1)
     column3.set_attributes(cell3, text=2)
     treeView.append_column(column1)
     treeView.append_column(column)
     treeView.append_column(column2)
     treeView.append_column(column3)
     tree_selection = treeView.get_selection()
     tree_selection.set_mode(Gtk.SelectionMode.SINGLE)
     sw.add(treeView)
     sw.show()
     self.mirrorTips = Gtk.Label('Please select one drive')
     self.mirrorTips.set_justify(Gtk.Justification.LEFT)
     self.mirrorTips.set_alignment(0.01, 0.5)
     self.mirror = False
     mirror_check = Gtk.CheckButton('Disk Mirror')
     mirror_check.connect("toggled", self.on_check_mirror)
     self.mirrorbl_box = Gtk.ComboBoxText()
     self.mirrorbl_box.append_text("load")
     self.mirrorbl_box.append_text("prefer")
     self.mirrorbl_box.append_text("round-robin")
     self.mirrorbl_box.append_text("split")
     self.mirrorbl_box.connect('changed', self.mirror_selection)
     self.mirrorbl_box.set_active(0)
     self.mirrorbl_box.set_sensitive(False)
     self.mirrorbl = 'load'
     # Creating MBR or GPT drive
     label = Gtk.Label('<b>Partition Scheme</b>')
     label.set_use_markup(True)
     # Adding a combo box to selecting MBR or GPT sheme.
     self.scheme = 'GPT'
     shemebox = Gtk.ComboBoxText()
     shemebox.append_text("GPT")
     shemebox.append_text("MBR")
     shemebox.connect('changed', self.sheme_selection)
     shemebox.set_active(0)
     if bios_or_uefi() == "UEFI":
         shemebox.set_sensitive(False)
     else:
         shemebox.set_sensitive(True)
     # Swap Size
     ram = Popen(memory,
                 shell=True,
                 stdin=PIPE,
                 stdout=PIPE,
                 stderr=STDOUT,
                 universal_newlines=True,
                 close_fds=True)
     mem = ram.stdout.read()
     swap = 2048
     swp_size_label = Gtk.Label('<b>Swap Size(MB)</b>')
     swp_size_label.set_use_markup(True)
     self.swap_entry = Gtk.Entry()
     self.swap_entry.set_text(str(swap))
     self.swap_entry.connect('changed', self.digit_only)
     # Swap encription
     self.swap_encrypt = False
     self.swap_encrypt_check = Gtk.CheckButton("Encrypt Swap")
     self.swap_encrypt_check.connect("toggled", self.on_check_swap_encrypt)
     # Swap mirror
     self.swap_mirror = False
     swap_mirror_check = Gtk.CheckButton("Mirror Swap")
     swap_mirror_check.connect("toggled", self.on_check_swap_mirror)
     # GELI Disk encription
     self.disk_encript = False
     encrypt_check = Gtk.CheckButton("Encrypt Disk")
     encrypt_check.connect("toggled", self.on_check_encrypt)
     encrypt_check.set_sensitive(True)
     # password
     self.passwd_label = Gtk.Label("Password")
     self.password = Gtk.Entry()
     self.password.set_sensitive(False)
     self.password.set_visibility(False)
     self.password.connect("changed", self.passwdstrength)
     self.strenght_label = Gtk.Label()
     self.strenght_label.set_alignment(0.1, 0.5)
     self.vpasswd_label = Gtk.Label("Verify it")
     self.repassword = Gtk.Entry()
     self.repassword.set_sensitive(False)
     self.repassword.set_visibility(False)
     self.repassword.connect("changed", self.passwdVerification)
     # set image for password matching
     fslabel = Gtk.Label("File System:")
     self.fstype = Gtk.ComboBoxText()
     self.fstype.append_text('UFS')
     self.fstype.append_text('UFS+S')
     self.fstype.append_text('UFS+J')
     self.fstype.append_text('UFS+SUJ')
     self.fstype.set_active(3)
     self.fstype.connect("changed", self.chosefs)
     self.fs = "UFS+SUJ"
     grid = Gtk.Grid()
     grid.set_row_spacing(10)
     # grid.set_column_homogeneous(True)
     # grid.set_row_homogeneous(True)
     grid.attach(Title, 0, 0, 9, 2)
     grid.attach(mirror_check, 0, 2, 1, 1)
     grid.attach(self.mirrorbl_box, 1, 2, 1, 1)
     grid.attach(label, 0, 9, 2, 1)
     grid.attach(shemebox, 2, 9, 1, 1)
     grid.attach(self.mirrorTips, 1, 3, 8, 1)
     grid.attach(sw, 0, 4, 9, 4)
     grid.attach(fslabel, 5, 9, 2, 1)
     grid.attach(self.fstype, 7, 9, 1, 1)
     grid.attach(swp_size_label, 5, 2, 2, 1)
     grid.attach(self.swap_entry, 7, 2, 1, 1)
     # grid.attach(self.swap_encrypt_check, 9, 15, 11, 12)
     # grid.attach(swap_mirror_check, 9, 15, 11, 12)
     # grid.attach(encrypt_check, 1, 9, 2, 1)
     # grid.attach(self.passwd_label, 1, 10, 1, 1)
     # grid.attach(self.password, 2, 10, 2, 1)
     # grid.attach(self.strenght_label, 4, 10, 2, 1)
     # grid.attach(self.vpasswd_label, 1, 11, 1, 1)
     # grid.attach(self.repassword, 2, 11, 2, 1)
     # grid.attach(self.img, 4, 11, 2, 1)
     box2.pack_start(grid, True, True, 10)
     return