Ikey Doherty 5. septembrī izveidoja GitHub repozitoriju barney. Nedēļu vēlāk tajā ir 17 komiti un 14 faili. Rust koda ir divos failos kopā 440 baitu apjomā: viens ir tukša clap komandrindas struktūra, otrs ir cargo new atstātā funkcija, kas saskaita divus skaitļus. Lielākais fails repozitorijā ir 855 KB liels Ko-fi ziedojumu GIF.
Autors pats neapgalvo, ka rīks būtu gatavs. Barney ir domāts viņa YouTube sērijai par to, kā tiek būvēti īsti Linux distributīvi. Kods vēl nav sācies. Sācies ir projektēšanas darbs. Tas repozitorijā aizņem divus failus: DESIGN.md un test.kdl.
Ko paredz projektējums
DESIGN.md sākas ar sūdzību par binārajiem distributīviem. Pakotņu pārvaldnieki risina kompozīciju un atkarības jau uzbūvētiem artefaktiem, tāpēc versijas, konflikti un prioritātes tiek lietoti, lai lokāli atrisinātu problēmu, kas radusies repozitorija pusē. Doherty raksta, ka jebkuram binārajam distributīvam ir viens pamatdefekts: nav bootstrap atbalsta.
Barney vietā piedāvā uz avotiem balstītu dizainu ar pilnu ķēdes invalidāciju un kešatmiņu. Pakotne joprojām pastāv, bet tā ir tikai konkrētas pakotnes būvējums, ko adresē ar jaucējsummu. Ja tāda būvējuma kešatmiņā nav, tas tiek pārbūvēts un rindas aprēķins sākas no jauna. Vairākpakāpju bootstrap ir jāautomatizē tā, lai pārbūvēt varētu gan rīkkopu, gan visu apgriezto atkarību grafu.
Kā konkrētu ieguvumu Doherty min ciklisko atkarību pārraušanu starp util-linux un systemd. Katrs būvējums notiek atsevišķā konteinerā no kešotiem artefaktiem. Kešotais būvējums satur unikālos failus no DESTDIR formātā, kas piemērots patvaļīgai piekļuvei. No lokālas satura adresētas krātuves pēc pieprasījuma tiek uzģenerēts erofs attēls būvsaknei un instalācijām.
Bezstāvokļa izkārtojumu Doherty piesaka kā savu ideju. Viņš raksta, ka bijis Intel Clear Linux sākotnējā komandā un tur palīdzējis ieviest bezstāvokļa jēdzienu Linux distributīvos, pēc tam to gadiem virzījis Solus un Serpent OS jeb AerynOS. Vēlāk nozare to pieņēmusi ar nosaukumu hermētisks. Phoronix ziņo, ka Doherty plāno arī jaunu publisku pakotņu pārvaldnieku.
README mērķi apraksta vienā teikumā: no avotiem uzbūvēt pilnībā optimizētus, atjaunināšanai draudzīgus nemainīgus operētājsistēmas attēlus. Kešoto būvējumu glabāšanai Doherty grib izmantot attīstītu versiju no pieejas, ko pats radījis rīkā boulder AerynOS vajadzībām.
Receptes formāts ir KDL
Interesantākais fails repozitorijā ir test.kdl. Tā ir 2,5 KB liela receptes skice KDL formātā, kur redzams, kā Barney autors iedomājies pakotņu aprakstus. Formātā ir nosaukumvietas ar Rust stila kvalifikatoriem ::, mainīgo profili, moduļi ar darbībām un tipu anotācijas.
Piemērā darbība autotools::configure deklarē argumentus ar tipiem un noklusējumiem: prefix pēc noklusējuma ir /usr, enable saraksts sākas ar shared, disable saraksts ar static. Bloks execute no šiem argumentiem izraksta čaulas skriptu ar emit komandām. Vides eksportu bloks stāv atsevišķi. Komentārs skaidro, kāpēc: eksportētie mainīgie definē glabāšanas ķēdi jaucējalgoritmam.
Testa pakotne skicē ir LLVM 23.1.0. Starp tās licencēm ierakstīts chicken, bet čaulas izsaukumā stāv echo "What's the story in balamorey". Kods, kas šo formātu nolasītu, repozitorijā vēl nav.
Par rīka gatavību liecina arī atkarību saraksts. Cargo.lock satur vienu īstu atkarību: clap komandrindas parsētāju ar tā palīgpakotnēm. Darbtelpā ir divi locekļi, barney un crates/recipe. Otrais pagaidām satur tikai cargo šablona funkciju. Receptes parsētāja, kešatmiņas, konteineru dzinēja un pakotņu pārvaldnieka repozitorijā vēl nav, tāpēc neviena no DESIGN.md aprakstītajām īpašībām pašlaik nav pārbaudāma kodā.
Iemesls ir Omarchy finansējums
README pasaka iemeslu tieši. Doherty raksta, ka no pensijas viņu izvilcis riebums un izbrīns: vispirms par to, ka Omarchy saņēmis ap 13 miljoniem dolāru finansējuma par būtībā respinu, pēc tam par DHH izteikumiem.
Kā īru travelleru kopienas pārstāvis es stingri nosodu šādu retoriku pret jebkuru nomadu tautu.
Doherty precizē, ka vispārēja lietojuma operētājsistēmu negatavo. Viņš grib parādīt nozarei, kas ir gatava finansēt DHH un ar viņu saistītos projektus, ka tie cilvēki, kurus DHH nicina, spēj to izdarīt labāk bez 13 miljoniem. Rīks nosaukts viņa dēla Barney vārdā. Iepriekšējais Doherty būvrīks saucās boulder, tāpēc vārdu spēle ar Barney Rubble likusies par jautru, lai to ignorētu.
Iepriekšējie projekti palika citiem
Repozitorijā jau ir FUNDING.yml un Ko-fi biedru piedāvājums, kas par maksu dod aizkulišu materiālus un arhitektūras lēmumu skaidrojumus. Ilgtermiņa uzturēšanu Doherty neplāno. Tas sakrīt ar to, kas notika ar viņa iepriekšējiem projektiem. Pirmo Solus viņš slēdza 2013. gadā, pēc četriem mēnešiem atgriezās ar Evolve, ko preču zīmes strīda dēļ pārsauca par Solus OS. 2014. gadā viņš uzsāka Budgie darbvirsmu. Serpent OS sākās 2020. gadā, 2025. gada februārī to pārsauca par AerynOS. Pēc Linuxiac ziņām 2025. gada novembrī Doherty ar AerynOS komandu nebija sazinājies pusgadu. Abus projektus tagad uztur kopiena.
Barney repozitorijam pirmajā nedēļā ir 94 zvaigznes un viens forks. Licence ir MPL-2.0. YouTube sērija sākas ar epizodi numur 0.
Avoti
- GitHub: TravellingEngineer/barney
- Phoronix: Ikey Doherty Plans To Show How To “Properly” Build A Modern Linux Distro
- Linuxiac: Another Comeback, Another Linux Project: Ikey Doherty Introduces Barney
- It’s FOSS: Ikey Doherty vs Omarchy: Why He’s Building Barney Instead of Another Distro
- Linuxiac: Ikey Doherty Missing from AerynOS for Six Months
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.