public inbox for [email protected]  
help / color / mirror / Atom feed
HELP -- what am I missing?
6+ messages / 3 participants
[nested] [flat]

* HELP -- what am I missing?
@ 2024-07-31 23:55 Larry Rosenman <[email protected]>
  2024-08-02 00:03 ` Re: HELP -- what am I missing? Larry Rosenman <[email protected]>
  2024-08-02 00:06 ` Re: HELP -- what am I missing? Alvaro Herrera <[email protected]>
  0 siblings, 2 replies; 6+ messages in thread

From: Larry Rosenman @ 2024-07-31 23:55 UTC (permalink / raw)
  To: Buildfarm Members <[email protected]>

Given the below config, why is this failing?

playbox% ./run_branches.pl --nosend --nostatus --verbose  --run-all
syntax error at ./build-farm.conf line 405, near "# testset1 => { url => 
"git"
Global symbol "@somewhere" requires explicit package name (did you 
forget to declare "my @somewhere"?) at ./build-farm.conf line 405.
Global symbol "@somewhere" requires explicit package name (did you 
forget to declare "my @somewhere"?) at ./build-farm.conf line 408.
Unknown regexp modifier "/M" at ./build-farm.conf line 408, at end of 
line
Unknown regexp modifier "/r" at ./build-farm.conf line 408, at end of 
line
Unknown regexp modifier "/f" at ./build-farm.conf line 408, at end of 
line
Unknown regexp modifier "/t" at ./build-farm.conf line 408, at end of 
line
Unknown regexp modifier "/B" at ./build-farm.conf line 408, at end of 
line
Regexp modifiers "/u" and "/l" are mutually exclusive at 
./build-farm.conf line 408, at end of line
Regexp modifiers "/u" and "/d" are mutually exclusive at 
./build-farm.conf line 408, at end of line
./build-farm.conf has too many errors.
Compilation failed in require at ./run_branches.pl line 86.
playbox%

# -*-perl-*- hey - emacs - this is a perl file

=comment

Copyright (c) 2003-2022, Andrew Dunstan

See accompanying License file for license details

=cut

package PGBuild;    ## no critic (RequireFilenameMatchesPackage)

use strict;

use warnings FATAL => 'qw';

our (%conf);

# our($VERSION); $VERSION = 'REL_17';

my $branch;
{
	no warnings 'once';
	$branch = $main::branch;
}


# useful for making settings relative to the config file location
# all the clients should have used these two standard packages
my $confdir = File::Spec->rel2abs(File::Basename::dirname(__FILE__));

# to force from-source in the directory where this config file is 
located,
# uncomment the line below. See also buildroot below
# $PGBuild::Options::from_source = $confdir;

