getch 0.1.3 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c141cfefd0484364edafbbf424bc6e3d1fe98d26d5a2fa96411ae88efaae501a
4
- data.tar.gz: 117fb8c04c3525ac5c5be3da0683eac0b68de537f674955fe6d363091233ab0b
3
+ metadata.gz: cb3fc628a7308969d14505c6f56623c11c5adda014841e162b264f189b5ad54c
4
+ data.tar.gz: ea50a6890b8c0c718ec38876809144fab98442daeddad2db85bc591a77996948
5
5
  SHA512:
6
- metadata.gz: fbf00fb976d8e4a1ea8a4e3abf64de42f9804b4b33b125548021f733d27e2458d6c6ec2e9712f3f92806b66253550c600c217f3ece4bf3310f5b39c5cb58aebf
7
- data.tar.gz: ed7af46af82c816f17296ba01301aece81d6655d4fc31c166fce5a013be8c20e5b89b8965c3d855913628c3566a47bd8b2ed123263c7dedaef5b3e3fdd0a6b4e
6
+ metadata.gz: 2395983c7fc521cc7867cdd54550177a2ed3f5eccdcd070f36eec256e73d06b8bfe961dc3f922fa9c5afac30d28e898625b32655ee89d45bc8e1da79dbf54d15
7
+ data.tar.gz: 1e8eeda1ff45f0d633820ced177fb6ae97645d5aa2e7f02e69279f0b9e611035269c23707f6677820886c92122a27e92d3906401a873fc60a1e1e9064c8de3bf
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 0.1.4, release 2021-06-20
2
+ * Install `iptables` by default.
3
+ * Control input for options `--disk`, `--format`, `--zoneinfo`, `--keymap`.
4
+ * Add a `/etc/portage/bashrc` to automatically signing kernel modules with `emerge`.
5
+ * Now clean properly another disk used with option `--separate-x DISK`.
6
+ * For ZFS, use `blockdev --getpbsz` to find correct bloc (sector) size.
7
+ * Populate `/etc/modules-load.d/` with modules found with `lsmod` (only few wifi's, flash usb related (ehci, ohci, xhci, etc)).
8
+ * Remove the package `dev-util/dwarves`.
9
+
1
10
  ## 0.1.3, release 2021-05-17
2
11
  * LVM use the format /dev/vg_name/lv_name for mount/format/fstab.
3
12
  * Stop using `euse` from `gentoolkit`, use native Ruby code here.
data/README.md CHANGED
@@ -72,25 +72,28 @@ Unless your old LVM volume group is also named `vg0`, `getch` may fail to partit
72
72
  # pvremove -f /dev/sdb
73
73
 
74
74
  #### Encryption enable on BIOS with ext4
75
- To decrypt your disk on BIOS system, you have to enter your password two times. One time for Grub and another time for the initramfs (Genkernel). [post](https://wiki.archlinux.org/index.php/GRUB#Encrypted_/boot).
75
+ To decrypt your disk on BIOS system, you have to enter your password twice. One time for Grub and another time for Genkernel. [post](https://wiki.archlinux.org/index.php/GRUB#Encrypted_/boot).
76
76
  Also with GRUB, only a `us` keymap is working.
77
77
 
78
- #### With ZFS
79
- When Gentoo boot, the pool may fail to start, it's happen when the pool has not been `export` to the ISO. So just reboot on your ISO:
78
+ #### ZFS
79
+ When Gentoo boot the first time, the pool may fail to start, it's happen when the pool has not been `export` to the ISO. So just `export` your pool from the genkernel shell:
80
80
 
81
- You need the partuuid, pool are create with the first 5 characters, just replace `sdX` by your real device:
81
+ The zpool name should be visible (rpool-150ed here), so enter in the Genkernel shell:
82
82
 
83
- # ls -l /dev/disk/by-partuuid/ | grep sdX4
84
- -> 150ed969...
85
- # zpool import -N -R /mnt rpool-150ed
83
+ > shell
84
+ zpool import -f -N -R /mnt rpool-150ed
85
+ zpool export -a
86
+
87
+ Then, just reboot now, it's all.
86
88
 
87
- And export them correctly:
89
+ *INFO*: To create the zpool, getch use the 5 fist characters from the `partuuid`, just replace `sdX` by your real device:
88
90
 
89
- # zpool export -a
91
+ # ls -l /dev/disk/by-partuuid/ | grep sdX4
92
+ -> 150ed969...
90
93
 
91
- It's all.
94
+ The pool will be called `rpool-150ed`.
92
95
 
93
96
  ## Issues
94
97
  If need more support for your hardware (network, sound card, ...), you can submit a [new issue](https://github.com/szorfein/getch/issues/new) and post the output of the following command:
95
98
  + lspci
96
- + lsmod
99
+ + cat /proc/modules
data/lib/getch.rb CHANGED
@@ -6,6 +6,7 @@ require_relative 'getch/command'
6
6
  require_relative 'getch/helpers'
7
7
  require_relative 'getch/log'
8
8
  require_relative 'getch/config'
9
+ require_relative 'getch/guard'
9
10
 
10
11
  module Getch
11
12
 
@@ -23,15 +23,22 @@ module Getch
23
23
  end
24
24
 
25
25
  def self.hdd(*disks)
26
- disks.each { |d| clean_hdd(d) }
26
+ disks.each { |d|
27
+ clean_struct(d)
28
+ clean_hdd(d)
29
+ }
27
30
  end
28
31
  # See https://wiki.archlinux.org/index.php/Solid_state_drive/Memory_cell_clearing
29
32
  # for SSD
30
33
  def self.sdd
31
34
  end
32
35
 
33
- def self.struct(*disks)
34
- disks.each { |d| clean_struct(d) }
36
+ def self.external_disk(root_disk, *disks)
37
+ disks.each { |d|
38
+ unless d && d != "" && d != nil && d == root_disk
39
+ hdd(d)
40
+ end
41
+ }
35
42
  end
36
43
 
37
44
  def self.old_vg(disk, vg)
@@ -14,8 +14,8 @@ module Getch
14
14
 
15
15
  def run_partition
16
16
  return if STATES[:partition ]
17
- @clean.struct(@disk, @cache_disk, @home_disk)
18
- @clean.hdd(@disk, @cache_disk, @home_disk)
17
+ @clean.hdd(@disk)
18
+ @clean.external_disk(@disk, @boot_disk, @cache_disk, @home_disk)
19
19
  if Helpers::efi?
20
20
  partition_efi
21
21
  encrypt_efi
@@ -12,8 +12,8 @@ module Getch
12
12
 
13
13
  def run_partition
14
14
  return if STATES[:partition ]
15
- @clean.struct(@disk, @cache_disk, @home_disk)
16
- @clean.hdd(@disk, @cache_disk, @home_disk)
15
+ @clean.hdd(@disk)
16
+ @clean.external_disk(@disk, @boot_disk, @cache_disk, @home_disk)
17
17
  if Helpers::efi?
18
18
  partition_efi
19
19
  else
@@ -15,8 +15,9 @@ module Getch
15
15
  def run_partition
16
16
  return if STATES[:partition ]
17
17
  @clean.old_vg(@dev_root, @vg)
18
- @clean.struct(@disk, @cache_disk, @home_disk)
19
- @clean.hdd(@disk, @cache_disk, @home_disk)
18
+ @clean.hdd(@disk)
19
+ @clean.external_disk(@disk, @boot_disk, @cache_disk, @home_disk)
20
+
20
21
  partition
21
22
  encrypt
22
23
  lvm
@@ -13,8 +13,8 @@ module Getch
13
13
  def run_partition
14
14
  return if STATES[:partition ]
15
15
  @clean.old_vg(@dev_root, @vg)
16
- @clean.struct(@disk, @cache_disk, @home_disk)
17
- @clean.hdd(@disk, @cache_disk, @home_disk)
16
+ @clean.hdd(@disk)
17
+ @clean.external_disk(@disk, @boot_disk, @cache_disk, @home_disk)
18
18
  partition
19
19
  lvm
20
20
  @state.partition
@@ -9,7 +9,6 @@ module Getch
9
9
  @state = Getch::States.new()
10
10
  if ! @id
11
11
  @log.info "Research pool id for #{@dev_root}..."
12
- sleep 2 until Helpers::pool_id(@dev_root)
13
12
  @id = Helpers::pool_id(@dev_root)
14
13
  @boot_pool_name = "bpool-#{@id}"
15
14
  @pool_name = "rpool-#{@id}"
@@ -30,11 +29,11 @@ module Getch
30
29
  end
31
30
 
32
31
  def zfs
33
- bloc=`blockdev --getbsz #{@dev_root}`.chomp
32
+ bloc=`blockdev --getpbsz #{@dev_root}`
34
33
  ashift = case bloc
35
- when 8096
34
+ when /8096/
36
35
  13
37
- when 4096
36
+ when /4096/
38
37
  12
39
38
  else # 512
40
39
  9
@@ -15,8 +15,9 @@ module Getch
15
15
  def run
16
16
  return if STATES[:partition ]
17
17
  @clean.old_zpool
18
- @clean.struct(@disk, @cache_disk, @home_disk)
19
- @clean.hdd(@disk, @cache_disk, @home_disk)
18
+ @clean.hdd(@disk)
19
+ @clean.external_disk(@disk, @boot_disk, @cache_disk, @home_disk)
20
+
20
21
  partition
21
22
  cache
22
23
  @state.partition
@@ -27,22 +28,22 @@ module Getch
27
28
  def partition
28
29
  if Helpers::efi?
29
30
  @partition.efi(@dev_esp)
30
- @partition.swap(@dev_swap)
31
+ @partition.swap(@dev_swap) if !@cache_disk
31
32
  @partition.root(@dev_root, "BF00") if @root_part != 1
32
33
  else
33
34
  @partition.gpt(@dev_gpt)
34
35
  @partition.boot(@dev_boot)
35
- @partition.swap(@dev_swap)
36
+ @partition.swap(@dev_swap) if !@cache_disk
36
37
  @partition.root(@dev_root, "BF00") if @root_part != 1
37
38
  end
38
39
  end
39
40
 
40
41
  def cache
41
- if @dev_log
42
- exec("sgdisk -n2:0:+4G -t2:BF07 #{cache_disk}")
43
- end
44
- if @dev_cache
45
- exec("sgdisk -n3:0:0 -t3:BF08 #{cache_disk}")
42
+ if @cache_disk
43
+ mem=`awk '/MemTotal/ {print $2}' /proc/meminfo`.chomp + 'K'
44
+ exec("sgdisk -n1:0:+#{mem} -t1:8200 /dev/#{@cache_disk}")
45
+ exec("sgdisk -n2:0:+4G -t2:BF07 /dev/#{@cache_disk}")
46
+ exec("sgdisk -n3:0:0 -t3:BF08 /dev/#{@cache_disk}")
46
47
  end
47
48
  end
48
49
 
@@ -8,7 +8,6 @@ module Getch
8
8
  @state = Getch::States.new
9
9
  if ! @id
10
10
  @log.info "Research pool id for #{@dev_root}..."
11
- sleep 2 until Helpers::pool_id(@dev_root)
12
11
  @id = Helpers::pool_id(@dev_root)
13
12
  @boot_pool_name = "bpool-#{@id}"
14
13
  @pool_name = "rpool-#{@id}"
@@ -30,11 +29,11 @@ module Getch
30
29
  end
31
30
 
32
31
  def zfs
33
- bloc=`blockdev --getbsz #{@dev_root}`.chomp
32
+ bloc=`blockdev --getpbsz #{@dev_root}`
34
33
  ashift = case bloc
35
- when 8096
34
+ when /8096/
36
35
  13
37
- when 4096
36
+ when /4096/
38
37
  12
39
38
  else # 512
40
39
  9
@@ -14,8 +14,9 @@ module Getch
14
14
  def run_partition
15
15
  return if STATES[:partition ]
16
16
  @clean.old_zpool
17
- @clean.struct(@disk, @cache_disk, @home_disk)
18
- @clean.hdd(@disk, @cache_disk, @home_disk)
17
+ @clean.hdd(@disk)
18
+ @clean.external_disk(@disk, @boot_disk, @cache_disk, @home_disk)
19
+
19
20
  partition
20
21
  cache
21
22
  @state.partition
@@ -26,23 +27,23 @@ module Getch
26
27
  def partition
27
28
  if @efi
28
29
  @partition.efi(@dev_esp)
29
- @partition.swap(@dev_swap)
30
+ @partition.swap(@dev_swap) if !@cache_disk
30
31
  @partition.root(@dev_root, "BF00") if @root_part != 1
31
32
  else
32
33
  @partition.gpt(@dev_gpt)
33
34
  # Boot pool for GRUB2
34
35
  @partition.boot(@dev_boot)
35
- @partition.swap(@dev_swap)
36
+ @partition.swap(@dev_swap) if !@cache_disk
36
37
  @partition.root(@dev_root, "BF00") if @root_part != 1
37
38
  end
38
39
  end
39
40
 
40
41
  def cache
41
- if @dev_log
42
- exec("sgdisk -n2:0:+4G -t2:BF07 #{cache_disk}")
43
- end
44
- if @dev_cache
45
- exec("sgdisk -n3:0:0 -t3:BF08 #{cache_disk}")
42
+ if @cache_disk
43
+ mem=`awk '/MemTotal/ {print $2}' /proc/meminfo`.chomp + 'K'
44
+ exec("sgdisk -n1:0:+#{mem} -t1:8200 /dev/#{@cache_disk}")
45
+ exec("sgdisk -n2:0:+4G -t2:BF07 /dev/#{@cache_disk}")
46
+ exec("sgdisk -n3:0:0 -t3:BF00 /dev/#{@cache_disk}")
46
47
  end
47
48
  end
48
49
 
data/lib/getch/gentoo.rb CHANGED
@@ -29,6 +29,7 @@ module Getch
29
29
  config = Getch::Gentoo::Config.new()
30
30
  config.portage
31
31
  config.portage_fs
32
+ config.portage_bashrc
32
33
  config.repo
33
34
  config.network
34
35
  config.systemd(options)
@@ -50,6 +51,7 @@ module Getch
50
51
  chroot.kernel
51
52
  chroot.kernel_deps
52
53
  chroot.install_pkgs
54
+ chroot.kernel_link
53
55
  end
54
56
 
55
57
  def kernel
@@ -58,6 +60,7 @@ module Getch
58
60
  new
59
61
  source.build_kspp
60
62
  source.build_others
63
+ source.firewall
61
64
  source.make
62
65
  @state.kernel
63
66
  end
@@ -18,6 +18,9 @@ module Getch
18
18
  end
19
19
 
20
20
  def bootloader
21
+ # Ensure than systemd is build with all our flags
22
+ Getch::Emerge.new("@world").pkg!
23
+
21
24
  if Helpers::efi?
22
25
  bootctl
23
26
  else
@@ -39,7 +39,6 @@ module Getch
39
39
  license = "#{MOUNTPOINT}/etc/portage/package.license"
40
40
  File.write(license, "sys-kernel/linux-firmware linux-fw-redistributable no-source-code\n")
41
41
  @pkgs << "sys-kernel/gentoo-sources"
42
- @pkgs << "dev-util/dwarves"
43
42
  end
44
43
 
45
44
  def kernel_deps
@@ -56,6 +55,12 @@ module Getch
56
55
  Getch::Emerge.new(all_pkgs).pkg!
57
56
  end
58
57
 
58
+ # create a symbolic link for /usr/src/linux
59
+ def kernel_link
60
+ cmd = "eselect kernel set 1"
61
+ exec_chroot(cmd)
62
+ end
63
+
59
64
  private
60
65
 
61
66
  def mount
@@ -94,6 +94,40 @@ module Getch
94
94
  Helpers::add_file("#{portage}/package.unmask/zzz_via_autounmask")
95
95
  end
96
96
 
97
+ def portage_bashrc
98
+ conf = "#{MOUNTPOINT}/etc/portage/bashrc"
99
+ content = %q{
100
+ # https://wiki.gentoo.org/wiki/Signed_kernel_module_support
101
+ function pre_pkg_preinst() {
102
+ # This hook signs any out-of-tree kernel modules.
103
+ if [[ "$(type -t linux-mod_pkg_preinst)" != "function" ]]; then
104
+ # The package does not seem to install any kernel modules.
105
+ return
106
+ fi
107
+ # Get the signature algorithm used by the kernel.
108
+ local module_sig_hash="$(grep -Po '(?<=CONFIG_MODULE_SIG_HASH=").*(?=")' "${KERNEL_DIR}/.config")"
109
+ # Get the key file used by the kernel.
110
+ local module_sig_key="$(grep -Po '(?<=CONFIG_MODULE_SIG_KEY=").*(?=")' "${KERNEL_DIR}/.config")"
111
+ module_sig_key="${module_sig_key:-certs/signing_key.pem}"
112
+ # Path to the key file or PKCS11 URI
113
+ if [[ "${module_sig_key#pkcs11:}" == "${module_sig_key}" && "${module_sig_key#/}" == "${module_sig_key}" ]]; then
114
+ local key_path="${KERNEL_DIR}/${module_sig_key}"
115
+ else
116
+ local key_path="${module_sig_key}"
117
+ fi
118
+ # Certificate path
119
+ local cert_path="${KERNEL_DIR}/certs/signing_key.x509"
120
+ # Sign all installed modules before merging.
121
+ find "${D%/}/${INSDESTTREE#/}/" -name "*.ko" -exec "${KERNEL_DIR}/scripts/sign-file" "${module_sig_hash}" "${key_path}" "${cert_path}" '{}' \;
122
+ }
123
+ }
124
+
125
+ f = File.new(conf, "w")
126
+ f.write("#{content}\n")
127
+ f.chmod(0644)
128
+ f.close
129
+ end
130
+
97
131
  private
98
132
 
99
133
  def control_options(options)
@@ -12,6 +12,7 @@ module Getch
12
12
  qemu_guest
13
13
  install_wifi
14
14
  install_audio
15
+ flash_mod
15
16
  end
16
17
 
17
18
  def build_kspp
@@ -27,6 +28,11 @@ module Getch
27
28
  end
28
29
  end
29
30
 
31
+ def firewall
32
+ bask("-a iptables")
33
+ Getch::Emerge.new("net-firewall/iptables").pkg!
34
+ end
35
+
30
36
  private
31
37
 
32
38
  def make_kernel
@@ -80,7 +86,33 @@ module Getch
80
86
  end
81
87
 
82
88
  def wifi_drivers
83
- bask("-a ath9k-driver") if ismatch?('ath9k')
89
+ conf = "#{MOUNTPOINT}/etc/modules-load.d/wifi.conf"
90
+ File.delete(conf) if File.exists? conf
91
+
92
+ if ismatch?('ath9k')
93
+ bask("-a ath9k-driver")
94
+ end
95
+
96
+ module_load("iwlmvm", conf)
97
+ module_load("ath9k", conf)
98
+ end
99
+
100
+ def flash_mod
101
+ conf = "#{MOUNTPOINT}/etc/modules-load.d/usb.conf"
102
+ File.delete(conf) if File.exists? conf
103
+
104
+ module_load("ehci_pci", conf)
105
+ module_load("rtsx_pci_sdmmc", conf)
106
+ module_load("sdhci_pci", conf)
107
+ module_load("uas", conf)
108
+ module_load("uhci_hcd", conf)
109
+ module_load("xhci_pci", conf)
110
+ end
111
+
112
+ def module_load(name, file)
113
+ return unless name
114
+ return unless ismatch?(name)
115
+ File.write(file, "#{name}\n", mode: 'a')
84
116
  end
85
117
  end
86
118
  end
@@ -0,0 +1,62 @@
1
+ class InvalidDisk < StandardError
2
+ end
3
+
4
+ class InvalidFormat < StandardError
5
+ end
6
+
7
+ class InvalidZone < StandardError
8
+ end
9
+
10
+ class InvalidKeymap < StandardError
11
+ end
12
+
13
+ module Getch::Guard
14
+ def self.disk(name)
15
+ raise InvalidDisk, "No disk." unless name
16
+ raise InvalidDisk, "Bad device name #{name}." unless name.match(/^sd[a-z]{1}$/)
17
+ raise InvalidDisk, "Disk /dev/#{name} no found." unless File.exist? "/dev/#{name}"
18
+ name
19
+ rescue InvalidDisk => e
20
+ puts "#{e.class} => #{e}"
21
+ exit 1
22
+ end
23
+
24
+ def self.format(name)
25
+ raise InvalidFormat, "No format specified." unless name
26
+ raise InvalidFormat, "Format #{name} not yet available." if name.match(/btrfs/)
27
+ raise InvalidFormat, "Format #{name} not supported." unless name.match(/zfs|lvm|zfs/)
28
+ rescue InvalidFormat => e
29
+ puts "#{e.class} => #{e}"
30
+ exit 1
31
+ end
32
+
33
+ def self.zone(name)
34
+ raise InvalidZone, "No zoneinfo specified." unless name
35
+ raise InvalidZone, "Directory /usr/share/zoneinfo/ no found on this system..." unless Dir.exist? "/usr/share/zoneinfo/"
36
+ raise InvalidZone, "Zoneinfo #{name} is no found in /usr/share/zoneinfo/." unless File.exist? "/usr/share/zoneinfo/#{name}"
37
+ rescue InvalidZone => e
38
+ puts "#{e.class} => #{e}"
39
+ exit 1
40
+ end
41
+
42
+ def self.keymap(name)
43
+ raise InvalidKeymap, "No keymap specified." unless name
44
+ key = []
45
+
46
+ if Dir.exist? '/usr/share/keymaps'
47
+ key = Dir.glob("/usr/share/keymaps/**/#{name}.map.gz")
48
+ elsif Dir.exist? '/usr/share/kbd/keymaps'
49
+ key = Dir.glob("/usr/share/kbd/keymaps/**/#{name}.map.gz")
50
+ else
51
+ raise InvalidKeymap, "No directory found for keymap."
52
+ end
53
+
54
+ if key == []
55
+ raise InvalidKeymap, "Keymap #{name} no found."
56
+ end
57
+ name
58
+ rescue InvalidKeymap => e
59
+ puts "#{e.class} => #{e}"
60
+ exit 1
61
+ end
62
+ end
data/lib/getch/helpers.rb CHANGED
@@ -66,6 +66,20 @@ module Helpers
66
66
 
67
67
  # Used with ZFS for the pool name
68
68
  def self.pool_id(dev)
69
- `lsblk -o PARTUUID #{dev}`.delete("\n").delete("PARTUUID").match(/[\w]{5}/)
69
+ if dev.match(/[0-9]/)
70
+ sleep 1
71
+ `lsblk -o PARTUUID #{dev}`.delete("\n").delete("PARTUUID").match(/[\w]{5}/)
72
+ else
73
+ puts "Please, enter a pool name"
74
+ while true
75
+ print "\n> "
76
+ value = gets
77
+ if value.match(/[a-z]{4,20}/)
78
+ return value
79
+ end
80
+ puts "Bad name, you enter: #{value}"
81
+ puts "Valid pool name use character only, between 4-20."
82
+ end
83
+ end
70
84
  end
71
85
  end
data/lib/getch/options.rb CHANGED
@@ -27,31 +27,31 @@ module Getch
27
27
  @language = lang
28
28
  end
29
29
  opts.on("-z", "--zoneinfo ZONE", "Default is US/Eastern") do |zone|
30
- @zoneinfo = zone
30
+ @zoneinfo = Getch::Guard.zone(zone)
31
31
  end
32
32
  opts.on("-k", "--keymap KEY", "Default is us") do |key|
33
- @keymap = key
33
+ @keymap = Getch::Guard.keymap(key)
34
34
  end
35
35
  opts.on("-d", "--disk DISK", "Disk where install Gentoo (sda,sdb), default use #{@disk}") do |disk|
36
- @disk = disk
36
+ @disk = Getch::Guard.disk(disk)
37
37
  end
38
38
  opts.on("-f", "--format FS", "Can be ext4, lvm or zfs. Default use ext4") do |fs|
39
- @fs = fs
39
+ @fs = Getch::Guard.format(fs)
40
40
  DEFAULT_OPTIONS[:fs] = fs # dont known why, but it should be enforce
41
41
  end
42
42
  opts.on("-u", "--username USERNAME", "Create a new user /home/USERNAME with password.") do |user|
43
43
  @username = user
44
44
  end
45
45
  opts.on("--separate-boot DISK", "Disk for the boot/efi partition, default use #{@disk}") do |boot|
46
- @boot_disk = boot
46
+ @boot_disk = Getch::Guard.disk(boot)
47
47
  DEFAULT_OPTIONS[:boot_disk] = boot
48
48
  end
49
49
  opts.on("--separate-cache DISK", "Disk for the swap partition, add ZIL/L2ARC for ZFS when set, default use #{@disk}") do |swap|
50
- @cache_disk = swap
50
+ @cache_disk = Getch::Guard.disk(swap)
51
51
  DEFAULT_OPTIONS[:cache_disk] = swap
52
52
  end
53
53
  opts.on("--separate-home DISK", "Disk for the /home partition, default is nil") do |home|
54
- @home_disk = home
54
+ @home_disk = Getch::Guard.disk(home)
55
55
  DEFAULT_OPTIONS[:home_disk] = home
56
56
  end
57
57
  opts.on("--encrypt", "Encrypt your system.") do
data/lib/getch/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Getch
2
- VERSION = '0.1.3'.freeze
2
+ VERSION = '0.1.5'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: getch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - szorfein
@@ -35,7 +35,7 @@ cert_chain:
35
35
  F9Dl4EPzjBJOgQWf+NxzxNuNKI46Lp5Q8AI+xtDUHAPbSswHa40BA6ChFehP+j0L
36
36
  fg==
37
37
  -----END CERTIFICATE-----
38
- date: 2021-05-17 00:00:00.000000000 Z
38
+ date: 2021-06-20 00:00:00.000000000 Z
39
39
  dependencies: []
40
40
  description:
41
41
  email:
@@ -110,6 +110,7 @@ files:
110
110
  - lib/getch/gentoo/stage.rb
111
111
  - lib/getch/gentoo/use.rb
112
112
  - lib/getch/gentoo/use_flag.rb
113
+ - lib/getch/guard.rb
113
114
  - lib/getch/helpers.rb
114
115
  - lib/getch/log.rb
115
116
  - lib/getch/options.rb
metadata.gz.sig CHANGED
Binary file