Fedora plant, die Möglichkeit bereitzustellen, Pakete in Clang statt in GCC zu erstellen

Zur Implementierung in Fedora 33 umrissen ändern Regeln für die Verwendung von Compilern in der Distribution, nach denen der Compiler zum Erstellen des Pakets abhängig von den Empfehlungen und Vorlieben des Hauptprojekts (Upstream) ausgewählt werden kann. Fedora erzwingt derzeit die Verwendung von GCC zum Erstellen aller Pakete, es sei denn, das Paket kann nur in Clang/LLVM erstellt werden.

Der Grund für die Bereitstellung der Möglichkeit zum Erstellen mit Clang liegt darin, dass einige Projekte, z. Firefox и Chrom, während der Entwicklung verwenden sie Clang als Hauptcompiler und darauf basierende Assemblys werden besser getestet. Durch die Verwendung von Clang für solche Pakete wird vermieden, dass Fehler erkannt werden, die beim Erstellen in GCC auftreten, und die Korrekturen dieser Fehler werden mit dem Hauptprojekt koordiniert. Das Erstellen mit GCC wirkt sich positiv auf die Aufrechterhaltung der Portabilität von mit Clang entwickeltem Code aus, stellt jedoch eine größere Belastung für die Betreuer dar und verzögert die Veröffentlichung von Updates (z. B. Mozilla). verbietet Verwenden Sie das Firefox-Markenzeichen, wenn Sie Patches von Drittanbietern anwenden. Daher müssen Sie zunächst sicherstellen, dass die Patches im Hauptstream enthalten sind, und das Update erst veröffentlichen, nachdem die Fixes im Upstream erschienen sind.

Es wird darauf hingewiesen, dass es logisch wäre, Clang für Pakete zu verwenden, für die dieser Compiler besser geeignet ist und im Hauptprojekt verwendet wird. Für solche Pakete wäre es möglich, den Wartungsaufwand zu reduzieren, wenn die Pakete von Vertretern des Hauptprojekts erstellt würden. Wenn ein Vertreter der Community das Paket erstellt, wird vorgeschlagen, dem Betreuer die Möglichkeit zu geben, einen Compiler auszuwählen. Für Pakete, deren Hauptprojekte den einen oder anderen Compiler nicht bevorzugen, wird empfohlen, den Status Quo beizubehalten (wie bisher in GCC erstellen). Der Autor des Vorschlags ist Jeff Law von Red Hat, einer der GCC- und Binutils-Betreuer.

Source: opennet.ru

Kommentar hinzufügen