%conf = (

	# identity
	animal => "anaconda",
	secret => "<elided>",

	# source code
	scm => 'git',                      # or 'cvs'
	git_keep_mirror => 1,              # manage a git mirror in the build 
root
	git_ignore_mirror_failure => 1,    # ignore failures in fetching to 
mirror
	git_gc_hours => 7 * 24,    # garbage collect once a week, 0/undef to 
disable

	# use symlinked git repo from non-HEAD branches, like git-new-workdir 
does
	# Ony supported on Windows if the user has "Create Symbolic Links"
	# privilege. See
	# https://github.com/git-for-windows/git/wiki/Symbolic-Links
	git_use_workdirs => 1,

	# remove work trees between runs, saves disk space
	rm_worktrees => 1,

	# check if the default git branch name has changed
	skip_git_default_check => undef,

	scmrepo => undef,   # default is community repo for either type
	scm_url => undef,   # webref for diffs on server - use default for 
community

	# git_reference => undef, # for --reference on git repo

	# external commands and control
	make => 'gmake',       # or gmake if required. can include path if 
necessary.
	make_jobs => 2,   # >1 for parallel "make" and "make check" steps
	tar_log_cmd => undef, # default is "tar -z -cf runlogs.tgz *.log"
						  # replacement must have the same effect

	# archive this many copies of the report summary
	archive_reports => undef,

	# if on, print the whole web request object if there is a web error
	show_error_request => undef,

	# Only works if the Unix::Uptime module is available
	# inhibits a run if > 0 and the load average in last 1 minute or 5 
minutes
	# has been greater than this
	max_load_avg => undef,

	# max time in seconds allowed for a single branch run
	# undef/0 means unlimited
	wait_timeout => undef,

	# if true run installcheck-parallel instead of installcheck
	use_installcheck_parallel => undef,

	# where and how to build
	# must be absolute, can be either Unix or Windows style for MSVC
	# undef means default, buildroot dir in script directory
	# "$confdir/buildroot" means buildroot in the config file's directory,
	# which is useful for auto from-source setups
	build_root => undef,    #  or '/path/to/buildroot',
	use_vpath => undef,     # set true to do vpath builds

	# valgrind settings - default is don't use valgrind
	# It will use the .supp file in the source code	so that's not in the
	# options here.
	use_valgrind => undef,
	valgrind_options => join(
		' ', qw{--quiet --trace-children=yes
		  --track-origins=yes --read-var-info=yes --num-callers=20
		  --leak-check=no --gen-suppressions=all   --error-limit=no}
	),

	# if true run tests with debug_discard_caches=1, or the equivalent
	# on older branches. Do not set CLOBBER_CACHE_ALWAYS if you use this.
	use_discard_caches => undef,

	# path to directory with auxiliary web script
	# if relative, the must be relative to buildroot/branch
	# Now only used on older Msys installations
	# aux_path => "../..",

	keep_error_builds => 0,
	core_file_glob => "*core*",    # should work for both Linux and *BSD

	# where to report status
	target => "https://buildfarm.postgresql.org/cgi-bin/pgstatus.pl";,

	# where to report change in OS version or compiler version
	upgrade_target => 
"https://buildfarm.postgresql.org/cgi-bin/upgrade.pl";,

	# change this to a true value if using MSVC, in which case also
	# see MSVC section below

	using_msvc => undef,

	# if force_every is a scalar it will be used on all branches, like this
	# for legacy reasons:
	# force_every => 336 , # max hours between builds, undef or 0 = 
unforced
	# we now prefer it to be a hash with branch names as the keys, like 
this
	#
	# this setting should be kept conservatively high, or not used at all  
-
	# for the most part it's best to let the script decide if something
	# has changed that requires a new run for the branch.
	#
	# an entry with a name of 'default' matches any branch not named
	force_every => {

		# HEAD => 48,
		# default => 168,
	},

	# alerts are triggered if the server doesn't see a build on a branch 
after
	# this many hours, and then sent out every so often,

	alerts => {

		# HEAD          => { alert_after => 72,  alert_every => 24 },
		# REL_10_STABLE => { alert_after => 240, alert_every => 48 },
	},

	# include / exclude patterns for files that trigger a build
	# if both are specified then they are both applied as filters
	# undef means don't ignore anything.
	# exclude qr[^doc/|\.po$] to ignore changes to docs and po files
	# (recommended)
	# undef means null filter.
	trigger_exclude => qr[^doc/|\.po$],
	trigger_include => undef,

	# settings for mail notices - default to notifying nobody
	# these lists contain addresses to be notified
	# must be complete email addresses, as the email is sent from the 
server

	mail_events => {
		all => ["ler\@lerctr.org"],       # unconditional
		fail => [],      # if this build fails
		change => [],    # if this build causes a state change
		green => [],     # if this build causes a state change to/from OK
	},

	# if this flag is set and ccache is used, an unsuccessful run will 
result
	# in the removal of the ccache directory (and you need to make sure 
that
	# its parent is writable). The default is off - ccache should be able 
to
	# handle failures, although there have been suspicions in the past that
	# it's not quite as reliable as we'd want, and thus we have this 
option.

	ccache_failure_remove => undef,

	# set this if you want to use ccache with the default ccache directory
	# location, effectively $buildroot/ccache-$animal.

	use_default_ccache_dir => 1,

	# set this to allow caching of the configure script's results

	use_accache => 1,

	# env settings to apply within build/report process
	# these settings will be seen by all the processes, including the
	# configure process.

	build_env => {

		# use a dedicated cache for the build farm. this should give us
		# very high hit rates and slightly faster cache searching.
		#
		# only set this if you want to set your own path for the ccache
		# directory
		# CCACHE_DIR => "/path/to/your/ccache",

		### use these settings for Cygwin - adjust dumper path to be correct
		## see https://cygwin.org/cygwin-ug-net/using-cygwinenv.html
		# CYGWIN => 'error_start=c:\cygwin\bin\dumper.exe -d %1 %2',

		## Cygwin is known to choke on many concurrent connections, so
		## reign back the regression test parallelism
		# MAX_CONNECTIONS => '3',

		### set this if you need a proxy setting for the
		# outbound web transaction that reports the results
		# BF_PROXY => 'http://my.proxy.server:portnum/';,

		# see below for MSVC settings

		# possibly set this to something high if you get pg_ctl failures
		# default is 120
		# PGCTLTIMEOUT => '120',

		# run extra TAP tests if listed here
		# These are the ones omitted without the setting
		# on a secure single user system it makes sense to enable these
		# PG_TEST_EXTRA => "ssl ldap kerberos",

		# Where to put port locks. Default is the buildroot
		# PG_TEST_PORT_DIR => 'some path',
	},

	# env settings to pass to configure. These settings will only be seen 
by
	# configure.
	config_env => {

		# comment out if not using ccache
		# ccache is known to cause issues sometimes on msys2
		# don't set CC at all if using MSVC, especially with meson
		CC => 'ccache cc',

		# If using vpath builds, this makes it use true symbolic links
		# on Msys2. Only use if the user has Create Symbolic Links privilege
		# See https://github.com/git-for-windows/git/wiki/Symbolic-Links
		# MSYS => 'winsymlinks:nativestrict',

		# In the rare event that you need to tell configure where the prove
		# program lives instead of letting it work it out you do it here.
		# Msys is one such case.
		# PROVE => '/bin/prove',

		# CPPFLAGS can be set here and picked up by configure
		# This example makes the regression tests run with extra
		# checking of user names created by the tests
		# CPPFLAGS => '-DENFORCE_REGRESSION_TEST_NAME_RESTRICTIONS',

		# where to find a usable pkg-config or equivalent
		# see for example https://github.com/pkgconf/pkgconf
		# PKG_CONFIG => 'c:/path/to/pkg-config.exe',
		# PATH-style list of extra directories to search for .pc files
		# PKG_CONFIG_PATH => 'c:/path/to/libxml/pkgconfig',
	},

	# settings added to those in config_env if valgrind is being used
	valgrind_config_env_extra => {

		CFLAGS => "-fno-omit-frame-pointer -O0 -fPIC",
		CPPFLAGS => "-DUSE_VALGRIND  -DRELCACHE_FORCE_RELEASE",
	},

	# don't use --prefix or --with-pgport here
	# they are set up by the script
	# per-branch config can be done here or
	# more simply by using the examples below.
	# (default ldap flag is below because it's not supported in all 
branches)

	# see below for MSVC config

	# set true if running with meson
	# will be ignored for branches older than 16
	using_meson => undef,

	# similar to make_jobs above - how much parallelism do you want for
	# meson's build and test stages. undef says use meson's default. (1?)
	meson_jobs => undef,

	# timeout multiplier for meson test jobs.
	# default if value is undefined is 3, 0 means no timeout
	meson_test_timeout => undef,

	# options used with configure (and not for meson)
	config_opts => [
		qw(
		  --enable-cassert
		  --enable-debug
		  --enable-nls
		  --with-perl
		  --with-python
		  --with-tcl
		  --with-openssl
		  --with-ldap
		  --with-libxml
		  --with-libxslt
		  --with-includes=/usr/local/include
		  --with-libraries=/usr/local/lib
		  ),

		# could also add for example --enable-tap-tests
	],

	# Note, for meson we turn off all the auto options and then selectively
	# re-enable them using these options, so zlib and readline have to be
	# explicitly enabled here.
	# see meson docs re interaction of buildtype, debug and
	# optimization settings. debugoptimised = debug:on + optimisation:2
	meson_opts => [
		qw(
		  -Dcassert=true
		  -Dbuildtype=debugoptimized
		  -Dnls=enabled
		  -Dplperl=enabled
		  -Dplpython=enabled
		  -Dpltcl=enabled
		  -Dgssapi=enabled
		  -Dssl=openssl
		  -Dldap=enabled
		  -Dlibxml=enabled
		  -Dlibxslt=enabled
		  -Dzlib=enabled
		  -Dreadline=enabled
		  ),

		# could for example add -Dtap_tests=enabled
	],

	# per-branch contents of extra config for check stages.
	# each branch has an array of setting lines (no \n required)
	# a DEFAULT entry is used for all branches, before any
	# branch-specific settings.
	extra_config => {
		DEFAULT => [
			q(log_line_prefix = '%m [%p:%l] %q%a '),
			"log_connections = 'true'",
			"log_disconnections = 'true'",
			"log_statement = 'all'",
			"fsync = off"
		],
		HEAD => ['debug_parallel_query = regress'],
	},

	optional_steps => {

		# which optional steps to run and when to run them
		# valid keys are: branches, dow, min_hours_since, min_hour, max_hour
		# find_typedefs => { branches => ['HEAD'], dow => [1,4],
		#	 			       min_hours_since => 25 },
		# build_docs => {min_hours_since => 24},
	},

	# string list of doc targets to build in addition to html
	# could be "man postgres-US.pdf postgres-A4.pdf epub"
	# see doc/src/sgml/Makefile for complete list
	extra_doc_targets => undef,

	# locales to test

	locales => [qw( C )],

	# port number actually used will be based on this param and the branch,
	# so we ensure they don't collide

	base_port => 5678,

	modules => [qw(TestUpgrade TestDecoding)],

	# settings used by run_branches.pl
	global => {
		branches_to_build => 'ALL',

		# or 'HEAD_PLUS_LATEST' or 'HEAD_PLUS_LATEST2'
		# or 'STABLE' (i.e. live branches other than  HEAD)
		# or [qw( HEAD RELx_y_STABLE etc )]

		# set this if running multiple animals to have them coordinated
		# default is this animal's buildroot.
		global_lock_dir => "/home/pgbuildfarm/locks,

		# settings for parallel runs
		parallel_lockdir => undef,    # default is global_lock_dir
		parallel_stagger => undef,    # default 60
		max_parallel => undef,        # default 10

	},

	my_tap_tests => {

		# settings for module TestMyTap:
		# branch setting can be missing altogether, in which case 'main' is
		# used, or it can be a scalar, in which case that is used for all
		# branches, or it can be a hashref, in which case the value used
		# corresponds to the pg branch being used. 'default' is specified,
		# is for any branch not otherwise specified. If PGBRANCH is mapped,
		# then the Postgres branch is used.
		#
		# testset1 => { url => "[email protected]/testrepo.git",
		#               branch => 'mymainbranch' # default is 'main'
		#             },
		# testset2 => { url => "[email protected]/othertestrepo.git",
		#               branch => { HEAD => 'main',
		#                           default => 'PGBRANCH' },
		#             },
	},

);


