Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

Sortix cross-nightly manual

This manual documents Sortix cross-nightly. You can instead view this document in the latest official manual.

NAME

tix — package packagement

SYNOPSIS

tix [collection] [clean | create | fetch | install | metabuild | port | uninstall | upgrade] [options ...]

DESCRIPTION

tix is a networked binary package manager, which can also build binary packages from source port(5) files.
A tix installation is called a collection. The optional first operand specifies the path to a collection to act on, as made with the create command, defaulting to the root directory. The choice is forwarded as the -C option to all programs.
A tix installation ordinarily points to a remote tix channel or release per tix-release(8), from which packages and upgrades are obtained.
tix is the top-level driver for a suite of programs, and the next operand selects which program to invoke:
clean [...]
tix-clean(8) - Delete cached and temporary files in $collection/var/cache/tix.
create [-u url] [...]
tix-create(8) - Create and modify a tix collection.
fetch file ...
tix-fetch(8) - Download files from the release repository.
install package ...
tix-install(8) - Download and install packages.
metabuild port ...
tix-metabuild(8) - Build and install multiple port(5) files.
port port ...
tix-port(8) - Build and install a single port(5) file.
uninstall package ...
tix-uninstall(8) - Uninstall packages.
upgrade [...]
tix-upgrade(8) - Upgrade to a new release by redownloading all packages and reinstalling them.
Additionally the tix suite of programs contain the following low-level programs that are meant to be invoked directly and not through this top-level driver:
tix-autoupgrade(8)
daemon(7) for automatically upgrading to new releases in the background.
tix-build(8)
A low-level build program invoked by tix-port(8).
tix-eradicate-libtool-la(8)
A helper program that remove unnecessary libtool files from the staging directory during the port(5) build.
tix-execdiff(8)
Diff the executable permission between files in two directory trees.
tix-execpatch(8)
Apply the diff produced by tix-execdiff(8).
tix-iso-add(8)
Add additional files to a CD-ROM image as per release-iso-modification(7).
tix-iso-bootconfig(8)
Configure the bootloading of a CD-ROM release per release-iso-modification(7).
tix-iso-liveconfig(8)
Configure the live environment of a CD-ROM release per release-iso-modification(7).
tix-list-packages(8)
Compute the set of ports and their build order as per tix-metabuild(8.)
tix-release(8)
Publish tix releases and channels.
tix-repository(8)
Generate metadata for a tix repository.
tix-rmdiff(8)
Diff the removed files between files in two directory trees.
tix-rmpatch(8)
Apply the diff produced by tix-rmdiff(8).
tix-vars(8)
Evaluate variables in the port(5) format.

FILES

/tix/
The tix collection metadata directory.
/tix/collection.conf
collection.conf(5) configuration.
/tix/manifest/
Sorted file lists for every installed package.
/tix/tixinfo/
Metadata for every installed package.

EXIT STATUS

tix will execute the invoked subprogram and exit as it does.

EXAMPLES

Install a package

To install the foo package and its runtime dependencies:
tix install foo

Uninstall a package

To uninstall the foo package:
tix uninstall foo

Upgrade to a new release

To upgrade to a new release on the current channel:
tix upgrade
System installations will schedule the upgrade for the next boot, whereas non-system installations will upgrade immediately.

Download a binary package

To download a binary package or other metainformation from the repository:
tix fetch foo.tix.tar.xz

Third-party packages

Additional third party packages can be installed by creating another collection pointed to the appropriate channel and version:
tix /local create -u https://example.com/local/channel/stable/1.0 
tix /local install foo
Packages may require installation in a certain directory path, unless they happen to be location-independent.

Building third-party ports

All the packages in a third-party port(5) directory can be built from source and installed into any location:
tix /opt/initech metabuild /path/to/initech/ports
Use the --packages option to build a subset of packages. This method builds location-dependent packages with the right paths for the collection.

Publishing binary package releases on a channel

A third-party port(5) directory can be built as binary packages with the tix-metabuild(8) command, published as a signed release with tix-release(8), and the release can be put on a signed channel using tix-release(8). Users can then download the packages by creating a collection using tix-create(8) pointed to the appropriate channel or release. See the documentation for detailed examples.

SEE ALSO

collection.conf(5), port(5), tix-autoupgrade(8), tix-build(8), tix-clean(8), tix-create(8), tix-eradicate-libtool-la(8), tix-execdiff(8), tix-execpatch(8), tix-fetch(8), tix-install(8), tix-iso-add(8), tix-iso-bootconfig(8), tix-iso-liveconfig(8), tix-list-packages(8), tix-metabuild(8), tix-port(8), tix-release(8), tix-repository(8), tix-rmdiff(8), tix-rmpatch(8), tix-uninstall(8), tix-upgrade(8), tix-vars(8)

HISTORY

tix originally appeared in Sortix 0.8. It was expanded into a full networked package management solution in Sortix 1.1.
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org