pbuild - Man Page

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

--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 the cached repository metadata is up to date.

--debugflags types

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

--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)

Info

(c) 2021 SUSE LLC