Për realizimin në Fedora 33 rregullat e përdorimit të kompilatorëve në distribucion, në përputhje me të cilat kompilatori për ndërtimin e paketës do të zgjidhet në varësi të rekomandimeve dhe preferencave të projektit kryesor (upstream). Aktualisht në Fedora është rreptësisht e detyrueshme përdorimi i GCC për ndërtimin e të gjitha paketeve, përveç rasteve kur paketa mund të ndërtohet vetëm me Clang/LLVM.
Motivi për lejen e ndërtimit me Clang është se disa projekte, për shembull, dhe , në zhvillim përdorin Clang si kompilatorin kryesor dhe ndërtimet mbi këtë bazë janë testuar me cilësi më të lartë. Përdorimi i Clang për këto paketa do të ndihmojë në shmangien e kapjes së gabimeve që shfaqen gjatë ndërtimit në GCC, si dhe në përputhjen e korrigjimeve të këtyre gabimeve me projektin kryesor. Ndërtimi me GCC ndikon pozitivisht në ruajtjen e portativitetit të kodit, i zhvilluar duke përdorur Clang, por krijon një ngarkesë më të madhe për ata që mbikëqyrin dhe vonon publikimin e përditësimeve (për shembull, Mozilla përdorimin e markës tregtare Firefox kur përdoren patch-e të jashtme, prandaj duhet fillimisht të arrihet përfshirja e patch-eve në përbërjen kryesore dhe të lëshohet një përditësim vetëm pas shfaqjes së korrigjimeve në upstream).
Vërehet se do të ishte logjike të përdoret Clang për paketa për të cilat ky kompilator është më i përshtatshëm dhe përdoret në projektin kryesor. Për këto paketa do të ishte e mundur të pakësohej ngarkesa e mbikëqyrjes, nëse përgatitja e paketeve bëhet nga përfaqësues të projektit kryesor. Nëse ndërtimi i paketës bëhet nga një përfaqësues nga komuniteti, atëherë sugjerohet t'i jepet mundësia e zgjedhjes së kompilatorit mbajtësit. Për paketat, për të cilat projektet kryesore nuk preferojnë një kompilator të caktuar, rekomandohet që të ruhet status quo (të ndërtohet në GCC sikurse më parë). Propozimi është bërë nga Jeff Law nga Red Hat, i cili është një nga mbajtësit e GCC dhe Binutils.
Burimi: opennet.ru
