feature/generador-instaladores-linux-windows
This commit is contained in:
@@ -27,11 +27,24 @@ Driver={driver_line}
|
||||
UsageCount=1
|
||||
"""
|
||||
else:
|
||||
# Los .so embebidos viven en config/odbc/lib (no en la raíz). Buscar ahí
|
||||
# primero y usar SIEMPRE la ruta absoluta del archivo versionado real
|
||||
# (p. ej. libmsodbcsql-18.5.so.1.1); un nombre suelto como
|
||||
# "libmsodbcsql-18.so" no resuelve porque ese symlink apunta a /opt.
|
||||
lib_dir = odbc_dir / "lib"
|
||||
search_dirs = [d for d in (lib_dir, odbc_dir) if d.is_dir()]
|
||||
so_path = None
|
||||
for pattern in ("libmsodbcsql-18*.so*", "msodbcsql-18*.so*"):
|
||||
matches = list(odbc_dir.glob(pattern))
|
||||
if matches:
|
||||
so_path = matches[0]
|
||||
for base in search_dirs:
|
||||
# Preferir el archivo real versionado sobre symlinks (que pueden estar rotos).
|
||||
candidates = sorted(
|
||||
(p for p in base.glob("libmsodbcsql-18*.so*") if p.is_file() and not p.is_symlink()),
|
||||
key=lambda p: len(p.name),
|
||||
reverse=True,
|
||||
)
|
||||
if not candidates:
|
||||
candidates = [p for p in base.glob("libmsodbcsql-18*.so*") if p.exists()]
|
||||
if candidates:
|
||||
so_path = candidates[0]
|
||||
break
|
||||
driver_line = str(so_path.resolve()) if so_path else "libmsodbcsql-18.so"
|
||||
content = f"""[ODBC Driver 18 for SQL Server]
|
||||
|
||||
Reference in New Issue
Block a user