void cacic_hardware::iniciaColeta() { #ifdef Q_OS_WIN this->coletaHardware = coletaWin(); #elif defined(Q_OS_LINUX) OperatingSystem operatingSystem; // Como criaremos pacotes agora, todas essas verificações podiam só // ser incluídas como dependências. // se o shell retorna erro ao tentar utilizar o lshw ou o dmidecode, instala o mesmo if( console("lshw").contains("/bin/sh:") ){ QLogger::QLog_Info("Gercols (hardware)", "lshw nao estava instalado."); if(operatingSystem.getIdOs() == OperatingSystem::LINUX_ARCH) console("pacman -S --needed --noconfirm lshw"); else if(operatingSystem.getIdOs() == OperatingSystem::LINUX_DEBIAN || operatingSystem.getIdOs() == OperatingSystem::LINUX_UBUNTU ) console("apt-get -y install lshw"); } if( console("dmidecode").contains("/bin/sh:") ){ QLogger::QLog_Info("Gercols (hardware)", "dmidecode nao estava instalado"); if(operatingSystem.getIdOs() == OperatingSystem::LINUX_ARCH) console("pacman -S --needed --noconfirm dmidecode"); else if(operatingSystem.getIdOs() == OperatingSystem::LINUX_DEBIAN || operatingSystem.getIdOs() == OperatingSystem::LINUX_UBUNTU ) console("apt-get -y install dmidecode"); } this->coletaHardware = coletaLinux(); #endif }