mkpk

Најновији део дистрибуције Галеб, на којој радим последња два месеца, је систем за управљање пакетима mkpk. Његова основна идеја је слична идеји система mkbuild Хилтја Постхуме — систем за изградњу ОС-а Plan9 под називом mk се користи за изградњу пакета из изворног кода. mkfile-ови потребни за изградњу свих пакета који се користе у Галебу се налазе у једном репозиторијуму, и њиховом употребом је избегнут autoconf. Они су директно прилагођени изградњи конкретног пакета за Галеб.

mkpk

mkbuild

Хилтја Постхуме

mk

mkfile-ови

Типична употре��а 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

table

Ово би требало да је једна од последњих етапа пре него што коначно отворим репозиторијум Галеба за јавност, наравно ако се изузме писање великог броја mkfile-ова за све пакете који ће ући у његов састав. Ипак, сада се већ назире тај тренутак.