# MSVC setup

if ($conf{using_msvc})
{
	# get the settings from the VisualStudio installation

	require "PGBuild/VSenv.pm";    ## no critic (RequireBarewordIncludes)

	# ancestor of vcvarsall.bat script we will use
	my $VSdir = "c:/Program Files (x86)/Microsoft Visual Studio/2019";

	# the more specific you are here the quicker the search will be
	# e.g.
	# $VSdir = "$VSdir/BuildTools/VC/Auxiliary/Build";

	my $vsenv = PGBuild::VSenv::getenv($VSdir, 'x64');

	# add other elements to the PATH, LIB and INCLUDE if needed
	$vsenv->{PATH} =
	  join(';', 'c:/prog/depend/bin', 'c:/other/bin', $vsenv->{PATH});

	%{ $conf{build_env} } = (%{ $conf{build_env} }, %$vsenv);

	# MSVC non-meson needs a somewhat different style of config opts 
(why??)
	# What we write here will be literally (via Data::Dumper) put into
	# the config.pl file for the MSVC build.

	# This will be ignored for meson builds, which use meson_opts rather
	# than config_opts. See above for meson_opts.

	$conf{config_opts} = {
		asserts => 1,               # --enable-cassert
		integer_datetimes => 1,     # --enable-integer-datetimes
		nls => undef,               # --enable-nls=<path>
		tcl => 'c:\tcl',            # --with-tcl=<path>
		perl => 'c:\perl',          # --with-perl=<path>
		python => 'c:\python25',    # --with-python=<path>
		krb5 => undef,              # --with-krb5=<path>
		ldap => 0,                  # --with-ldap
		openssl => undef,           # --with-ssl=<path>
		xml => undef,               # --with-libxml=<path>
		xslt => undef,              # --with-libxslt=<path>,
		iconv => undef,             # path to iconv library
		zlib => undef,              # --with-zlib=<path>
		tap_tests => undef,         # --enable-tap-tests
	};

}

