df
This commit is contained in:
@@ -722,18 +722,36 @@ def main() -> int:
|
|||||||
print(f" ✗ Error testing 'mm': {e}")
|
print(f" ✗ Error testing 'mm': {e}")
|
||||||
else:
|
else:
|
||||||
# POSIX (Linux/macOS)
|
# POSIX (Linux/macOS)
|
||||||
user_bin = home / ".local" / "bin"
|
# Check likely installation locations
|
||||||
mm_sh = user_bin / "mm"
|
locations = [home / ".local" / "bin" / "mm", Path("/usr/local/bin/mm"), Path("/usr/bin/mm")]
|
||||||
|
found_shims = [p for p in locations if p.exists()]
|
||||||
|
|
||||||
print(f"Checking for shim file:")
|
print(f"Checking for shim files:")
|
||||||
print(f" mm: {'✓' if mm_sh.exists() else '✗'} ({mm_sh})")
|
for p in locations:
|
||||||
|
if p.exists():
|
||||||
|
print(f" mm: ✓ ({p})")
|
||||||
|
else:
|
||||||
|
if args.debug:
|
||||||
|
print(f" mm: ✗ ({p})")
|
||||||
|
|
||||||
|
if not found_shims:
|
||||||
|
print(f" mm: ✗ (No shim found in standard locations)")
|
||||||
print()
|
print()
|
||||||
|
|
||||||
path = os.environ.get("PATH", "")
|
path = os.environ.get("PATH", "")
|
||||||
user_bin_str = str(user_bin)
|
|
||||||
in_path = user_bin_str in path
|
# Find which 'mm' is actually being run
|
||||||
|
actual_mm = shutil.which("mm")
|
||||||
print(f"Checking PATH environment variable:")
|
print(f"Checking PATH environment variable:")
|
||||||
print(f" {user_bin_str} in current session PATH: {'✓' if in_path else '✗'}")
|
if actual_mm:
|
||||||
|
print(f" 'mm' resolved to: {actual_mm}")
|
||||||
|
# Check if it's in a directory on the PATH
|
||||||
|
if any(str(Path(actual_mm).parent) in p for p in path.split(os.pathsep)):
|
||||||
|
print(f" Command is accessible via current session PATH: ✓")
|
||||||
|
else:
|
||||||
|
print(f" Command is found but directory may not be in current PATH: ⚠️")
|
||||||
|
else:
|
||||||
|
print(f" 'mm' not found in current session PATH: ✗")
|
||||||
print()
|
print()
|
||||||
|
|
||||||
# Test if mm command works
|
# Test if mm command works
|
||||||
@@ -1205,14 +1223,33 @@ if (Test-Path (Join-Path $repo 'CLI.py')) {
|
|||||||
|
|
||||||
else:
|
else:
|
||||||
# POSIX
|
# POSIX
|
||||||
user_bin = Path(
|
# If running as root (id 0), prefer /usr/bin or /usr/local/bin which are standard on PATH
|
||||||
os.environ.get("XDG_BIN_HOME",
|
if os.getuid() == 0:
|
||||||
str(home / ".local/bin"))
|
user_bin = Path("/usr/local/bin")
|
||||||
)
|
if not os.access(user_bin, os.W_OK):
|
||||||
|
user_bin = Path("/usr/bin")
|
||||||
|
else:
|
||||||
|
user_bin = Path(os.environ.get("XDG_BIN_HOME", str(home / ".local/bin")))
|
||||||
|
|
||||||
user_bin.mkdir(parents=True, exist_ok=True)
|
user_bin.mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
mm_sh = user_bin / "mm"
|
mm_sh = user_bin / "mm"
|
||||||
|
|
||||||
|
# Search PATH/standard locations for existing 'mm' shims to avoid conflicts
|
||||||
|
common_paths = [user_bin, Path("/usr/local/bin"), Path("/usr/bin"), home / ".local" / "bin"]
|
||||||
|
for p_dir in common_paths:
|
||||||
|
p_mm = p_dir / "mm"
|
||||||
|
if p_mm.exists() and p_mm.resolve() != mm_sh.resolve():
|
||||||
|
try:
|
||||||
|
# Only remove if it looks like one of our shims
|
||||||
|
content = p_mm.read_text(encoding="utf-8", errors="ignore")
|
||||||
|
if "Medeia" in content or "Medios" in content or "cli_entry" in content:
|
||||||
|
p_mm.unlink()
|
||||||
|
if not args.quiet:
|
||||||
|
print(f"Removed conflicting old shim: {p_mm}")
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
# Remove old launcher to overwrite with new one
|
# Remove old launcher to overwrite with new one
|
||||||
if mm_sh.exists():
|
if mm_sh.exists():
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user