Compare commits
4 Commits
1fa253dfff
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 7106aa35e4 | |||
| dd6272233c | |||
| 5194a27fd4 | |||
| 89d4fcfe42 |
@@ -32,7 +32,10 @@ def get_nginx_info() -> tuple[str | None, str | None]:
|
||||
return (None, None)
|
||||
|
||||
|
||||
def download_and_unpack(url: str) -> str:
|
||||
def download_and_unpack(module: dict | str) -> str:
|
||||
if isinstance(module, str):
|
||||
module = {"name": module.split("/")[-1].rsplit(".", 2)[0], "url": module}
|
||||
url = module["url"]
|
||||
print(f"Downloading '{url}'...")
|
||||
file_name = url.split("/")[-1]
|
||||
if Path(file_name).exists():
|
||||
@@ -46,7 +49,7 @@ def download_and_unpack(url: str) -> str:
|
||||
print("Unpacking...")
|
||||
subprocess.call(["tar", "zxvf", file_name])
|
||||
print(f"Download and unpack complete: {file_name} to {file_name_without_ext}")
|
||||
return file_name_without_ext
|
||||
return module["name"]
|
||||
|
||||
|
||||
def main():
|
||||
@@ -78,7 +81,7 @@ def main():
|
||||
module_source_dirs = []
|
||||
for module in config["modules"]:
|
||||
print(f"Downloading module: {module['name']}")
|
||||
module_source_dir = download_and_unpack(module["url"])
|
||||
module_source_dir = download_and_unpack(module)
|
||||
print(f"Module '{module['name']}' downloaded successfully.")
|
||||
module_source_dirs.append(module_source_dir)
|
||||
# Configure and build modules
|
||||
@@ -87,13 +90,10 @@ def main():
|
||||
subprocess.call(["./configure", "--with-compat", *args], cwd=source_dir)
|
||||
subprocess.call(["make", "modules"], cwd=source_dir)
|
||||
# Copy .so files to module path
|
||||
for module in config["modules"]:
|
||||
module_name = module["name"]
|
||||
so_file = f"{module_name}.so"
|
||||
source_so_path = f"{source_dir}/objs/{so_file}"
|
||||
dest_so_path = f"{module_path}/{so_file}"
|
||||
print(f"Copying {source_so_path} to {dest_so_path}...")
|
||||
subprocess.call(["cp", source_so_path, dest_so_path])
|
||||
for child in Path(f"{source_dir}/objs").iterdir():
|
||||
if child.suffix == ".so":
|
||||
print(f"Copying module: {child.name}")
|
||||
subprocess.call(["cp", child.resolve(), module_path])
|
||||
print("All modules installed successfully.")
|
||||
|
||||
|
||||
|
||||
12
apps/nginx/ngx_modules.json
Normal file
12
apps/nginx/ngx_modules.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"modules": [
|
||||
{
|
||||
"name": "ngx_http_geoip2_module-3.4",
|
||||
"url": "https://github.com/leev/ngx_http_geoip2_module/archive/refs/tags/3.4.tar.gz"
|
||||
},
|
||||
{
|
||||
"name": "ngx_http_image_filter_module-master",
|
||||
"url": "https://github.com/linsongze/ngx_http_image_filter_module/archive/refs/heads/master.tar.gz"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user