diff options
author | Tomas Popela <tpopela@redhat.com> | 2018-08-31 09:57:55 +0200 |
---|---|---|
committer | Tomas Popela <tpopela@redhat.com> | 2018-08-31 09:59:59 +0200 |
commit | 3a75671c77a7e3e75cb0a4163335630e2e3fdd3e (patch) | |
tree | 37c79c81a35c64207ee4eb2604f2c878e0b371e5 | |
parent | 373dbc81ecfd4c7f5587fe89dd290641a066c122 (diff) | |
download | libsoup-3a75671c77a7e3e75cb0a4163335630e2e3fdd3e.tar.gz |
meson: Adapt to the PHP changes in the httpd.conf.in
As there are more possible names of the PHP module (with or without
minor version) use a glob when looking for it.
-rwxr-xr-x | get_apache_module_dirs.py | 27 | ||||
-rw-r--r-- | meson.build | 4 |
2 files changed, 22 insertions, 9 deletions
diff --git a/get_apache_module_dirs.py b/get_apache_module_dirs.py index daef98b3..8333fd36 100755 --- a/get_apache_module_dirs.py +++ b/get_apache_module_dirs.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright 2017 Tomas Popela <tpopela@redhat.com> +# Copyright 2017, 2018 Tomas Popela <tpopela@redhat.com> # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -25,6 +25,18 @@ import re import subprocess import sys import os +import glob + +def check_php_module(modules_path): + php_modules = glob.glob(os.path.join(modules_path, 'libphp7*.so')); + if len(php_modules): + # The last one in the sorted output will be the desired php module. + return sorted(php_modules)[-1]; + + +def check_module(modules_path, module): + module_path = os.path.join(modules_path, module) + return os.path.isfile(module_path) def main(): @@ -55,25 +67,26 @@ def main(): apache_module_dir = '' apache_ssl_module_dir = '' - apache_php_module_dir = '' + apache_php_module_file = '' for lib_dir in ['lib', 'lib64']: for httpd_dir in ['apache', 'apache2', 'http', 'http2', 'httpd']: for mpm_suffix in ['', '-' + mpm]: for modules_dir in ['', 'modules']: modules_path = os.path.join(apache_prefix, lib_dir, httpd_dir + mpm_suffix, modules_dir) - if os.path.isfile(os.path.join(modules_path, 'mod_auth_digest.so')): + if check_module(modules_path, 'mod_auth_digest.so'): apache_module_dir = modules_path - if os.path.isfile(os.path.join(modules_path, 'mod_ssl.so')): + if check_module(modules_path, 'mod_ssl.so'): apache_ssl_module_dir = modules_path - if os.path.isfile(os.path.join(modules_path, 'libphp7.so')): - apache_php_module_dir = modules_path + php_module = check_php_module(modules_path) + if (php_module): + apache_php_module_file = php_module # These two are mandatory for having properly configured Apache if apache_module_dir == '' or apache_ssl_module_dir == '': sys.exit(1) - print(apache_module_dir + ":" + apache_ssl_module_dir + ":" + apache_php_module_dir, end='') + print(apache_module_dir + ":" + apache_ssl_module_dir + ":" + apache_php_module_file, end='') if __name__ == "__main__": main() diff --git a/meson.build b/meson.build index cbbde16e..52aebcda 100644 --- a/meson.build +++ b/meson.build @@ -132,7 +132,7 @@ if have_apache message('Apache module directory: ' + apache_module_dirs[0]) cdata.set('APACHE_MODULE_DIR', apache_module_dirs[0]) cdata.set('APACHE_SSL_MODULE_DIR', apache_module_dirs[1]) - cdata.set('APACHE_PHP_MODULE_DIR', apache_module_dirs[2]) + cdata.set('APACHE_PHP_MODULE_FILE', apache_module_dirs[2]) apache_mod_unixd = run_command('test', '-f', join_paths(apache_module_dirs[0], 'mod_unixd.so')) cdata.set('IF_HAVE_MOD_UNIXD', apache_mod_unixd.returncode() == 0 ? '' : '#') cdata.set('HAVE_APACHE', have_apache) @@ -143,7 +143,7 @@ have_php = false have_php_xmlrpc = false if have_apache php = find_program('php', required : false) - apache_php_module = run_command('test', '-d', cdata.get('APACHE_PHP_MODULE_DIR')) + apache_php_module = run_command('test', '-f', cdata.get('APACHE_PHP_MODULE_FILE')) if apache_php_module.returncode() == 0 have_php = true php_xmlrpc = run_command(php, '-d', 'extension=xmlrpc', '-r', 'exit(function_exists("xmlrpc_server_create")?0:1);') |