From dae84d3bb14658ade2c03e6374d3a0ce597e3ae8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 23 May 2018 08:11:49 -0400 Subject: [PATCH] [users] Improve explanation of other steps of adding a user --- src/modules/users/CreateUserJob.cpp | 38 ++++++++++++----------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/src/modules/users/CreateUserJob.cpp b/src/modules/users/CreateUserJob.cpp index 119028059..052af87c6 100644 --- a/src/modules/users/CreateUserJob.cpp +++ b/src/modules/users/CreateUserJob.cpp @@ -161,29 +161,23 @@ CreateUserJob::exec() return pres.explainProcess( useradd, 10 /* bogus timeout */ ); } - int ec = CalamaresUtils::System::instance()-> - targetEnvCall( { "usermod", - "-aG", - defaultGroups, - m_userName } ); - if ( ec ) - return Calamares::JobResult::error( tr( "Cannot add user %1 to groups: %2." ) - .arg( m_userName ) - .arg( defaultGroups ), - tr( "usermod terminated with error code %1." ) - .arg( ec ) ); + pres = CalamaresUtils::System::instance()->targetEnvCommand( + { "usermod", "-aG", defaultGroups, m_userName } ); + if ( pres.getExitCode() ) + { + cError() << "usermod failed" << pres.getExitCode(); + return pres.explainProcess( "usermod", 10 ); + } - ec = CalamaresUtils::System::instance()-> - targetEnvCall( { "chown", - "-R", - QString( "%1:%2" ).arg( m_userName ) - .arg( m_userName ), - QString( "/home/%1" ).arg( m_userName ) } ); - if ( ec ) - return Calamares::JobResult::error( tr( "Cannot set home directory ownership for user %1." ) - .arg( m_userName ), - tr( "chown terminated with error code %1." ) - .arg( ec ) ); + QString userGroup = QString( "%1:%2" ).arg( m_userName ).arg( m_userName ); + QString homeDir = QString( "/home/%1" ).arg( m_userName ); + pres = CalamaresUtils::System::instance()->targetEnvCommand( + { "chown", "-R", userGroup, homeDir } ); + if ( pres.getExitCode() ) + { + cError() << "chown failed" << pres.getExitCode(); + return pres.explainProcess( "chown", 10 ); + } return Calamares::JobResult::ok(); }