##### SUMMARY
Applying the module HOSTNAME against a box running OSMC (https://osmc.tv/) the following error appears:
`fatal: [raspitest.thucke.de]: FAILED! => {"changed": false, "msg": "hostname module cannot be used on platform Linux (Osmc)"}
`
##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
Module: hostname

##### ANSIBLE VERSION
```
ansible 2.9.2
  config file = /home/ansible/ansible/ansible.cfg
  configured module search path = ['/home/ansible/ansible/ansible_modules']
  ansible python module location = /usr/lib/python3.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.7.5 (default, Oct 17 2019, 12:09:47) [GCC 9.2.1 20190827 (Red Hat 9.2.1-1)]
```

##### CONFIGURATION
```
DEFAULT_HOST_LIST(/home/ansible/ansible/ansible.cfg) = ['/home/ansible/ansible/inventory.yml']
DEFAULT_MODULE_PATH(/home/ansible/ansible/ansible.cfg) = ['/home/ansible/ansible/ansible_modules']
DEFAULT_ROLES_PATH(/home/ansible/ansible/ansible.cfg) = ['/home/ansible/ansible/roles', '/home/ansible/ansible/roles']
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
Target OS: OSMC on Rasperry Pi 2B+ (http://download.osmc.tv/installers/diskimages/OSMC_TGT_rbp2_20191118.img.gz)

##### STEPS TO REPRODUCE
Just apply a playbook with the module against such a machine.

```
- name: HOSTNAME | Setting real hostname
  hostname:
    name: "{{ inetHostname.stdout }}"
```

##### EXPECTED RESULTS
Module end without errors

##### ACTUAL RESULTS
`fatal: [raspitest.thucke.de]: FAILED! => {"changed": false, "msg": "hostname module cannot be used on platform Linux (Osmc)"}
`
"""
    This is a Solaris11 or later Hostname manipulation strategy class - it
    execute hostname command.
    """
    def set_current_hostname(self, name):
        cmd_option = '-t'
        cmd = [self.hostname_cmd, cmd_option, name]
        rc, out, err = self.module.run_command(cmd)
        if rc != 0:
            self.module.fail_json(msg="Command failed rc=%d, out=%s, err=%s" % (rc, out, err))
    def get_permanent_hostname(self):
        fmri = 'svc:/system/identity:node'
        pattern = 'config/nodename'
        cmd = '/usr/sbin/svccfg -s %s listprop -o value %s' % (fmri, pattern)
        rc, out, err = self.module.run_command(cmd, use_unsafe_shell=True)
        if rc != 0:
            self.module.fail_json(msg="Command failed rc=%d, out=%s, err=%s" % (rc, out, err))
        return to_native(out).strip()
    def set_permanent_hostname(self, name):
        cmd = [self.hostname_cmd, name]
        rc, out, err = self.module.run_command(cmd)
        if rc != 0:
            self.module.fail_json(msg="Command failed rc=%d, out=%s, err=%s" % (rc, out, err))
class FreeBSDStrategy(GenericStrategy):