Date: Tue, 4 May 2021 16:49:18 +0200 From: Michael Gmelin <freebsd@grem.de> To: "@lbutlr" <kremels@kreme.com> Cc: FreeBSD <freebsd-ports@freebsd.org> Subject: Re: Ports recompile for 13.0-RELEASE Message-ID: <20210504164918.07864f1a@bsd64.grem.de> In-Reply-To: <D44CDBA4-E90C-4298-9D61-2C2BD532C318@kreme.com> References: <D44CDBA4-E90C-4298-9D61-2C2BD532C318@kreme.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 4 May 2021 08:10:38 -0600 "@lbutlr" <kremels@kreme.com> wrote: > With the move to FreeBSD 13.0 is there a simple (single step) way to > reinstall all the current ports other than saving off a list of the > ports and then stepping through that list to reinstall them? > It was very inefficient when moving to 12.0 as many ports in the > list, of course, were dependent on other ports, but then got > recompiled, sometimes multiple times. I know I ended up in a make > loop where came was compiled over and over again until I aborted, > listed the current ports, differ on the previous ports, and picked a > port I though would have a lot of reps to restart the compile. I then > did this several more times to get back to where I had been on 11.x Using a local poudriere repo fixes all of the above ;) > > And there's still no way to tell if a port was installed from pkg or > from ports, correct? Since I use MariaDB instead of MySQLI have to be > sure I don't try to use package for anything that will try to install > MySQL instead. The repository the package came from is stored in the annotation tag named "repository". You can see this, e.g., by using pkg query "%n %At %Av" or pkg info -R <packagename> By default this is "FreeBSD" for the official repos. If you install locally ("make install"), it's not set. > > And finally, the release of 13.0 ends the 12.x versions, right? There > will not be a 12.3. See https://www.freebsd.org/security/#sup, there will be a 12.3. > > (And yes, I've tried moving to poudrerie several times and we do not > get on. At all.) Well, that's the recommended way of doing what you're trying to accomplish, otherwise you'll be in dependency hell like we've all been updating our machines in the 2000s. Alternatively, you could create a jail or VM manually, install all packages you need in there from ports using make install. You can retrieve the list of what you need on your target host using pkg query -e "%a = 0" %o Then run "pkg create -a" on that machine to get a set of all binary packages. Then copy those over to your target machine and install them using pkg add. Will be messy, but kind of work. I really would prefer poudriere over that though. Best Michael -- Michael Gmelin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20210504164918.07864f1a>