Re: Restarting a failed poudriere session

From: Mark Millard via freebsd-ports <freebsd-ports_at_freebsd.org>
Date: Sat, 03 Jul 2021 00:38:12 UTC
From: bob prohaska <fbsd_at_www.zefox.net> wrote on
Date: Fri, 2 Jul 2021 14:08:12 -0700 :

> There's an option to 
> SAVE_WRKDIR=yes
> in /usr/local/etc/poudriere.conf
> 
> What is its intended use?

It avoids having to remember to type -w on the
poudriere bulk command line.

Both cause a crash in the jail to produce a .txz
(or other tar format) of the /wrkdirs/ directory
tree that it was using when the crash happened.

The can later be extracted and the contents examined
for getting evidence about the problem.

> In particular,
> can it be used to pick up a failed build
> close to the point where it stopped?

No.

Individual builders (jobs) never restart in the
middle: always at the beginning. But prior
completed builders/jobs are not rerun unless
something changed to cause such.

> There's no obvious reference to SAVE_WRKDIR
> in the man page and a web search came up
> empty in terms of what it's good for.

From man poudriere-bulk :

     -w       Save WRKDIR on build failure.  The WRKDIR will be tarred up into
              ${POUDRIERE_DATA}/wrkdirs.

I will note that the WRKDIR concept is not specific to
poudriere but to all the ports infrastructure. From
man ports :

     WRKDIRPREFIX      Where to create any temporary files.  Useful if
                       PORTSDIR is read-only (perhaps mounted from a CD-ROM).

. . .

     SU_CMD            Command used to elevate privilege to configure and
                       install a port.  The unprivileged user must have write
                       access to WRKDIRPREFIX and DISTDIR.  The default is
                       ā€˜/usr/bin/su root -cā€™.  Many users set it to
                       ā€˜/usr/local/bin/sudo -E sh -cā€™ for convenience.


SIDE NOTE:

main has commits today for avoiding the rust build failures.

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)