This change imports the ports collection from the former porttix and srctix repositories and converts them to port(5) files with metadata pointing to the upstream release tarballs with patches checked into this repository. Ports are now developed and versioned along with the operating system and are automatically built per the PACKAGES environment variable. The patches are licensed under the same license as the relevant ports. Tix has gained support for the new port(5) format. tix-port(8) is the new high level ports build even point that handles downloading pstream releases into the new mirror cache directory, applying the patches, building the port with the lower-level tix-build(8), and finally installing the binary package. The new tix-vars(8) program parses port(5) files and the new tix-rmdiff(8) program produces input for tix-rmpatch(8). The old doc/ directory is discontinued in favor of manual pages documenting the new ports system. The obsolete porttix-create(8) and srctix-create(8) programs are removed.
170 lines
3.9 KiB
Groff
170 lines
3.9 KiB
Groff
.Dd April 12, 2022
|
|
.Dt TIX-BUILD 8
|
|
.Os
|
|
.Sh NAME
|
|
.Nm tix-build
|
|
.Nd build a port
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl \-build Ns = Ns Ar triplet
|
|
.Op Fl \-destination Ns = Ns Ar directory
|
|
.Op Fl \-end Ns = Ns Ar step
|
|
.Op Fl \-exec-prefix Ns = Ns Ar prefix
|
|
.Op Fl \-generation Ns = Ns Ar level
|
|
.Op Fl \-host Ns = Ns Ar triplet
|
|
.Op Fl \-make Ns = Ns Ar path
|
|
.Op Fl \-makeflags Ns = Ns Ar makeflags
|
|
.Op Fl \-prefix Ns = Ns Ar prefix
|
|
.Op Fl \-source-package Ns = Ns Ar source-package
|
|
.Op Fl \-source-port Ns = Ns Ar source-port
|
|
.Op Fl \-start Ns = Ns Ar step
|
|
.Op Fl \-sysroot Ns = Ns Ar directory
|
|
.Op Fl \-tar Ns = Ns Ar path
|
|
.Op Fl \-target Ns = Ns Ar triplet
|
|
.Op Fl \-tmp Ns = Ns Ar directory
|
|
.Ar port
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
builds a source code directory containing a
|
|
.Xr port 5
|
|
of software for this operating system.
|
|
.Nm
|
|
is usually invoked through the higher level
|
|
.Xr tix-port 7 .
|
|
.Pp
|
|
The mandatory
|
|
.Ar port
|
|
argument is the directory containing the source code.
|
|
The
|
|
.Xr port 5
|
|
file containing the build instruction is found by adding
|
|
.Pa .port
|
|
to this path, or if it does not exist then
|
|
.Pa tix.port
|
|
inside the directory.
|
|
.Pp
|
|
The options are as follows:
|
|
.Bl -tag -width "12345678"
|
|
.It Fl \-build Ns = Ns Ar triplet
|
|
The platform
|
|
.Ar triplet
|
|
for the machine the port is built on.
|
|
(Default: Automatically detected.)
|
|
.It Fl \-destination Ns = Ns Ar directory
|
|
The binary package is placed inside this
|
|
.Ar directory .
|
|
.It Fl \-end Ns = Ns Ar step
|
|
Stop the build after this
|
|
.Ar step :
|
|
.Pp
|
|
.Bl -tag -width "clean, pre-clean" -compact
|
|
.It start
|
|
The start step before anything has happened.
|
|
.It clean, pre-clean
|
|
Clean the source directory before the build.
|
|
.It configure
|
|
Configure the port.
|
|
.It build
|
|
Build the port.
|
|
.It install
|
|
Install the port into the
|
|
.Ev DESTDIR .
|
|
.It post-install
|
|
Run the post-installation script.
|
|
.It post-clean
|
|
Clean the source code after the port.
|
|
.It package
|
|
Create the binary package.
|
|
.It end
|
|
The end step after everything has happened.
|
|
(Default)
|
|
.El
|
|
.It Fl \-exec-prefix Ns = Ns Ar prefix
|
|
The
|
|
.Ar prefix
|
|
where architecture dependent files are installed.
|
|
(Default:
|
|
.Fl \-prefix )
|
|
.It Fl \-generation Ns = Ns Ar generation
|
|
Create a binary package in the format of this tix generation
|
|
.Ar level .
|
|
(Default: 2)
|
|
.It Fl \-host Ns = Ns Ar triplet
|
|
The platform
|
|
.Ar triplet
|
|
for the machine the port will run on.
|
|
(Default:
|
|
.Fl \-build )
|
|
.It Fl \-make Ns = Ns Ar path
|
|
Which
|
|
.Xr make 1
|
|
to use.
|
|
(Default:
|
|
.Ev MAKE
|
|
if set and otherwise
|
|
.Xr make 1 )
|
|
.It Fl \-makeflags Ns = Ns Ar makeflags
|
|
Override the
|
|
.Ev MAKEFLAGS
|
|
variable inherited by make.
|
|
.It Fl \-prefix Ns = Ns Ar prefix
|
|
Build the port into this
|
|
.Ar prefix .
|
|
(Default: The empty prefix designating the root directory)
|
|
.\" After releasing Sortix 1.1, remove this option.
|
|
.It Fl \-source-package Ns = Ns Ar source-port
|
|
Deprecated alias for
|
|
.Fl \-source-port
|
|
that will be removed after the next release.
|
|
.It Fl \-source-port Ns = Ns Ar source-port
|
|
The source code for the
|
|
.Sy SOURCE_PORT
|
|
per
|
|
.Xr port 5
|
|
is found in the
|
|
.Ar source-port
|
|
directory.
|
|
.\" TODO: This is different from tix-port(8).
|
|
.\"(Default: ../$SOURCE_PORT/$SOURCE_PORT)
|
|
(Default: $SOURCE_PORT)
|
|
.It Fl \-start Ns = Ns Ar step
|
|
Start the build at this step (see
|
|
.Fl \-end ) .
|
|
(Default:
|
|
.Sy start )
|
|
.It Fl \-sysroot Ns = Ns Ar directory
|
|
The system root to use while building and installing the port.
|
|
The toolchain is wrapped to transparently use this sysroot during the build.
|
|
.It Fl \-tar Ns = Ns Ar path
|
|
Which
|
|
.Xr tar 1
|
|
to use during the build.
|
|
(Default:
|
|
.Xr tar 1 )
|
|
.It Fl \-target Ns = Ns Ar triplet
|
|
The port's outputs targets this platform
|
|
.Ar triplet .
|
|
(Default:
|
|
.Fl \-host )
|
|
.It Fl \-tmp Ns = Ns Ar directory
|
|
Place temporary files in this
|
|
.Ar directory .
|
|
(Default:
|
|
.Ev TMPDIR
|
|
if set otherwise
|
|
.Pa /tmp )
|
|
.El
|
|
.Sh EXIT STATUS
|
|
.Nm
|
|
will exit 0 on success and non-zero otherwise.
|
|
.Sh SEE ALSO
|
|
.Xr port 5 ,
|
|
.Xr development 7 ,
|
|
.Xr porting 7 ,
|
|
.Xr tix-collection 8 ,
|
|
.Xr tix-install 8 ,
|
|
.Xr tix-port 8
|
|
.Sh HISTORY
|
|
.Nm
|
|
originally appeared in Sortix 0.8.
|