Jeder der mit einem Mac arbeitet und schon einmal versucht hat ein WordPress Theme auf wordpress.org zu veröffentlichen wird mit allergrößter Wahrscheinlichkeit darauf hingewiesen, dass sich bestimmte Dateien in dem Verzeichnis befinden, die dort nicht hingehören. Dies ist im Normalfall eine Datei mit dem Namen .DS_Store sein. Diese Dateien sind für gewöhnlich unsichtbar. MacOSX speichert hier die Datei- und Ordnerstruktur, sowie Informationen zu Datei-Icons etc. ab. Diese Datei wird automatisch angelegt. Selbst wenn man die .DS_store Datei löscht, wird sie kurze Zeit später automatisch wieder angelegt.

Gerade bei dem Einreichen eines WordPress Themes in das offizielle wordpress.org Verzeichnis ist dies besonders ärgerlich. Hier werden die .zip Ordner automatisch überprüft und gar nicht erst zu dem Review Prozess zugelassen, sollte sich eine entsprechende Datei in ihnen befinden. Man müßte also irgendwie diese Dateien aus einem .zip Paket entfernen können…

Die .DS_Store Dateien sauber aus einem ZIP archiv entfernen

Hier kommt mal wieder das Terminal ins Spiel. Die meisten Entwickler werden ihr Terminal eh irgendwo griffbereit angelegt haben. Für alle anderen: Unter MacOSX einfach oben rechts auf das Suchsymbol klicken und nach „terminal“ suchen.
Ist das Terminal geöffnet, erst einmal in das Verzeichnis wechseln in dem die .zip Datei liegt. Z.B mit:
cd /ordner/mit/zip/

Hier dann folgenden Befehl eingeben:
zip -d deinarchiv.zip \*.DS_Store
Dabei natürlich deinarchiv.zip mit dem Dateinamen der tatsächlichen Datei ersetzen.

Ein weiteres Problem: Der _MACOSX Ordner

Nutzt man die Betriebssystem eigene ZIP Komprimierung (rechte Maustaste und dann „Datei komprimieren“) legt MacOSX einen Ordner in diesem Archiv an. Dieser nennt sich __MACOSX und enthält die Komprimierungs-Informationen. Entpackt man das ganze wieder auf einem Mac ist es kein Problem. Auch auf Linux oder Win Rechnern stöhrt es nicht weiter. der Ordner hat dort schlicht keine Funktion. Aber nutzt man ein .zip Archiv als Installationsdatei, z.B. als Theme für WordPress oder Template für Joomla, kann es hier zu häßlichen Fehlermeldungen kommen.
Daher sollte man entweder ein anderes Tool zur Komprimierung nutzen (z.B. YemuZip aus dem AppStore), oder diesen Ordner wieder entfernen.
Dies geht wie gehabt wieder im Terminal.
Ist man in dem Verzeichnis in dem die .zip Datei liegt einfach folgenden Befehl ausführen:
zip -d deinarchiv.zip "__MACOSX*"
Natürlich wieder deinarchiv.zip mit dem tatsächlichen Dateinamen ersetzen.

Fazit

Fertig. Mit zwei einfachen Terminal Befehlen hat man ein sauberes .zip Archiv das sich als Installationsdatei verwenden läßt. WordPress Themes lassen sich so bei wordpress.org einreichen und Joomla Templates können ohne häßliche Fehlermeldung installiert werden.

Bisherige Kommentare (Selber ein Kommentar hinterlassen)

  • Holger sagt:

    uups, da hast du natürlich recht…

  • Ulf sagt:

    Hi Holger,

    ich bin durch eine Recherche über ACF auf deine Seite gekommen. Und musste natürlich auch ein wenig stöbern :D

    Habe hier bei diesem Post einen kleinen Fehler gefunden. Du schreibst weiter oben:

    zip -d file.zip \*.DS_Store
    Dabei natürlich deinarchiv.zip mit dem Dateinamen der tatsächlichen Datei ersetzen.

    Wahrscheinlich sollte es:

    zip -d deinarchiv.zip \*.DS_Store
    Dabei natürlich deinarchiv.zip mit dem Dateinamen der tatsächlichen Datei ersetzen.

    heißen, oder halt anders herum :)

    Auf jeden Fall ein interessanter Blog, den ich wohl in Zukunft weiter besuchen werde.

    Beste Grüße,
    Ulf


Kommentar schreiben (* Pflichtfelder)