Ubuntu Packaging Guide nun vollständig und bereit zum Upload

Ich freue mich, heute meine deutsche Übersetzung für den „Ubuntu Packaging Guide“ fertig gestellt zu haben. Sie ist nun bereit zum Upload jedoch fehlen mir zur Zeit noch die nötigen Zugangsrechte. Scheinbar muss ich mich erst dem deutschen Ubuntu-Übersetzerteam anschließen. Dabei gehe ich davon aus, dass dies kein großes Problem sein wird.

Ansonsten hat mir auch der Maintainer des Projekts zugesagt, dass er meine .po-Datei aufnehmen wird.

Freut euch also, die Geheimnisse des Ubuntu-Paketbaus bald auch vollständig in deutscher Sprache lesen zu können.

Ansonsten ist noch geplant, die Blogreihe zum Thema wine weiter zu übersetzen. Dort erschienen in der Zwischenzeit mehrere Texte im Codeweavers Blog.

Ubuntu Packaging Guide in der Übersetzung

Im Rahmen meines Kleinunternehmens engagiere ich mich auch sehr viel ehrenamtlich für freie Software und habe mir diesbezüglich ein kleines Projekt vorgenommen:

Am Montag war ich im IRC beim Ubuntu-Lokalisierungstreffen und habe dort einige neue Leute kennen gelernt. Dabei fiel mir auf, dass das deutsche Paketierungshandbuch noch einige Lücken enthielt, die ich nun durch tägliche Arbeit zu stopfen versuche.

Seit Montag Abend habe ich mir ein festes Pensum von 10 Strings (Zeichenketten) gesetzt, die ich nun täglich übersetze. Ich verwende hierfür Lokalize, eine KDE-Anwendung zur Lokalisierung von .po-Dateien. Damit geht die Arbeit relativ fix von der Hand und wenn man sich tägliche Ziele setzt hilft dies auch.

Mittlerweile ist die Anzahl von „untranslated strings“ auf 55 geschmolzen und ich hoffe, in der kommenden Woche die vollständige Datei und das .diff über die Ubuntu-Mailingliste verbreiten zu können.

Amiga Days – Wine-Test von Ports of Call – A Tribute to Dagobertshausen (Malsfeld)

Dieser Artikel ist meinen Freunden in Dagobertshausen, einem Ortsteil von Malsfeld in Nordhessen gewidmet.

In den 80er Jahren war ich stolzer Besitzer eines Commodore Amiga 500 in einer Sonderedition, die von der kürzlich verstorbenen Moderatorin Stefanie Tücking gestaltet wurde.

Diese Sonderedition bot ein Tigerfell-artiges Design auf der Tastatur und wurde im Laufe der Zeit stetig aufgerüstet. Es war die Zeit meiner Konfirmation wobei sich viele meiner Mitschüler regelrechte HiFi-Tempel ins Zimmer stellten. Persönlich war HiFi nicht sonderlich meins und ich stecke mein ganzes Konfirmationsgeld in meinen Amiga-Computer. So nannte ich bald RAM-Erweiterung, Nordic-Power-Modul, zwei externe Laufwerke (3,5 Zoll und sogar 5,25 Zoll) mein Eigen.

Oft besuchte ich meine (mittlerweile verstorbene) Großmutter in Malsfeld-Dagobertshausen, tauschte dort mit Freunden zahlreiche Amigaspiele und unterhielt mich viel über die neuesten Spiele bis ich mir letztendlich einen IBM-kompatiblen PC (ebenfalls von Commodore) kaufte.

Der Amiga war und ist in diesem Ort immer noch sehr beliebt und so freut es mich heute, einen besonderen Wine-Test zu präsentieren:

Ein sehr beliebtes Spiel zu Amigazeiten war „Ports of Call“ wobei ich anfangs nur die englische Version besaß. Dies war eher unüblich.

Jedenfalls kann man diesen Titel nach wie vor käuflich erwerben und unter wine 4.0-rc2 hatte ich keinerlei Probleme, so dass ich guten Gewissens „Platinum“ vergeben konnte. Weiterhin wurden einige Screenshots gemacht und in die AppDB hochgeladen.

Ich habe mir selbst eine Silber-Lizenz des Spiels gekauft und bin mittlerweile auch Maintainer dieser Anwendung in der AppDB. Gleichzeitig möchte ich dazu aufrufen, von Software-Piraterie des Spiels abzusehen, da es ein wirklich guter Titel ist und die Lizenzkosten fair sind.  

