Re: Setting default version in Poudriere

From: Pat <cli_junkie_at_protonmail.com>
Date: Fri, 05 Jul 2024 19:40:56 UTC
On Friday, July 5th, 2024 at 08:57, Edward Sanford Sutton, III <mirror176@hotmail.com> wrote:

> 
> 
> On 7/4/24 13:57, Pat wrote:
> 
> > Hello,
> > 
> > Got a couple of rather silly question, but I can't find a definitive
> > answer to either.
> > 
> > If I build PostgreSQL15-server, I get version 15.7. That is the latest
> > version, so not unexpected.
> > 
> > I would like to build version 15.6. Ideally I would like to have both
> > versions available because for the most part I want to install 15.7, but
> > I need 15.6 at the moment.
> > 
> > So my questions are:
> > How do I configure things to have both versions available?
> > If that is not possible, how do I set the default to be 15.6 for now,
> > with the intent of undoing that after my testing?
> 
> 
> There is only one port for version 15; to use 15.6 you need a copy of
> the ports tree with any git commit from
> 6fa897631d45dd11a5b1fcea5993590f9ccbef48 to before
> ade1c57e3a72ec9c4a7c02ce28dbfbd5efcce373 (probably
> de67baaee9ffaf88fa80dcda1f89d83df424d0a4 but I'm bad at sorting through
> git hashes). You could also manually patch the tree to have an older
> copy in place of the newer one.

Thanks for taking the time to reply, and pinning to a specific commit
is in line with some of the information that I found, in particular
in the FreeBSD forums. But that leads to another question.

I haven't done a lot with git in some time, but I am familiar with the
basics. I seem to recall that in order to identify a directory as a
git repo there should be a .git directory and a few other git related
items. I do not see any of that in any of the ports directories. For
instance:

 ls /usr/local/poudriere/ports/default/databases/postgresql15-server
 total 259
 drwxr-xr-x     3 root  wheel     13 May 16 13:07 ./
 drwxr-xr-x  1085 root  wheel   1086 Jun 24 20:19 ../
 -rw-r--r--     1 root  wheel    801 May 16 13:07 Makefile
 -rw-r--r--     1 root  wheel    187 May 16 13:07 distinfo
 drwxr-xr-x     2 root  wheel     18 May 16 13:07 files/
 -rw-r--r--     1 root  wheel   1238 Mar  1 11:12 pkg-descr
 -rw-r--r--     1 root  wheel    482 Mar  1 11:12 pkg-install-server
 -rw-r--r--     1 root  wheel  58816 Mar  1 11:12 pkg-plist-client
 -rw-r--r--     1 root  wheel  10763 Mar  1 11:12 pkg-plist-contrib
 -rw-r--r--     1 root  wheel    979 Mar  1 11:12 pkg-plist-plperl
 -rw-r--r--     1 root  wheel   1389 Mar  1 11:12 pkg-plist-plpython
 -rw-r--r--     1 root  wheel    197 Mar  1 11:12 pkg-plist-pltcl
 -rw-r--r--     1 root  wheel  89992 May 16 13:07 pkg-plist-server

Is that the right tree, or should I be looking elsewhere? I'm just
not sure where run the git commands from. If I knew that I might
could figure the rest out from there.

> With poudriere, you can have multiple ports trees which once created
> you can then select for tasks such as `poudriere bulk -j 14 -p outdated databases/postgresql15-server`
> I'm not sure how easily you can have just a directory separate from
> the ports tree for poudriere to use in a port's place but tools such as
> ports-mgmt/portdowngrade may simplify the process for downgrading the
> port but I haven't tried it since git.
> If you want both versions available simultaneously from 1 poudriere
> run, I presume you need to add a new unique tree entry that is a copy of
> 15.6 under its own named path and add it to databaes's Makefile. If you
> are just doing some a/b testing where you want to keep bouncing back and
> forth, I'd just have the tree with the old version as a separate ports
> tree and do the poudriere build of it and the updated version as 2
> separate repos then change which one pkg looks at and (force?)
> installation of packages for each test.

Yeah, my intent here is to do some simple a/b testing prior to a
production upgrade. I think the easiest option is to just create
two jails, one at the current level, and one at 15.6. I just need to
figure out the pinning part and I'm probably good.

> 
> > Thanks,
> > Pat
> 
>