##################################
#
# examples of per branch processing
# tailor as required for your site.
#
##################################
if ($branch eq 'HEAD')
{

	#	push(@{$conf{config_opts}},"--enable-depend");

	#   Note that config_opts is a hashref for MSVC, rather than
	#   an arrayref like elsewhere. That means the right way to set
	#   semething there is like this:
	#
	#   $conf{config_opts}->{openssl} = 'c:\path\to\openssl\installation';
}
elsif ($branch =~ /^REL7_/)
{

	#    push(@{$conf{config_opts}},"--without-tk");
}

1;

-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 214-642-9640                 E-Mail: [email protected]
US Mail: 13425 Ranch Road 620 N, Apt 718, Austin, TX 78717-1010





^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* Re: HELP -- what am I missing?
  2024-07-31 23:55 HELP -- what am I missing? Larry Rosenman <[email protected]>
@ 2024-08-02 00:03 ` Larry Rosenman <[email protected]>
  1 sibling, 0 replies; 6+ messages in thread

From: Larry Rosenman @ 2024-08-02 00:03 UTC (permalink / raw)
  To: Buildfarm Members <[email protected]>

Any help here?  I'm stuck.....

On 07/31/2024 6:55 pm, Larry Rosenman wrote:
> Given the below config, why is this failing?
> 
> playbox% ./run_branches.pl --nosend --nostatus --verbose  --run-all
> syntax error at ./build-farm.conf line 405, near "# testset1 => { url 
> => "git"
> Global symbol "@somewhere" requires explicit package name (did you 
> forget to declare "my @somewhere"?) at ./build-farm.conf line 405.
> Global symbol "@somewhere" requires explicit package name (did you 
> forget to declare "my @somewhere"?) at ./build-farm.conf line 408.
> Unknown regexp modifier "/M" at ./build-farm.conf line 408, at end of 
> line
> Unknown regexp modifier "/r" at ./build-farm.conf line 408, at end of 
> line
> Unknown regexp modifier "/f" at ./build-farm.conf line 408, at end of 
> line
> Unknown regexp modifier "/t" at ./build-farm.conf line 408, at end of 
> line
> Unknown regexp modifier "/B" at ./build-farm.conf line 408, at end of 
> line
> Regexp modifiers "/u" and "/l" are mutually exclusive at 
> ./build-farm.conf line 408, at end of line
> Regexp modifiers "/u" and "/d" are mutually exclusive at 
> ./build-farm.conf line 408, at end of line
> ./build-farm.conf has too many errors.
> Compilation failed in require at ./run_branches.pl line 86.
> playbox%
> 
> # -*-perl-*- hey - emacs - this is a perl file
> 
> =comment
> 
> Copyright (c) 2003-2022, Andrew Dunstan
> 
> See accompanying License file for license details
> 
> =cut
> 
> package PGBuild;    ## no critic (RequireFilenameMatchesPackage)
> 
> use strict;
> 
> use warnings FATAL => 'qw';
> 
> our (%conf);
> 
> # our($VERSION); $VERSION = 'REL_17';
> 
> my $branch;
> {
> 	no warnings 'once';
> 	$branch = $main::branch;
> }
> 
> 
> # useful for making settings relative to the config file location
> # all the clients should have used these two standard packages
> my $confdir = File::Spec->rel2abs(File::Basename::dirname(__FILE__));
> 
> # to force from-source in the directory where this config file is 
> located,
> # uncomment the line below. See also buildroot below
> # $PGBuild::Options::from_source = $confdir;
> 
> %conf = (
> 
> 	# identity
> 	animal => "anaconda",
> 	secret => "<elided>",
> 
> 	# source code
> 	scm => 'git',                      # or 'cvs'
> 	git_keep_mirror => 1,              # manage a git mirror in the build 
> root
> 	git_ignore_mirror_failure => 1,    # ignore failures in fetching to 
> mirror
> 	git_gc_hours => 7 * 24,    # garbage collect once a week, 0/undef to 
> disable
> 
> 	# use symlinked git repo from non-HEAD branches, like git-new-workdir 
> does
> 	# Ony supported on Windows if the user has "Create Symbolic Links"
> 	# privilege. See
> 	# https://github.com/git-for-windows/git/wiki/Symbolic-Links
> 	git_use_workdirs => 1,
> 
> 	# remove work trees between runs, saves disk space
> 	rm_worktrees => 1,
> 
> 	# check if the default git branch name has changed
> 	skip_git_default_check => undef,
> 
> 	scmrepo => undef,   # default is community repo for either type
> 	scm_url => undef,   # webref for diffs on server - use default for 
> community
> 
> 	# git_reference => undef, # for --reference on git repo
> 
> 	# external commands and control
> 	make => 'gmake',       # or gmake if required. can include path if 
> necessary.
> 	make_jobs => 2,   # >1 for parallel "make" and "make check" steps
> 	tar_log_cmd => undef, # default is "tar -z -cf runlogs.tgz *.log"
> 						  # replacement must have the same effect
> 
> 	# archive this many copies of the report summary
> 	archive_reports => undef,
> 
> 	# if on, print the whole web request object if there is a web error
> 	show_error_request => undef,
> 
> 	# Only works if the Unix::Uptime module is available
> 	# inhibits a run if > 0 and the load average in last 1 minute or 5 
> minutes
> 	# has been greater than this
> 	max_load_avg => undef,
> 
> 	# max time in seconds allowed for a single branch run
> 	# undef/0 means unlimited
> 	wait_timeout => undef,
> 
> 	# if true run installcheck-parallel instead of installcheck
> 	use_installcheck_parallel => undef,
> 
> 	# where and how to build
> 	# must be absolute, can be either Unix or Windows style for MSVC
> 	# undef means default, buildroot dir in script directory
> 	# "$confdir/buildroot" means buildroot in the config file's directory,
> 	# which is useful for auto from-source setups
> 	build_root => undef,    #  or '/path/to/buildroot',
> 	use_vpath => undef,     # set true to do vpath builds
> 
> 	# valgrind settings - default is don't use valgrind
> 	# It will use the .supp file in the source code	so that's not in the
> 	# options here.
> 	use_valgrind => undef,
> 	valgrind_options => join(
> 		' ', qw{--quiet --trace-children=yes
> 		  --track-origins=yes --read-var-info=yes --num-callers=20
> 		  --leak-check=no --gen-suppressions=all   --error-limit=no}
> 	),
> 
> 	# if true run tests with debug_discard_caches=1, or the equivalent
> 	# on older branches. Do not set CLOBBER_CACHE_ALWAYS if you use this.
> 	use_discard_caches => undef,
> 
> 	# path to directory with auxiliary web script
> 	# if relative, the must be relative to buildroot/branch
> 	# Now only used on older Msys installations
> 	# aux_path => "../..",
> 
> 	keep_error_builds => 0,
> 	core_file_glob => "*core*",    # should work for both Linux and *BSD
> 
> 	# where to report status
> 	target => "https://buildfarm.postgresql.org/cgi-bin/pgstatus.pl";,
> 
> 	# where to report change in OS version or compiler version
> 	upgrade_target => 
> "https://buildfarm.postgresql.org/cgi-bin/upgrade.pl";,
> 
> 	# change this to a true value if using MSVC, in which case also
> 	# see MSVC section below
> 
> 	using_msvc => undef,
> 
> 	# if force_every is a scalar it will be used on all branches, like 
> this
> 	# for legacy reasons:
> 	# force_every => 336 , # max hours between builds, undef or 0 = 
> unforced
> 	# we now prefer it to be a hash with branch names as the keys, like 
> this
> 	#
> 	# this setting should be kept conservatively high, or not used at all  
> -
> 	# for the most part it's best to let the script decide if something
> 	# has changed that requires a new run for the branch.
> 	#
> 	# an entry with a name of 'default' matches any branch not named
> 	force_every => {
> 
> 		# HEAD => 48,
> 		# default => 168,
> 	},
> 
> 	# alerts are triggered if the server doesn't see a build on a branch 
> after
> 	# this many hours, and then sent out every so often,
> 
> 	alerts => {
> 
> 		# HEAD          => { alert_after => 72,  alert_every => 24 },
> 		# REL_10_STABLE => { alert_after => 240, alert_every => 48 },
> 	},
> 
> 	# include / exclude patterns for files that trigger a build
> 	# if both are specified then they are both applied as filters
> 	# undef means don't ignore anything.
> 	# exclude qr[^doc/|\.po$] to ignore changes to docs and po files
> 	# (recommended)
> 	# undef means null filter.
> 	trigger_exclude => qr[^doc/|\.po$],
> 	trigger_include => undef,
> 
> 	# settings for mail notices - default to notifying nobody
> 	# these lists contain addresses to be notified
> 	# must be complete email addresses, as the email is sent from the 
> server
> 
> 	mail_events => {
> 		all => ["ler\@lerctr.org"],       # unconditional
> 		fail => [],      # if this build fails
> 		change => [],    # if this build causes a state change
> 		green => [],     # if this build causes a state change to/from OK
> 	},
> 
> 	# if this flag is set and ccache is used, an unsuccessful run will 
> result
> 	# in the removal of the ccache directory (and you need to make sure 
> that
> 	# its parent is writable). The default is off - ccache should be able 
> to
> 	# handle failures, although there have been suspicions in the past 
> that
> 	# it's not quite as reliable as we'd want, and thus we have this 
> option.
> 
> 	ccache_failure_remove => undef,
> 
> 	# set this if you want to use ccache with the default ccache directory
> 	# location, effectively $buildroot/ccache-$animal.
> 
> 	use_default_ccache_dir => 1,
> 
> 	# set this to allow caching of the configure script's results
> 
> 	use_accache => 1,
> 
> 	# env settings to apply within build/report process
> 	# these settings will be seen by all the processes, including the
> 	# configure process.
> 
> 	build_env => {
> 
> 		# use a dedicated cache for the build farm. this should give us
> 		# very high hit rates and slightly faster cache searching.
> 		#
> 		# only set this if you want to set your own path for the ccache
> 		# directory
> 		# CCACHE_DIR => "/path/to/your/ccache",
> 
> 		### use these settings for Cygwin - adjust dumper path to be correct
> 		## see https://cygwin.org/cygwin-ug-net/using-cygwinenv.html
> 		# CYGWIN => 'error_start=c:\cygwin\bin\dumper.exe -d %1 %2',
> 
> 		## Cygwin is known to choke on many concurrent connections, so
> 		## reign back the regression test parallelism
> 		# MAX_CONNECTIONS => '3',
> 
> 		### set this if you need a proxy setting for the
> 		# outbound web transaction that reports the results
> 		# BF_PROXY => 'http://my.proxy.server:portnum/';,
> 
> 		# see below for MSVC settings
> 
> 		# possibly set this to something high if you get pg_ctl failures
> 		# default is 120
> 		# PGCTLTIMEOUT => '120',
> 
> 		# run extra TAP tests if listed here
> 		# These are the ones omitted without the setting
> 		# on a secure single user system it makes sense to enable these
> 		# PG_TEST_EXTRA => "ssl ldap kerberos",
> 
> 		# Where to put port locks. Default is the buildroot
> 		# PG_TEST_PORT_DIR => 'some path',
> 	},
> 
> 	# env settings to pass to configure. These settings will only be seen 
> by
> 	# configure.
> 	config_env => {
> 
> 		# comment out if not using ccache
> 		# ccache is known to cause issues sometimes on msys2
> 		# don't set CC at all if using MSVC, especially with meson
> 		CC => 'ccache cc',
> 
> 		# If using vpath builds, this makes it use true symbolic links
> 		# on Msys2. Only use if the user has Create Symbolic Links privilege
> 		# See https://github.com/git-for-windows/git/wiki/Symbolic-Links
> 		# MSYS => 'winsymlinks:nativestrict',
> 
> 		# In the rare event that you need to tell configure where the prove
> 		# program lives instead of letting it work it out you do it here.
> 		# Msys is one such case.
> 		# PROVE => '/bin/prove',
> 
> 		# CPPFLAGS can be set here and picked up by configure
> 		# This example makes the regression tests run with extra
> 		# checking of user names created by the tests
> 		# CPPFLAGS => '-DENFORCE_REGRESSION_TEST_NAME_RESTRICTIONS',
> 
> 		# where to find a usable pkg-config or equivalent
> 		# see for example https://github.com/pkgconf/pkgconf
> 		# PKG_CONFIG => 'c:/path/to/pkg-config.exe',
> 		# PATH-style list of extra directories to search for .pc files
> 		# PKG_CONFIG_PATH => 'c:/path/to/libxml/pkgconfig',
> 	},
> 
> 	# settings added to those in config_env if valgrind is being used
> 	valgrind_config_env_extra => {
> 
> 		CFLAGS => "-fno-omit-frame-pointer -O0 -fPIC",
> 		CPPFLAGS => "-DUSE_VALGRIND  -DRELCACHE_FORCE_RELEASE",
> 	},
> 
> 	# don't use --prefix or --with-pgport here
> 	# they are set up by the script
> 	# per-branch config can be done here or
> 	# more simply by using the examples below.
> 	# (default ldap flag is below because it's not supported in all 
> branches)
> 
> 	# see below for MSVC config
> 
> 	# set true if running with meson
> 	# will be ignored for branches older than 16
> 	using_meson => undef,
> 
> 	# similar to make_jobs above - how much parallelism do you want for
> 	# meson's build and test stages. undef says use meson's default. (1?)
> 	meson_jobs => undef,
> 
> 	# timeout multiplier for meson test jobs.
> 	# default if value is undefined is 3, 0 means no timeout
> 	meson_test_timeout => undef,
> 
> 	# options used with configure (and not for meson)
> 	config_opts => [
> 		qw(
> 		  --enable-cassert
> 		  --enable-debug
> 		  --enable-nls
> 		  --with-perl
> 		  --with-python
> 		  --with-tcl
> 		  --with-openssl
> 		  --with-ldap
> 		  --with-libxml
> 		  --with-libxslt
> 		  --with-includes=/usr/local/include
> 		  --with-libraries=/usr/local/lib
> 		  ),
> 
> 		# could also add for example --enable-tap-tests
> 	],
> 
> 	# Note, for meson we turn off all the auto options and then 
> selectively
> 	# re-enable them using these options, so zlib and readline have to be
> 	# explicitly enabled here.
> 	# see meson docs re interaction of buildtype, debug and
> 	# optimization settings. debugoptimised = debug:on + optimisation:2
> 	meson_opts => [
> 		qw(
> 		  -Dcassert=true
> 		  -Dbuildtype=debugoptimized
> 		  -Dnls=enabled
> 		  -Dplperl=enabled
> 		  -Dplpython=enabled
> 		  -Dpltcl=enabled
> 		  -Dgssapi=enabled
> 		  -Dssl=openssl
> 		  -Dldap=enabled
> 		  -Dlibxml=enabled
> 		  -Dlibxslt=enabled
> 		  -Dzlib=enabled
> 		  -Dreadline=enabled
> 		  ),
> 
> 		# could for example add -Dtap_tests=enabled
> 	],
> 
> 	# per-branch contents of extra config for check stages.
> 	# each branch has an array of setting lines (no \n required)
> 	# a DEFAULT entry is used for all branches, before any
> 	# branch-specific settings.
> 	extra_config => {
> 		DEFAULT => [
> 			q(log_line_prefix = '%m [%p:%l] %q%a '),
> 			"log_connections = 'true'",
> 			"log_disconnections = 'true'",
> 			"log_statement = 'all'",
> 			"fsync = off"
> 		],
> 		HEAD => ['debug_parallel_query = regress'],
> 	},
> 
> 	optional_steps => {
> 
> 		# which optional steps to run and when to run them
> 		# valid keys are: branches, dow, min_hours_since, min_hour, max_hour
> 		# find_typedefs => { branches => ['HEAD'], dow => [1,4],
> 		#	 			       min_hours_since => 25 },
> 		# build_docs => {min_hours_since => 24},
> 	},
> 
> 	# string list of doc targets to build in addition to html
> 	# could be "man postgres-US.pdf postgres-A4.pdf epub"
> 	# see doc/src/sgml/Makefile for complete list
> 	extra_doc_targets => undef,
> 
> 	# locales to test
> 
> 	locales => [qw( C )],
> 
> 	# port number actually used will be based on this param and the 
> branch,
> 	# so we ensure they don't collide
> 
> 	base_port => 5678,
> 
> 	modules => [qw(TestUpgrade TestDecoding)],
> 
> 	# settings used by run_branches.pl
> 	global => {
> 		branches_to_build => 'ALL',
> 
> 		# or 'HEAD_PLUS_LATEST' or 'HEAD_PLUS_LATEST2'
> 		# or 'STABLE' (i.e. live branches other than  HEAD)
> 		# or [qw( HEAD RELx_y_STABLE etc )]
> 
> 		# set this if running multiple animals to have them coordinated
> 		# default is this animal's buildroot.
> 		global_lock_dir => "/home/pgbuildfarm/locks,
> 
> 		# settings for parallel runs
> 		parallel_lockdir => undef,    # default is global_lock_dir
> 		parallel_stagger => undef,    # default 60
> 		max_parallel => undef,        # default 10
> 
> 	},
> 
> 	my_tap_tests => {
> 
> 		# settings for module TestMyTap:
> 		# branch setting can be missing altogether, in which case 'main' is
> 		# used, or it can be a scalar, in which case that is used for all
> 		# branches, or it can be a hashref, in which case the value used
> 		# corresponds to the pg branch being used. 'default' is specified,
> 		# is for any branch not otherwise specified. If PGBRANCH is mapped,
> 		# then the Postgres branch is used.
> 		#
> 		# testset1 => { url => "[email protected]/testrepo.git",
> 		#               branch => 'mymainbranch' # default is 'main'
> 		#             },
> 		# testset2 => { url => "[email protected]/othertestrepo.git",
> 		#               branch => { HEAD => 'main',
> 		#                           default => 'PGBRANCH' },
> 		#             },
> 	},
> 
> );
> 
> 
> # MSVC setup
> 
> if ($conf{using_msvc})
> {
> 	# get the settings from the VisualStudio installation
> 
> 	require "PGBuild/VSenv.pm";    ## no critic (RequireBarewordIncludes)
> 
> 	# ancestor of vcvarsall.bat script we will use
> 	my $VSdir = "c:/Program Files (x86)/Microsoft Visual Studio/2019";
> 
> 	# the more specific you are here the quicker the search will be
> 	# e.g.
> 	# $VSdir = "$VSdir/BuildTools/VC/Auxiliary/Build";
> 
> 	my $vsenv = PGBuild::VSenv::getenv($VSdir, 'x64');
> 
> 	# add other elements to the PATH, LIB and INCLUDE if needed
> 	$vsenv->{PATH} =
> 	  join(';', 'c:/prog/depend/bin', 'c:/other/bin', $vsenv->{PATH});
> 
> 	%{ $conf{build_env} } = (%{ $conf{build_env} }, %$vsenv);
> 
> 	# MSVC non-meson needs a somewhat different style of config opts 
> (why??)
> 	# What we write here will be literally (via Data::Dumper) put into
> 	# the config.pl file for the MSVC build.
> 
> 	# This will be ignored for meson builds, which use meson_opts rather
> 	# than config_opts. See above for meson_opts.
> 
> 	$conf{config_opts} = {
> 		asserts => 1,               # --enable-cassert
> 		integer_datetimes => 1,     # --enable-integer-datetimes
> 		nls => undef,               # --enable-nls=<path>
> 		tcl => 'c:\tcl',            # --with-tcl=<path>
> 		perl => 'c:\perl',          # --with-perl=<path>
> 		python => 'c:\python25',    # --with-python=<path>
> 		krb5 => undef,              # --with-krb5=<path>
> 		ldap => 0,                  # --with-ldap
> 		openssl => undef,           # --with-ssl=<path>
> 		xml => undef,               # --with-libxml=<path>
> 		xslt => undef,              # --with-libxslt=<path>,
> 		iconv => undef,             # path to iconv library
> 		zlib => undef,              # --with-zlib=<path>
> 		tap_tests => undef,         # --enable-tap-tests
> 	};
> 
> }
> 
> ##################################
> #
> # examples of per branch processing
> # tailor as required for your site.
> #
> ##################################
> if ($branch eq 'HEAD')
> {
> 
> 	#	push(@{$conf{config_opts}},"--enable-depend");
> 
> 	#   Note that config_opts is a hashref for MSVC, rather than
> 	#   an arrayref like elsewhere. That means the right way to set
> 	#   semething there is like this:
> 	#
> 	#   $conf{config_opts}->{openssl} = 'c:\path\to\openssl\installation';
> }
> elsif ($branch =~ /^REL7_/)
> {
> 
> 	#    push(@{$conf{config_opts}},"--without-tk");
> }
> 
> 1;

-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 214-642-9640                 E-Mail: [email protected]
US Mail: 13425 Ranch Road 620 N, Apt 718, Austin, TX 78717-1010





^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* Re: HELP -- what am I missing?
  2024-07-31 23:55 HELP -- what am I missing? Larry Rosenman <[email protected]>
@ 2024-08-02 00:06 ` Alvaro Herrera <[email protected]>
  2024-08-02 00:54   ` Re: HELP -- what am I missing? Larry Rosenman <[email protected]>
  2024-08-03 16:31   ` Re: HELP -- what am I missing? Michael Paquier <[email protected]>
  1 sibling, 2 replies; 6+ messages in thread