Möchtet ihr weitere wine-Reviews? Sofern es mir möglich ist, teste ich gerne gegen eine kleine Spende über PayPal für euch mit der neuesten Entwicklerversion. Bitte schreibt eure Wünsche in die Kommentare und gebt nach Möglichkeit auch Download-Links zu eventuellen Demoversionen zum Test. Vertrauliche Informationen können an info@linuxandlanguages.com gesendet werden.
 

Arbeiten mit Wine – Teil 1 – Das Wine-Ökosystem (Deutsche Übersetzung)

Dieser Text wurde von CodeWeavers  unter einer freien Lizenz im offiziellen Blog veröffentlicht wobei ich mir die Freiheit genommen habe, diesen Text zu übersetzen und den Interessenten an Wine, sei es Linux oder macOS zur Verfügung zu stellen.

 Über diese Hilfen

Dies ist eine Serie von  Hilfen, die darauf abzielen, Softwareentwickler in das Wine-Ökosystem einzuführen. Es wird was Wine ist, wie man Wine benutzt, wie man Wine debugt, wie man Wine repariert und was man mit der Korrektur macht sobald man es geschafft hat.

Diese Handbücher werden im Laufe des Januars veröffentlicht werden.

  • Teil 1 beschreibt was Wine ist und bietet eine kurze Beschreibung verschiedener bekannter Forks von Wine.
  • Teil 2 beschreibt Wine’s Buildprozess.
  • Teil 3 beschreibt wie man Wine als Entwickler nutzt.
  • Teil 4 beschreibt wie man allgemein Wine debugt.
  • Teil 5 beschreibt Wines Quellbaum-Aufbaum und wie man die Quellen bearbeitet.
  • Teil 6 beschreibt wie man seine Arbeit „upstream“ senden kann.

Was ist Wine?

Wine ist eine Open Source Reimplementierung von Microsofts Windows Betriebssystem auf Basis von verschiedenen Unix Betriebssystemen. Es zielt vorrangig auf Linux und macOS ab, kann aber auf anderen Systemen wie FreeBDS, NetBSD und Solaris laufen. Dies bedeutet für Benutzer, dass sie Software, die für Windows geschrieben wurde, auf anderen Systemen laufen lassen können. Wine beinhaltet keinen Microsoft-eigenen Code womit kein Bedarf an einer Windowslizenz zum Betrieb von Wine nötig ist. Stattdessen haben die Wine-Entwickler Komponenten des Windows-Betriebssystems neu geschrieben. So denkt die Software, dass sie auf Windows läuft obwohl sie tatsächlich auf Linux beispielsweise betrieben wird.

Als ein einfaches Beispiel betrachten wir die Windows CreateFile API. Auf Windows könnte der Aufruf einer Anwendung wie folgt aussehen:

    CreateFileA(
        "C:\some_file.txt",   //lpFileName
        GENERIC_WRITE,         //dwDesiredAccess
        0,                     //dwShareMode
        NULL,                  //lpSecurityAttributes
        CREATE_ALWAYS,         //dwCreationDisposition
        FILE_ATTRIBUTE_NORMAL, //dwFlagsAndAttributes
        NULL                   //hTemplateFile
    );

Wine übernimmt diesenCreateFileA Aufruf und übersetzt diesen in einen Unix open Aufruf:

    open(
        "/home/aeikum/.wine/drive_c/some_file.txt", //path
        O_WRONLY | O_CREAT,                         //oflag
        0644                                        //creation mode
    );

Das Filehandle wird der Anwendung zurück gemeldet, welche dann in die Dateie mit einer ähnlichen Implemtierung schreiben kann. Beispielsweise wäre dies WriteFile auf Unix’s write. Natürlich ist die tatsächliche Implementierung von CreateFileA in Wine weit, weit komplizierter als dies (siehe Konvertierung von Pfaden beispielsweise) aber dies vermittelt einen Eindruck, was Wine macht.

Wine Forks

Da Wine ein Open Source Projekt ist, steht es jedem offen, Kopien zu erstellen und diese zu modifizieren um den Bedürfnissen der jeweiligen Benutzer zu entsprechen. Es gibt Hunderte von Wine-Forks aber einige davon wurden sehr bekannt und werden hier beschrieben.

„Upstream“ Wine

