I've gone through making a bunch of fixes as I go to parts of the template. lots of little things like using get_root_mount_point() instead of .root_mount_point incase my patch thing doesn't work, i'll list the diff here. opti src # diff -a GLIInstallTemplate.py /home/codeman/installer/currentweb/GLIInstallTemplate.py 45c45 < if not dependency in self._client_configuration.get_install_steps_completed(): --- > if not dependency in self._client_configuration.install_steps_completed: 59c59 < prefix = "chroot " + self._client_configuration.get_root_mount_point() + " " --- > prefix = "chroot " + self._client_configuration.root_mount_point + " " 64c64 < suffix = " | tee " + self._client_configuration.get_proc_temp_log() + " >> " + self._client_configuration.get_log_file() --- > suffix = " | tee " + self._client_configuration.proc_temp_log + " >> " + self._client_configuration.log_file 163c163 < def _fetch_and_unpack_tarball(self, tarball_uri, target_directory, temp_directory="/tmp", keep_permissions=False): --- > def _fetch_and_unpack_tarball(self, tarball_uri, target_directory, temp_directory="/tmp", keep_permisions=False): 240c240 < interfaces = self._install_profile.get_network_interfaces() --- > interfaces = self._install_profile.get_network_interfaces_pre() 249,250c249,250 < if not os.access("/etc/init.d/net." + interface, os.W_OK): < os.symlink("/etc/init.d/net." + interface_type + "0", "/etc/init.d/net." + interface) --- > if not os.access(self._client_configuration.root_mount_point + "/etc/net." + interface, W_OK): > os.symlink("net." + interface_type + "0", self._client_configuration.root_mount_point + "/etc/net." + interface) 262,269c262,268 < ip = interfaces[interface][0] < broadcast = interfaces[interface][1] < netmask = interfaces[interface][2] < print "ip is: " + ip + "\nbroadcast: " + broadcast + "\nnetmask: " + netmask < # aliases = interfaces[interface][0][3] < # alias_ips = [] < # alias_broadcasts = [] < # alias_netmasks = [] --- > ip = interfaces[interface][0][0] > broadcast = interfaces[interface][0][1] > netmask = interfaces[interface][0][2] > aliases = interfaces[interface][0][3] > alias_ips = [] > alias_broadcasts = [] > alias_netmasks = [] 275,280c274,280 < # if aliases: < # # Parse aliases to format alias info < # for alias in aliases: < # alias_ips.append(alias[0]) < # alias_broadcasts.append(alias[1]) < # alias_netmasks.append(allias[2]) --- > if aliases: > > # Parse aliases to format alias info > for alias in aliases: > alias_ips.append(alias[0]) > alias_broadcasts.append(alias[1]) > alias_netmasks.append(allias[2]) 284c284 < # self._edit_config("/etc/conf.d/net", "alias_" + interface, string.join(alias_ips)) --- > self._edit_config("/etc/conf.d/net", "alias_" + interface, string.join(alias_ips)) 286c286 < # self._edit_config("/etc/conf.d/net", "broadcast_" + interface, string.join(alias_broadcasts)) --- > self._edit_config("/etc/conf.d/net", "broadcast_" + interface, string.join(alias_broadcasts)) 288c288 < # self._edit_config("/etc/conf.d/net", "netmask_" + interface, string.join(alias_netmasks)) --- > self._edit_config("/etc/conf.d/net", "netmask_" + interface, string.join(alias_netmasks)) 307c307 < raise "NetworkPreError", "Could not restart interface " + interface + "!" --- > raise "NetworkPreError", "Could not start interface " + interface + "!" 323c323 < self._depends("partition_local_drives") --- > self._depends("partition_local_devices") 334c334 < --- > 340c340 < self._fetch_and_unpack_tarball(stage_tarball_uri, self._client_configuration.get_root_mount_point() + "/", self._client_configuration.get_root_mount_point() + "/", True) --- > self._fetch_and_unpack_tarball(stage_tarball_uri, self._client_configuration.root_mount_point + "/", self._client_configuration.root_mount_point + "/", True) 359c359 < shutil.copy("/etc/resolv.conf", self._client_configuration.get_root_mount_point() + "/etc/resolv.conf") --- > shutil.copy("/etc/resolv.conf", self._client_configuration.root_mount_point + "/etc/resolv.conf") 364c364 < exitstatus = self._run("mount -t proc none " + self._client_configuration.get_root_mount_point() + "/proc", False) --- > exitstatus = self._run("mount -t proc proc " + self._client_configuration.root_mount_point + "/proc", False) 367c367 < exitstatus = self._run("mount -o bind /dev " + self._client_configuration.get_root_mount_point() + "/dev", False) --- > exitstatus = self._run("mount -o bind /dev " + self._client_configuration.root_mount_point + "/dev", False) 383c383 < self._edit_config(self._client_configuration.get_root_mount_point() + "/etc/make.conf", key, options[key]) --- > self._edit_config(self._client_configuration.root_mount_point + "/etc/make.conf", key, option[key]) 398c398 < self._fetch_and_unpack_tarball(portage_tree_snapshot_uri, self._client_configuration.get_root_mount_point() + "/usr/", self._client_configuration.get_root_mount_point() + "/") --- > self._fetch_and_unpack_tarball(portage_tree_snapshot_uri, self._client_configuration.root_mount_point + "/usr/", self._client_configuration.root_mount_point + "/") 442c442 < os.symlink("../usr/share/zoneinfo/" + self._install_profile.get_time_zone(), self._client_configuration.get_root_mount_point() + "/etc/localtime") --- > os.symlink("../usr/share/zoneinfo/" + self._install_profile.get_time_zone(), self._client_configuration.root_mount_point + "/etc/localtime") 471c471 < self._get_uri(kernel_config_uri, self._client_configuration.get_root_mount_point() + "/root/kernel_config") --- > self._get_uri(kernel_config_uri, self._client_configuration.root_mount_point + "/root/kernel_config") 613c613 < self._edit_config(self._client_configuration.get_root_mount_point() + "/etc/rc.conf", key, option[key]) --- > self._edit_config(self._client_configuration.root_mount_point + "/etc/rc.conf", key, option[key]) 626c626 < open(self._client_configuration.get_root_mount_point() + "/etc/hostname", "w").write(hostname + "\n") --- > open(self._client_configuration.root_mount_point + "/etc/hostname", "w").write(hostname + "\n") 630c630 < open(self._client_configuration.get_root_mount_point() + "/etc/dnsdomainname", "w").write(domainname + "\n") --- > open(self._client_configuration.root_mount_point + "/etc/dnsdomainname", "w").write(domainname + "\n") 634c634 < open(self._client_configuration.get_root_mount_point() + "/etc/nisdomainname", "w").write(nisdomainname + "\n") --- > open(self._client_configuration.root_mount_point + "/etc/nisdomainname", "w").write(nisdomainname + "\n") 659c659 < self._edit_config(self._client_configuration.get_root_mount_point() + "/etc/hosts", hosts_ip, hosts_line, True, '\t', False) --- > self._edit_config(self._client_configuration.root_mount_point + "/etc/hosts", hosts_ip, hosts_line, True, '\t', False) 670c670 < self._edit_config(self._client_configuration.get_root_mount_point() + "/etc/conf.d/net", "gateway", default_gateway) --- > self._edit_config(self._client_configuration.root_mount_point + "/etc/conf.d/net", "gateway", default_gateway) 696c696 < resolve_conf = open(self._client_configuration.get_root_mount_point() + "/etc/resolv.conf", "w") --- > resolve_conf = open(self._client_configuration.root_mount_point + "/etc/resolv.conf", "w") 723c723 < os.stat(self._client_configuration.get_root_mount_point() + "/etc/net." + interface) --- > os.stat(self._client_configuration.root_mount_point + "/etc/net." + interface) 725c725 < os.symlink("net." + interface_type + "0", self._client_configuration.get_root_mount_point() + "/etc/net." + interface) --- > os.symlink("net." + interface_type + "0", self._client_configuration.root_mount_point + "/etc/net." + interface) 746c746 < self._edit_config(self._client_configuration.get_root_mount_point() + "/etc/conf.d/net", "iface_" + interface, ip + " broadcast " + broadcast + " netmask " + netmask) --- > self._edit_config(self._client_configuration.root_mount_point + "/etc/conf.d/net", "iface_" + interface, ip + " broadcast " + broadcast + " netmask " + netmask) 759c759 < self._edit_config(self._client_configuration.get_root_mount_point() + "/etc/conf.d/net", "alias_" + interface, string.join(alias_ips)) --- > self._edit_config(self._client_configuration.root_mount_point + "/etc/conf.d/net", "alias_" + interface, string.join(alias_ips)) 761c761 < self._edit_config(self._client_configuration.get_root_mount_point() + "/etc/conf.d/net", "broadcast_" + interface, string.join(alias_broadcasts)) --- > self._edit_config(self._client_configuration.root_mount_point + "/etc/conf.d/net", "broadcast_" + interface, string.join(alias_broadcasts)) 763c763 < self._edit_config(self._client_configuration.get_root_mount_point() + "/etc/conf.d/net", "netmask_" + interface, string.join(alias_netmasks)) --- > self._edit_config(self._client_configuration.root_mount_point + "/etc/conf.d/net", "netmask_" + interface, string.join(alias_netmasks)) 769c769 < self._edit_config(self._client_configuration.get_root_mount_point() + "/etc/conf.d/net", "iface_" + interface, "dhcp") --- > self._edit_config(self._client_configuration.root_mount_point + "/etc/conf.d/net", "iface_" + interface, "dhcp") Reproducible: Always Steps to Reproduce: 1. 2. 3.
Created attachment 37120 [details] Here is a patch of the forementioned changes lets hope my first patch works.
Created attachment 37223 [details, diff] Lets try this again. Ok second try at a patch
As codeman is now a dev, I'm sure this patch has been merged. We don't need any open bugs for our little component :)
Moving to Release Media/Installer.