From: Alvaro Herrera @ 2024-08-02 00:06 UTC (permalink / raw)
  To: Larry Rosenman <[email protected]>; +Cc: Buildfarm Members <[email protected]>

On 2024-Jul-31, Larry Rosenman wrote:

> Given the below config, why is this failing?

This line is broken in your config:

                global_lock_dir => "/home/pgbuildfarm/locks,

You're missing the closing quote.

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
"La virtud es el justo medio entre dos defectos" (Aristóteles)





^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* Re: HELP -- what am I missing?
  2024-07-31 23:55 HELP -- what am I missing? Larry Rosenman <[email protected]>
  2024-08-02 00:06 ` Re: HELP -- what am I missing? Alvaro Herrera <[email protected]>
@ 2024-08-02 00:54   ` Larry Rosenman <[email protected]>
  1 sibling, 0 replies; 6+ messages in thread

From: Larry Rosenman @ 2024-08-02 00:54 UTC (permalink / raw)
  To: Alvaro Herrera <[email protected]>; +Cc: Buildfarm Members <[email protected]>

On 08/01/2024 7:06 pm, Alvaro Herrera wrote:
> On 2024-Jul-31, Larry Rosenman wrote:
> 
>> Given the below config, why is this failing?
> 
> This line is broken in your config:
> 
>                 global_lock_dir => "/home/pgbuildfarm/locks,
> 
> You're missing the closing quote.
Thank You!
-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 214-642-9640                 E-Mail: [email protected]
US Mail: 13425 Ranch Road 620 N, Apt 718, Austin, TX 78717-1010





