docs: def _set_state(pkg, state):
      '''
      Change package state on the opkg database
  
      The state can be any of:
  
       - hold
       - noprune
       - user
       - ok
       - installed
       - unpacked
  
      This command is commonly used to mark a specific package to be held from
      being upgraded, that is, to be kept at a certain version.
  
      Returns a dict containing the package name, and the new and old
      versions.
      '''
      ret = {}
      valid_states = ('hold', 'noprune', 'user', 'ok', 'installed', 'unpacked')
      if state not in valid_states:
          raise SaltInvocationError('Invalid state: {0}'.format(state))
      oldstate = _get_state(pkg)
      cmd = ['opkg', 'flag']
      cmd.append(state)
      cmd.append(pkg)
      _out = __salt__['cmd.run'](cmd, python_shell=False)
  
      # Missing return value check due to opkg issue 160
      ret[pkg] = {'old': oldstate,
                  'new': state}
      return ret