Најновији део дистрибуције Галеб, на којој радим последња два месеца, је систем за управљање пакетима mkpk. Његова основна идеја је слична идеји система mkbuild Хилтја Постхуме — систем за изградњу ОС-а Plan9 под називом mk се користи за изградњу пакета из изворног кода. mkfile-ови потребни за изградњу свих пакета који се користе у Галебу се налазе у једном репозиторијуму, и њиховом употребом је избегнут autoconf. Они су директно прилагођени изградњи конкретног пакета за Галеб.
Типична употреба mkpk-а за, рецимо, изградњу и инсталирање текстуалног Gopher клијента sacc би била:
# mkpk update # опционо; преузима најсвежије верзије mkfile-ова # mkpk fetch sacc # преузима потребне архиве изворног кода и смешта их у # директоријум /src/pkg # mkpk build sacc # изграђује sacc-[верзија].{tar.xz,sha512} и смешта их у # директоријум /pkg # mkpk install sacc # инсталира добијену архиву простим распакивањем у /
Информација о инсталираним пакетима се чува у датотеци /pkg/pkgdb.tsv, која је обична датотека у формату TSV. Ово знатно олакшава преглед и манипулацију тим информацијама. Рецимо, може се употребити мој програм table за приказ података о свим инсталираним пакетима:
$ tsvtable /pkg/pkgdb.tsv
или се може употребити grep за издвајање само информација о појединачном пакету:
$ grep "$(printf '^sacc\t')" /pkg/pkgdb.tsv sacc 1.06-10-gb567fed 2022-08-06 18:38
Ово би требало да је једна од последњих етапа пре него што коначно отворим репозиторијум Галеба за јавност, наравно ако се изузме писање великог броја mkfile-ова за све пакете који ће ући у његов састав. Ипак, сада се већ назире тај тренутак.