^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* Re: HELP -- what am I missing?
  2024-07-31 23:55 HELP -- what am I missing? Larry Rosenman <[email protected]>
  2024-08-02 00:06 ` Re: HELP -- what am I missing? Alvaro Herrera <[email protected]>
@ 2024-08-03 16:31   ` Michael Paquier <[email protected]>
  2024-08-03 16:47     ` Re: HELP -- what am I missing? Alvaro Herrera <[email protected]>
  1 sibling, 1 reply; 6+ messages in thread

From: Michael Paquier @ 2024-08-03 16:31 UTC (permalink / raw)
  To: Larry Rosenman <[email protected]>; +Cc: Buildfarm Members <[email protected]>; Alvaro Herrera <[email protected]>

On Thu, Aug 01, 2024 at 08:06:26PM -0400, Alvaro Herrera wrote:
> On 2024-Jul-31, Larry Rosenman wrote:
> 
> > Given the below config, why is this failing?
> 
> This line is broken in your config:
> 
>                 global_lock_dir => "/home/pgbuildfarm/locks,
> 
> You're missing the closing quote.

Larry, note that it is possible to check the syntax of your
configuration file with a command like `perl -cw build-farm.conf`.
--
Michael


Attachments:

  [application/pgp-signature] signature.asc (833B, 2-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* Re: HELP -- what am I missing?
  2024-07-31 23:55 HELP -- what am I missing? Larry Rosenman <[email protected]>
  2024-08-02 00:06 ` Re: HELP -- what am I missing? Alvaro Herrera <[email protected]>
  2024-08-03 16:31   ` Re: HELP -- what am I missing? Michael Paquier <[email protected]>
@ 2024-08-03 16:47     ` Alvaro Herrera <[email protected]>
  0 siblings, 0 replies; 6+ messages in thread

