Re: Testing a port built with poudriere

From: Mark Millard via freebsd-ports <freebsd-ports_at_freebsd.org>
Date: Thu, 27 May 2021 04:34:30 UTC
bob prohaska <fbsd_at_www.zefox.net> write on
Date: Wed, 26 May 2021 19:14:37 -0700 :

> Thanks to help from Mark Millard poudriere successfully finiished
> a build of x11-wm/lxqt on a Pi4. The build command used was 
> poudriere testport -j main x11-wm/lxqt
> 
> A collection of packages turned up in:
> /usr/local/poudriere/data/packages/main-default/.latest/All
> 
> The pkg man page seems to suggest that: 
> pkg -r /usr/local/poudriere/data/packages/main-default/.latest/All install
> would install all of the new packages. Am I reading correctly? 

I've never done the "all packages within the specified"
root directory style of install. "man pkg-install" has
more material than "man pkg" does about the "pkg install"
command and you likely will need to also use the:

     -f, --force
                Force the reinstallation of the package if already installed.

that man pkg-install documents. More to read.

It is possible that things not involved in building or
running lxqt are also messed up and need to be built
and installed in order for your whole environment to
work again, rather than just some parts.

There is a way to clean out the installed ports:

# pkg delete -a

(pkg itself is not deleted.)

Why do you want to install all those ports? Why install
various ports that are only required at build time while
poudriere is building? Why install more than pkg would
normally install to make lxqt run? Tracking the
dependencies is part of the purpose of the mix of pkg
and poudriere use.

Or is your intent to establish a context for using make
style (or portmaster style) building again? (Then having
all the built materials pre-installed makes sense for the
intent.)


> Is it possible to try out the lxqt package without altering the
> existing ports installed using make in the ports tree?

I do not know if the specific software in question tolerates
being operated from a chroot or jail vs. not. I rarely bring
up a graphics environment and have never tried from such a
(nested) environment. So I'm not familiar with what might
have to be configured if it is possible.

Avoid leaving ports installed in the "world area" that
poudriere is set up to use. poudriere is not designed to
deal with such: it expects to be what does the installations
for its own operations and pre-existing ports influence
dependency checking and the like. The normal testport
operation cleans up when you exit that environment, as
I remember. But there are other ways to establish ports
as installed in the "world" that poudriere is using. If
such is attempted, be sure to clean up afterwards.

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