Webseite: https://www.winehq.org/
Dies ist die reine Version von Wine von der alle anderen Forks abgeleitet werden. Wenn sich jemand auf „Upstream Wine“ beruft, spricht er von diesem Projekt. Wine fokussiert primär auf Richtigkeit. Wine beinhaltet extensive Unittests, welche das Verhalten von Windows zeigen und verlangt von den meisten Patches, dass sie Tests liefern. Alle Patches müssen die bestehenden Tests erfolgreich durchlaufen damit sie akzeptiert werden. Es gibt ebenso eine starke Fokussierung auf Code-Qualität. Wine ist ein sehr großes Projekt (eigentlich ein ganzes Betriebssystem inkl. GUI) wobei Technische Schulden stark vermieden werden damit das Projekt wartbar im Laufe der Zeit bleibt.

Wine Staging

Webseite: https://wiki.winehq.org/Wine-Staging
Dennoch bedeutet Wines strenge Akzeptanz von Patches, dass viele ungetestete, falsche oder gefährliche Patches in privaten Forks oder im Bugtracken sich sammeln würden. Diese könnten aber für heutige Nutzer durch aus nützlich sein. Das Wine Staging Projekt (auch „wine-staging“ genannt) ist ein Versuch, diese nützlichen Patches zu sammeln so dass Nutzer leicht Vorteile darauf ziehen können. Die Wine Staging Community arbeitet daran, diese Patches in Wine zu bringen damit der Nutzen für alle Winenutzer und Forks zu Gute komme wobei gleichzeitig Wine Stagings eigene Wartung sinkt. Es kann auch als „Bewährungsfeld“ für Patches dienen die eine schwere Bewährung haben bevor sie Upstream akzeptiert werden.

CrossOver

Webseite: https://www.codeweavers.com/
CrossOver ist ein kommerzieller Fork von Wine, welcher von der Firma CodeWeavers verkauft wird. Es beinhaltet viele anwendungs-spezifische Hacks, die nicht zum Einbinden in Upstream geeignet sind.CodeWeavers unterhält ebenso eine Anwendungs-Kompatibilitäts-Datenbank welche einige Softwarekomponenten vorab installiert und die Wineumgebung entsprechend modifiziert. Dennoch zieht es CodeWeavers stark vor, Features richtig zu implementieren und sendet die Arbeit an „Upstream Wine“. CodeWeavers Mitarbeiter leisten einen bedeutenden Beitrag bei der Arbeit an Wine.

Proton

Webseite: https://github.com/ValveSoftware/Proton/

Proton ist ein Fork, welcher von der Firma Valve erstellt wurde und in ihre Steam Software, eine bedeutende Videospiel und Programm-Plattform, integriert ist. Proton fokussiert sich darauf, ein angenehmes Erlebnis für Steamnutzer beim Betrieb von Windowstiteln auf Linux zu bieten. Wie auch bei CrossOver, werden die meisten der Beiträge auch an „Upstream Wine“ geschickt.

Andere Forks

Es gibt sehr, sehr viele andere Forks von Wine. Manche werden mit kommerzieller Software paketiert und als macOS und Linux-Software verkauft. Manche sind einmalige Forks, die von Benutzern für eine einzelne Anwendung erstellt  wurden.

Entwickeln für Wine

Wine ist nicht perfekt und es ist wahrscheinlich, dass man auf einen Mangel oder Bug im Tagesbetrieb von Wine stößt. Vielleicht sind Sie interessiert daran, Wine zu verbessern damit es ihre Anwendung oder Spiel in Betrieb nimmt oder vielleicht will ihr Arbeitgeber Wine verwenden und Sie bezahlen, es zu beheben. Dieses Handbuch wird Sie darin unterstützen wie man Wine kompilieren, Debuggen und beheben kann und wie man diese Fixes upstream sendet.

Creative Commons License
The text of this blog post is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

CrossOver-Übersetzung wieder auf dem neuesten Stand

Gestern erreichte mich eine Email des CrossOver-Lokalisierungsprojektleiters, dass einige Änderungen in der Lokalisierung von CrossOver wieder anstehen. Insbesondere freute es mich auch, zu hören, dass nun auch Tschechisch unterstützt wird. Es ist schön, dass CrossOver nach und nach immer mehr Sprachen unterstützt.

Ich habe die Aktualisierungen für Deutsch eben durchgeführt und die Übersetzungen sind nun auf dem neuesten Stand und vollständig.