~hnaguski/xmetagen

tools to generate and manage metapackages for xbps

~kota via inbox

7 months ago

c1a0f03 fix xmeta getopts

10 months ago
xmetagen
========

xmetagen is a small collection of scripts to facilitate custom metapackage
creation for void linux. Completions for zsh are included.

usage
-----

xmeta [-d DESC] [-v VERSION] METAPACKAGE DEPENDENCIES...
	xmeta creates and installs a metapackage named METAPACKGE with some
	dependencies.
	-d DESC to set a description for the metapackage.
	-v VERSION to set a version to the metapackage (version is 1 by default).

To store xmeta's local repository somewhere else, set XMETA_REPODIR. By default
it will be stored in "$XDG_DATA_HOME/xmeta". If XDG_DATA_HOME is unset,
"$HOME/.local/share/xmeta" is used.

If you want to require a certain version of a dependency, simply add the
appropriate version comparator. If omitted, any version (>=0) is accepted. See
xbps-install(1) for information about specifying versions.

xim METAPACKAGE
xqm METAPACKAGE
xrsm METAPACKAGE
	xim, xqm, and xrsm are used to get information about specific packages in
	the XMETA_REPODIR repository. They behave similarly to xtools' xim, xq, and
	xrs, (and by extension xbps-install and xbps-query) but only operate on the
	single repository.

xrmm PACKAGE
	This just runs sudo xbps-remove -r. I did write some completions for it to
	make it easy to use with metapackages from xmeta.

xir [-m MESSAGE] PACKAGES...
	xir is a wrapper for xtools' xi, which adds the -m option to add a message
	for installation to the XIR_HISTORY file (by default this is in your
	documents directory, but can be set manually).

what?
-----

Extra libraries are often needed when compiling software, but keeping them
around after compilation often takes up disk space (and bloats the ever
important package count!). To mitigate this issue, xmetagen provides tools to
easily manage metapackages for build dependencies (or anything else I guess).

how?
----

xbps makes it quite easy to create packages via xbps-create(1). First, a package
is created by supplying an architecture, version, description, and dependencies.
Next, it must be added to a repository. This is done via xbps-rindex(1).
Finally, we can install the package and it's dependencies using xbps-install(1).

help
----

If you have any ideas for any of the tools, or for a new tool, let me know by
sending a plain text email to ~hnaguski/inbox@lists.sr.ht