mkpk

06.08.2022

Најновији део дистрибуције Галеб, на којој радим последња два месеца, је систем за управљање пакетима 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‑ова за све пакете који ће ући у његов састав. Ипак, сада се већ назире тај тренутак.


Generated by slweb © 2020-2024 Strahinya Radich.