Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
bpkg-cfg-create(1)	    General Commands Manual	    bpkg-cfg-create(1)

NAME
       bpkg-cfg-create - create	configuration

SYNOPSIS
       bpkg cfg-create|create [options]	[cfg-args]
       bpkg cfg-create|create [options]	--existing|-e

       cfg-args	= (module | cfg-var)...

DESCRIPTION
       The cfg-create command creates a	new bpkg configuration with the	speci-
       fied  build2  modules  and  configuration variables (the	first form) or
       initializes one based on	an existing build  system  configuration  (the
       second  form). The bpkg configuration itself is a build system configu-
       ration; see build system	driver (b(1)) create  meta-operation  for  de-
       tails.

       Unless  the --existing|-e or --wipe option is specified,	cfg-create ex-
       pects the configuration directory to be empty or	to not exist (in which
       case it will be created).

       By default, the configuration created with the  first  form  loads  the
       config,	test,  dist,  and install modules. However, additional modules
       and, if required, their configuration variables can be specified	as the
       cfg-create arguments. For example:

       bpkg create cxx config.cxx=clang++ config.install.root=/usr/local

       By default, bpkg	appends	.config	to the names of	the modules  that  you
       specify	so that	only their configurations are loaded. You can override
       this behavior by	specifying the period (.) after	the module  name.  You
       can also	instruct bpkg to use the optional module load by prefixing the
       module name with	the question mark (?). For example:

       bpkg create cxx.	"?cli"

       Configurations  can  be linked with each	other to allow a package to be
       built in	one configuration while	its dependencies in one	or more	linked
       configurations. This can	be used	to create a "base" configuration  with
       common  dependencies  that  are shared between multiple configurations.
       This mechanism is also used to provide a	 host  configuration  that  is
       used to build build-time	dependencies.

       Each  configuration  is assigned	an automatically-generated UUID	unless
       one is specified	with the --uuid	option.	This UUID is used to check the
       integrity of configuration  links.  For	convenience  of	 referring  to
       linked configurations, a	configuration can also be assigned a name with
       the --name option.

       A configuration also has	a type specified with the --type option. Three
       predefined types	are target, host, and build2. If the type is not spec-
       ified  explicitly, then target is assumed. When satisfying a dependency
       of one package on another, a linked configuration will only be  consid-
       ered  if	 (1)  it has the same type as the other	configuration for run-
       time dependencies, (2) it has the host type for regular build-time  de-
       pendencies,  and	 (3)  it  has  the build2 type for build system	module
       build-time dependencies.	Note that a host  configuration	 is  a	target
       configuration for the host machine. So to create	a self-hosted configu-
       ration, use type	host.

       To  link	 a  configuration  we  use  the	bpkg-cfg-link(1) command. As a
       shortcut, host and build	 system	 module	 configurations	 can  also  be
       linked  during  the  configuration  creation with the --host-config and
       --build2-config options,	respectively. If a  build-time	dependency  is
       encountered  in	a  configuration that has no linked configuration of a
       suitable	type (host or build2, nor is itself of a suitable type),  then
       a  private  host	 or  build  system  module configuration named host or
       build2, respectively, is	created	automatically  inside  the  configura-
       tion's .bpkg/ subdirectory.

CFG-CREATE OPTIONS
       --directory|-d dir
	      Create the configuration in dir rather than in the current work-
	      ing directory.

       --existing|-e
	      Initialize  a bpkg configuration based on	an existing build sys-
	      tem configuration.

       --wipe Wipe the configuration directory clean before creating  the  new
	      configuration.   For safety, this	option requires	that you spec-
	      ify the configuration directory explicitly with --directory|-d.

       --host-config dir
	      Link the specified host configuration with the configuration be-
	      ing created as if	by running the bpkg-cfg-link(1)	command.

       --no-host-config
	      Ignore any specified --host-config options.

       --build2-config dir
	      Link the specified build system module  configuration  with  the
	      configuration  being  created  as	 if  by	 running the bpkg-cfg-
	      link(1) command.

       --no-build2-config
	      Ignore any specified --build2-config options.

       --name name
	      The name of the configuration being created. If this  configura-
	      tion  is	linked	with  another  configuration  using  bpkg-cfg-
	      link(1), this name will be used as the link name unless overrid-
	      den. By default the configuration	is created unnamed.

       --type type
	      The type of the configuration being created. By default, config-
	      uration of type target is	created.

       --uuid uuid
	      Use the specified	UUID as	the configuration id instead of	gener-
	      ating one	automatically.

