With the normal `setup.py`, the installation of the `ossaudiodev` module is skipped under GNU/Linux with newer kernel versions because Python 3.1 appends the major kernel version to the result of `build_ext.get_platform` and later `ossaudiodev` is skipped if the major kernel version is not 2. A similar problem might occur if installing in FreeBSD. This problem may even occur if installing Python 3.1 in a Docker image of an old OS (e.g. prehistoric Debian or CentOS), because the major kernel version is still the one of the host system. The solution is to use `str.startswith` and only check that the platform starts with 'linux' or 'freebsd'.pull/2049/head
| @ -0,0 +1,12 @@ | |||||
| --- setup.py.orig 2012-04-10 01:25:37.000000000 +0200 | |||||
| +++ setup.py 2021-09-03 10:16:58.575042300 +0200 | |||||
| @@ -1344,8 +1344,7 @@ | |||||
| # End multiprocessing | |||||
| # Platform-specific libraries | |||||
| - if platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6', | |||||
| - 'freebsd7', 'freebsd8'): | |||||
| + if platform.startswith('linux') or platform.startswith('freebsd'): | |||||
| exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) ) | |||||
| else: | |||||
| missing.append('ossaudiodev') | |||||
| @ -0,0 +1,12 @@ | |||||
| --- setup.py.orig 2012-04-10 01:25:37.000000000 +0200 | |||||
| +++ setup.py 2021-09-03 10:16:58.575042300 +0200 | |||||
| @@ -1344,8 +1344,7 @@ | |||||
| # End multiprocessing | |||||
| # Platform-specific libraries | |||||
| - if platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6', | |||||
| - 'freebsd7', 'freebsd8'): | |||||
| + if platform.startswith('linux') or platform.startswith('freebsd'): | |||||
| exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) ) | |||||
| else: | |||||
| missing.append('ossaudiodev') | |||||