From: Alvaro Herrera @ 2024-08-03 16:47 UTC (permalink / raw)
  To: Michael Paquier <[email protected]>; +Cc: Larry Rosenman <[email protected]>; Buildfarm Members <[email protected]>

On 2024-Aug-04, Michael Paquier wrote:

> Larry, note that it is possible to check the syntax of your
> configuration file with a command like `perl -cw build-farm.conf`.

Right.

The animal in question is already reporting:

https://buildfarm.postgresql.org/cgi-bin/show_history.pl?nm=anaconda&br=HEAD

Cheers

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"Find a bug in a program, and fix it, and the program will work today.
Show the program how to find and fix a bug, and the program
will work forever" (Oliver Silfridge)






^ permalink  raw  reply  [nested|flat] 6+ messages in thread


end of thread, other threads:[~2024-08-03 16:47 UTC | newest]

Thread overview: 6+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2024-07-31 23:55 HELP -- what am I missing? Larry Rosenman <[email protected]>
2024-08-02 00:03 ` Larry Rosenman <[email protected]>
2024-08-02 00:06 ` Alvaro Herrera <[email protected]>
2024-08-02 00:54   ` Larry Rosenman <[email protected]>
2024-08-03 16:31   ` Michael Paquier <[email protected]>
2024-08-03 16:47     ` Alvaro Herrera <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox