⚙️ 🤖 mac-vendor: Aufruf über Symlink in ~/bin bricht — db.js wird im Symlink-Dir gesucht #2

Closed
opened 2026-08-12 13:42:16 +02:00 by holm · 0 comments
Owner
Dimension Bewertung Einschätzung
Aufwand ██░░░░░░░░ Gering — Symlink-Auflösung vor SELF_DIR
Nutzen █████████░ Sehr hoch — die dokumentierte Installation ist derzeit funktionsunfähig
Bruchhäufigkeit ██████████ Immer — jeder Aufruf über ~/bin/mac-vendor scheitert
Nachhaltigkeit █████████░ Sehr hoch — Standard-Deployment-Muster aller holm.tools-Scripts
Dringlichkeit ████████░░ Hoch — blockiert die Nutzung aus fremden Sessions komplett

Problem

mac-vendor.sh:14-15:

SELF_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
DB="${MAC_VENDOR_DB:-$SELF_DIR/db.js}"

BASH_SOURCE[0] ist beim Aufruf über einen Symlink der Symlink-Pfad, nicht das Ziel. Die in der README dokumentierte Installation

ln -sfn "$PWD/mac-vendor.sh" ~/bin/mac-vendor

führt damit zu:

$ mac-vendor count
error: DB nicht gefunden: /home/holm/bin/db.js

Direkter Aufruf (bash mac-vendor.sh count39516) funktioniert — der Fehler tritt ausschließlich über den dokumentierten Installationspfad auf.

Zweiter Teil: Executable-Bit fehlte

mac-vendor.sh war mit Modus 644 eingecheckt. Über den Symlink liefert das permission denied, noch bevor die DB-Auflösung greift. Beide Punkte zusammen machen die dokumentierte Installation unbenutzbar.

Fix

  • Symlink-Kette vor der SELF_DIR-Bestimmung auflösen (Schleife über readlink, ohne readlink -f — hält die dep-freie Zusage auch auf BusyBox)
  • Modus 755 einchecken
  • MAC_VENDOR_DB bleibt Vorrang-Override (unverändert)

Verifikation

mac-vendor count über den Symlink muss 39516 liefern, mac-vendor lookup EC:1C:5D:78:2E:F1Siemens AG.

🤖 angelegt von Claude v00 (API/Token holm)

| Dimension | Bewertung | Einschätzung | |---|---|---| | Aufwand | `██░░░░░░░░` | Gering — Symlink-Auflösung vor `SELF_DIR` | | Nutzen | `█████████░` | Sehr hoch — die dokumentierte Installation ist derzeit funktionsunfähig | | Bruchhäufigkeit | `██████████` | Immer — jeder Aufruf über `~/bin/mac-vendor` scheitert | | Nachhaltigkeit | `█████████░` | Sehr hoch — Standard-Deployment-Muster aller holm.tools-Scripts | | Dringlichkeit | `████████░░` | Hoch — blockiert die Nutzung aus fremden Sessions komplett | ## Problem `mac-vendor.sh:14-15`: ```bash SELF_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" DB="${MAC_VENDOR_DB:-$SELF_DIR/db.js}" ``` `BASH_SOURCE[0]` ist beim Aufruf über einen Symlink der **Symlink-Pfad**, nicht das Ziel. Die in der README dokumentierte Installation ```bash ln -sfn "$PWD/mac-vendor.sh" ~/bin/mac-vendor ``` führt damit zu: ``` $ mac-vendor count error: DB nicht gefunden: /home/holm/bin/db.js ``` Direkter Aufruf (`bash mac-vendor.sh count` → `39516`) funktioniert — der Fehler tritt **ausschließlich** über den dokumentierten Installationspfad auf. ## Zweiter Teil: Executable-Bit fehlte `mac-vendor.sh` war mit Modus `644` eingecheckt. Über den Symlink liefert das `permission denied`, noch bevor die DB-Auflösung greift. Beide Punkte zusammen machen die dokumentierte Installation unbenutzbar. ## Fix - Symlink-Kette vor der `SELF_DIR`-Bestimmung auflösen (Schleife über `readlink`, ohne `readlink -f` — hält die dep-freie Zusage auch auf BusyBox) - Modus `755` einchecken - `MAC_VENDOR_DB` bleibt Vorrang-Override (unverändert) ## Verifikation `mac-vendor count` über den Symlink muss `39516` liefern, `mac-vendor lookup EC:1C:5D:78:2E:F1` → `Siemens AG`. > 🤖 angelegt von Claude v00 (API/Token holm)
holm closed this issue 2026-08-12 13:44:13 +02:00
Sign in to join this conversation.
No description provided.