PBUILD(1)

NAME
pbuild - build a project consisting of a set of packages

SYNOPSIS
pbuild [--preset preset] [--dist dist] [--buildjobs num] [dir]
pbuild [--preset preset] [--dist dist] --result [code|pkg] [dir]
pbuild [--preset preset] [--dist dist] --repoquery [deptype:]dep [dir]

DESCRIPTION
The pbuild tool builds a project consisting of a set of packages stored in the specified directory dir. If the directory is not specified, the current working directory is used instead. A package consists of files stored in a directory where the package name is the name of the directory. Directories with names starting with "." or "_" are ignored. Pbuild works by parsing the recipe files from the packages to get dependency information, sorting the packages by dependency and then creating build jobs for every package that needs to be rebuild. Pbuild stores extra information with the build results so that it is able to resume after interruption or integrate new source changes. The results of the package builds are stored in a directory "_result.reponame.arch", where reponame defaults to the name of the base distribution selected with the --dist or --preset options. If Pbuild detects that the specified directory is a package directory, it will automatically go into single-build mode and use the parent directory as project directory.

COMMON OPTIONS

--arch arch
    Build for the specified architecture. If this option is not used, pbuild will build for the host architecture.

--preset preset
    Use a defined preset to set the distribution config, the repositories, and the container registries. Presets can be defined by having a "_pbuild" file in the source directory.

--dist dist
    Use the specified distribution config dist to configure the build environment.

--reponame name
    Use the specified name to generate the directory name used to store the package build results.

BUILD OPTIONS

--repo url
    Use the specified location to set up the build environment. The repo option can be used multiple times to create a search path. Note that the order of the option matters, i.e. the first repository containing a package with a specific name wins regardless of the version. If no repo is configured, the default repositories specified in the distribution config is used.

--registry url
    Use the specified location to search for remote containers.

--obs url
    Use the specified url to specify the open build service instance if obs:/ urls need to be resolved.

--buildjobs num
    Start up to num processes to build packages in parallel.

--rebuild-pkg packagename
    Force a rebuild of the specified package. This option can be used multiple times.

--rebuild-code code
    Force a rebuild of the packages in state "code". This option can be used multiple times.

--rebuild [code_or_packagename]
    Short hand form to force a rebuild. If no argument is given, all packages are rebuilt. If the argument is a known result code, packages with a state matching the specified code are rebuilt. Otherwise it is assumed that the argument is a package name.

--single packagename
    Only build the specified package. This option also forces a rebuild of the package.

--vm-...
--jobs
--threads
--xen, --kvm, ...
--checks
--no-checks
--no-clean
--target
    This options are passed on to the call of the build tool used to build packages.

QUERY OPTIONS

--result-pkg packagename
    Only show build results for the specified package. This option can be used multiple times.

--result-code code
    Only show build results for builds that resulted in the specified code. This option can be used multiple times.

--result [code_or_packagename]
    This is a short hand form for result querying. If no argument is given, the results for all packages are shown. If the argument is a known result code, builds that resulted in the specified code are shown. Otherwise it is assumed that the argument is a package name.

--terse
    Do not show detailed information about the package state.

REPOQUERY OPTIONS

--repoquery [deptype:]dep
    Query the repositories for packages matching a dependency. The dependency can be prefixed with a type, the default is "provides:". The special "name:" prefix just matches the package name/version.

--repoquery-host [deptype:]dep
    Like --repoquery, but the "host" repositories used for cross building are queried.

--details
    Show detailed information about the packages.

MISC OPTIONS

--hostarch arch
    Assume the specified host architecture instead of using "uname -m".

--configdir dir
    Specify a different directory containing distribution configurations.

--no-repo-refresh
    Do not check if cached repository metadata is up to date.

--update-assets
    Force a refetch of all assets that are not immutable.

--debugflags types
    Enable debug output. Multipe debug types can be concatenanted with a comma. Use "expansion" to debug the dependency expansion. Use "network" to debug network access.

--orphan
    Treat the directory as a single package directory with no project.

--help
    Print a short help text.

RETURN CODES

0   When none of the builds finished with failure, unresolvable or in broken state

1   When one or more builds failed, remained unresolvable or in broken state

SEE ALSO
build(1)