packages feed

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 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.