HSHHelpers 0.11 → 0.12
raw patch · 2 files changed
+9/−5 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- HSH.Helpers.UnixUsers: AddUserToGroupArgs :: String -> String -> AddUserToGroupArgs
- HSH.Helpers.UnixUsers: addUserToGroupGroup :: AddUserToGroupArgs -> String
- HSH.Helpers.UnixUsers: addUserToGroupUser :: AddUserToGroupArgs -> String
- HSH.Helpers.UnixUsers: data AddUserToGroupArgs
+ HSH.Helpers.UnixUsers: addUserToGroup' :: (Maybe FilePath) -> SysUser -> SysGroup -> IO ()
Files
- HSH/Helpers/UnixUsers.hs +8/−4
- HSHHelpers.cabal +1/−1
HSH/Helpers/UnixUsers.hs view
@@ -84,15 +84,19 @@ return $ filter (p/=) all getSysGroupsAll u = return . words =<< (runSL $ render1 [("u",u)] "id -nG $u$") -data AddUserToGroupArgs = AddUserToGroupArgs {addUserToGroupUser::String,addUserToGroupGroup::String} + -- addUserToGroup fails if user/group doesn't exist -- if user is already in group, there's no error, which is the same behavior of the unix command.-tAddUserToGroup = addUserToGroup $ AddUserToGroupArgs {addUserToGroupUser="thartman",addUserToGroupGroup="thartman"}-addUserToGroup AddUserToGroupArgs {addUserToGroupUser=u,addUserToGroupGroup=g} ++addUserToGroup = addUserToGroup' (Just "usermod")+addUserToGroup' :: (Maybe FilePath) -> SysUser -> SysGroup -> IO ()+addUserToGroup' mbUsermodCmd u g | null . SU.strip $ u = fail "addUserToGroup: blank user" | null . SU.strip $ g = fail "addUserToGroup: blank group" - | otherwise = runIO $ render1 [("u",u),("g",g)]+ | otherwise =+ let usermodCmd = maybe "usermod" id mbUsermodCmd+ in runIO $ render1 [("u",u),("g",g)] "usermod -G $g$ -a $u$" rmUserFromSecondaryGroup :: SysUser -> SysGroup -> IO ()
HSHHelpers.cabal view
@@ -1,5 +1,5 @@ Name: HSHHelpers-Version: 0.11+Version: 0.12 License: GPL License-file: gpl.txt Description: Convenience functions and instances for HSH. I will deprecate this package if its contents are integrated into HSH.