COMMON OPTIONS
       The common options are summarized below with a more  detailed  descrip-
       tion available in bpkg-common-options(1).

       -v     Print essential underlying commands being	executed.

       -V     Print all	underlying commands being executed.

       --quiet|-q
	      Run quietly, only	printing error messages.

       --verbose level
	      Set the diagnostics verbosity to level between 0 and 6.

       --stdout-format format
	      Representation format to use for printing	to stdout.

       --jobs|-j num
	      Number of	jobs to	perform	in parallel.

       --no-result
	      Don't print informational	messages about the outcome of perform-
	      ing a command or some of its parts.

       --structured-result fmt
	      Write the	result of performing a command in a structured form.

       --progress
	      Display progress indicators for long-lasting operations, such as
	      network transfers, building, etc.

       --no-progress
	      Suppress	progress  indicators for long-lasting operations, such
	      as network transfers, building, etc.

       --diag-color
	      Use color	in diagnostics.

       --no-diag-color
	      Don't use	color in diagnostics.

       --build path
	      The build	program	to be used to build packages.

       --build-option opt
	      Additional option	to be passed to	the build program.

       --fetch path
	      The fetch	program	to be used to download resources.

       --fetch-option opt
	      Additional option	to be passed to	the fetch program.

       --fetch-timeout sec
	      The fetch	and fetch-like (for example, git) program timeout.

       --pkg-proxy url
	      HTTP proxy server	to use when  fetching  package	manifests  and
	      archives from remote pkg repositories.

       --git path
	      The git program to be used to fetch git repositories.

       --git-option opt
	      Additional common	option to be passed to the git program.

       --sha256	path
	      The sha256 program to be used to calculate SHA256	sums.

       --sha256-option opt
	      Additional option	to be passed to	the sha256 program.

       --tar path
	      The tar program to be used to extract package archives.

       --tar-option opt
	      Additional option	to be passed to	the tar	program.

       --openssl path
	      The openssl program to be	used for crypto	operations.

       --openssl-option	opt
	      Additional option	to be passed to	the openssl program.

       --auth type
	      Types of repositories to authenticate.

       --trust fingerprint
	      Trust repository certificate with	a SHA256 fingerprint.

       --trust-yes
	      Assume the answer	to all authentication prompts is yes.

       --trust-no
	      Assume the answer	to all authentication prompts is no.

       --git-capabilities up=pc
	      Protocol capabilities (pc) for a git repository URL prefix (up).

       --pager path
	      The pager	program	to be used to show long	text.

       --pager-option opt
	      Additional option	to be passed to	the pager program.

       --options-file file
	      Read additional options from file.

       --default-options dir
	      The directory to load additional default options files from.

       --no-default-options
	      Don't load default options files.

       --keep-tmp
	      Don't  remove  the  bpkg's temporary directory at	the end	of the
	      command execution	and print its path at the verbosity level 2 or
	      higher.

DEFAULT	OPTIONS	FILES
       See bpkg-default-options-files(1) for an	overview of  the  default  op-
       tions  files.  For the cfg-create command the search start directory is
       the parent directory of the new configuration.  The  following  options
       files  are  searched for	in each	directory and, if found, loaded	in the
       order listed:

       bpkg.options
       bpkg-cfg-create.options

       The following cfg-create	command	options	cannot be specified in the de-
       fault options files:

       --directory|-d
       --wipe

BUGS
       Send bug	reports	to the users@build2.org	mailing	list.

COPYRIGHT
       Copyright (c) 2014-2024 the build2 authors.

       Permission is granted to	copy, distribute and/or	modify	this  document
       under the terms of the MIT License.

bpkg 0.17.0			   June	2024		    bpkg-cfg-create(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=bpkg-cfg-create&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help