consequences with pkgs of freebsd-update upgrade?
Valeri Galtsev
galtsev at kicp.uchicago.edu
Sun Nov 17 15:31:17 UTC 2019
> On Nov 17, 2019, at 3:03 AM, Matthew Seaman <matthew at FreeBSD.org> wrote:
>
> On 16/11/2019 18:31, Valeri Galtsev wrote:
>> yes to everything. Basically, you first need to upgrade poudriere
>> machine to the latest base system using freebsd-update, and upgrade all
>> packages on it (poudriere being one of them). Then rebuild all packages
>> you maintain using poudriere. Then upgrade the other system, and
>> re-install all packages on it.
>>
>> Experts will chime in if I’m missing something.
>
> Actually, for the most part, this isn't true. Your poudriere build box
> does not have to exactly match the installed version(s) of your client
> machines.
>
> The actual requirements on your poudriere machine are:
>
> * Same major version as the clients you want to support
> * A supported version of the OS
> * Not newer than any of the clients.
>
With all due respect, this is quite different from what I know about poudriere. And the difference is in the fact that poidriere builds everything in jails. Therefore, here is what I have (Note, that all my machine run RELEASE):
1. host system is the highest version of the RELEASE
2. for poudriere buld the same major/minor versions RELEASE jails are created, collections of packages for each minor/major version is built in jail the base of which is exacly the same as minor/major version as the system you build packages for.
In other words, Matthew, you don’t need to have separate host running FreeBSD 11.3-RELEASE, packages for FreeBSD 11.3-RELEASE can be build on FreeBSD 12.1-RELEASE in jail which has base FreeBSD 11.3-RELEASE
That is the beauty of pouderiere, it is designed to have everything built on one machine.
So, here is what my poudriere box is today:
host system: FreeBSD 12.1-RELEASE
jails packages are built in have base system as the machines packages will be installed on:
Jail1: FreeBSD 12.1-RELEASE
Jail2: FreeBSD 12.0-RELEASE
Jail3: FreeBSD 11.3-RELEASE
…
The simple explanation why it is appropriate is: when built in jail everything is as on the system of level the jail base is, so appropriate libraries are linked etc.
The necessity to run highest version on pourdiere host stems from the fact that you can not run jail of higher version than that of host system.
I hope, everything is clear now.
Valeri
> Thus a 12.0 poudriere machine can be used to maintain packages on a mix
> of 12.0, 12.1 and 12-STABLE machines. However for the 11.x branch,
> you'ld need to be running at lease 11.3-RELEASE in your poudriere
> builder, due to recent changes in the versions supported by the ports.
>
> If you follow these rules you will be able to build and successfully
> serve pkgs of the vast majority of the available ports. There are a few
> exceptions though. These are certain loadable kernel modules, which
> need to be compiled against the same kernel version as you are running
> -- or at least a kernel with the same KBI version.
>
> Cheers,
>
> Matthew
>
>
> Thus a 12.0 poudriere machine can be used to maintain packages on a mix
> of 12.0, 12.1 and 12-STABLE machines. However for the 11.x branch,
> you'ld need to be running at lease 11.3-RELEASE in your poudriere
> builder, due to recent changes in the versions supported by the ports.
>
> If you follow these rules you will be able to build and successfully
> serve pkgs of the vast majority of the available ports. There are a few
> exceptions though. These are certain loadable kernel modules, which
> need to be compiled against the same kernel version as you are running
> -- or at least a kernel with the same KBI version.
>
> Cheers,
>
> Matthew
>
>
++++++++++++++++++++++++++++++++++++++++
Valeri Galtsev
Sr System Administrator
Department of Astronomy and Astrophysics
Kavli Institute for Cosmological Physics
University of Chicago
Phone: 773-702-4247
++++++++++++++++++++++++++++++++++++++++
More information about the freebsd-questions
mailing list