Installing FreeBSD 14.1 on Desktop - Intel i5-12500

Hello!

Few months ago, I installed FreeBSD 14.0 on Raspberry Pi4 to run Samba server on it. It went really well - you can read my report here: https://liborator.me/articles/samba-vnet.html - and motivated me to try installing FreeBSD as my primary desktop.

This post summarizes my journey and all the pitfalls I encountered until I was successful.

Relevant gear purchased:
  1. processor: intel i5-12500 (with an integrated graphics card, intel UHD 770 graphics) - spec.
  2. motherboard: Gigabyte B6760 DS3H DDR4 (Realtek 2.5GbE NIC) - spec.


Base system installation

Installation of the base system from USB stick went smoothly, I opted for a GELI-encrypted ZFS 1+1 mirrored setup. Kudos to the FreeBSD team for the installer, it is really intuitive!

Problems 1&2: Missing Realtek NIC drivers and inability to bootstrap pkg

After installation, I wanted to run the pkg initial setup:

pkg update

but I encountered an error message about nonexistent internet connectivity. After searching these forums, I stumbled upon a link to a blog post with a similar problem - Realtek NIC drivers are not provided out of the box.

Thus, I was in the chicken-and-egg conundrum - pkg needs internet access to bootstrap itself and installation of NIC driver requires pkg...
Fortunately, installation USB stick comes with a host of packages for offline installation. Among them is pkg, therefore, I was able to bootstrap pkg via the following:

mkdir -p /media/install-usb

# name of your USB stick may differ
mount -t cd9660 /dev/da0p1 /media/install-usb

pkg add /media/install-usb/packages/FreeBSD:14:amd64/All/pkg-1.21.2.pkg

umount /media/install-usb


Then, on another computer, I downloaded the latest Realtek driver:

PKG=realtek-re-kmod-1100.00.pkg; curl https://pkg.freebsd.org/FreeBSD:14:amd64/latest/All/$PKG --output $PKG; unset PKG

put it on a USB stick, mounted it and installed it:

SIGNATURE_TYPE=none pkg add /media/.../realtek-re-kmod-1100.00.pkg

and put the following in /boot/loader.conf :

if_re_load="YES"
if_re_name="/boot/modules/if_re.ko"


(Please take care, even though the strategy outlined in the blog post above works, link for downloading the kernel module is wrong. The one I posted here works.)

I rebooted the machine and was able to update pkg, set up ntpd, install packages and so on...


Problem 3: Intel UHD 770 Graphics not yet supported

The last step to consider my setup reasonably complete was installing XFCE desktop environment. I was following the excellent guide in the handbook. However, after doing all steps outlined in the handbook and rebooting, computer was always crashing when loading the 'i915kms' kernel module, so I was only able to boot in the Recovery mode.

After 2 full system reinstalls and on the verge of rage-quitting and just installing Debian 12 (nothing against it though, it still is my daily driver on a laptop), I found out that the graphics card is only available via pkg in FreeBSD 15, on older versions I need to compile myself - drm-61-kmod - FreshPorts

Therefore, I installed my system with ports included, and as hinted in the FreshPorts link, did the

cd /usr/ports/graphics/drm-61-kmod/ && make install clean

Following this, I repeated the installation instructions from the handbook - https://docs.freebsd.org/en/books/handbook/x11/#x-configuration-intel - and installed XFCE - https://docs.freebsd.org/en/books/handbook/desktop/#xfce-environment and was able to boot successfully to a desktop environment!

(As an aside, I know that handbook strongly discourages mixing installation of packages via pkg and compiling them from ports, but I frankly did not find any other way how to solve my problem.)




Closing thoughts


I hope my report was reasonably clear and helps other people overcome their potential struggles with installation. As I mentioned earlier, there were times I was reevaluating my decisions to install FreeBSD in favour of Linux, but I endured, learnt a ton and ultimately, I am very satisfied with the system and can't wait to learn more about it.

In hindsight, I should have done a bit more research about supported hardware. I had anticipated bleeding edge hardware would not be supported, so I opted for mid-level, not the latest generation gear, but I was still bitten by it.

Audentes Fortuna iuvat.
Libor
 
Thanks for the feedback!

I know that handbook strongly discourages mixing installation of packages via pkg and compiling them from ports, but I frankly did not find any other way how to solve my problem.
It was the correct way. It is advisable not to unnecessarily build stuff from ports when you use packages, but there are cases where it does make sense, be it for ports not available as packages, or ports you may want to build with additional options which aren't enabled by default. As long as you know what you're doing, the potential problems it may cause and how to solve them, there's nothing wrong with it.

Packages for drm-61-kmod are not yet available because packages are still being built for 14.0-RELEASE until its EoL, and drm-61-kmod doesn't work on 14.0 - it requires at least 14-STABLE 1400508, which is somewhere between 14.0-RELEASE (1400000) and 14.1-RELEASE (1401000). When 14.0-RELEASE will reach EoL on September 30, packages will be built for 14.1-RELEASE and you'll get drm-61-kmod through pkg. Unless you locked your self-built package, it will then automatically receive updates, just like if you had installed it from pkg in the first place.
 
In the end an installed port is just another package. Mixing packages from different sources can lead to them being built from different ports trees and with different options and that mixing is what is bad.

If you build your ports from the same point-in-time copy of the ports tree and with the same build options then you can mix them. It would be best if they were built on the same OS major + minor version but the official repos don't make that an option for anything but x.0 builds for several months; API stability and compatibility "usually" works around that.

Packages can depend on other packages/ports but doesn't seem to limit/track specific build options of those dependencies (make options, compiler used to build it, etc.). A prebuilt package won't adapt or test such changes like a port's build step would.

People also use setups like poudriere or synth to build ports in a clean environment. I don't have synth experience but poudriere tracks when a port should be rebuilt when it notices dependency changes.

If you went down the route of building your own kernel then you can also setup a variable in its steps that builds a new ports module as part of the build. The more you build, the more time it takes; it isn't difficult to do, just slower than freebsd-update.

You can wait until your release goes EOL before upgrading to the next minor release to avoid needing to build your own package in this case. It would be safest to have all data fetched to be able to build your own before upgrading just in case to avoid any chicken+egg problem of upgrading the OS and packaged driver being two separate steps. You could consider getting a PCI-E card or USB adapter that is compatible with a driver from the base system if staying with FreeBSD and wanting to avoid this issue; a USB adapter can be a good device to have on hand for general testing when things stop on any system.
 
Another thing as a new user, when you run `pkg upgrade`, watch out for removed packages. Sometimes they are removed because they are replaced with a new-named copy, sometimes a dependency is replaced, but sometimes they are removed because they become incompatible with another package or their newest build failed and they are not compatible with updates to their own dependencies. For some reason the removals are listed first so on a system with many packages you may need to scroll up or log the output to see the removals. With this you can make a better decision for when to upgrade all packages, only upgrade some packages, or wait until official builds or your own private poudriere/synth builds succeeded.
 
Another thing to mention about ports-mgmt/poudriere-devel (maybe the same for ports-mgmt/poudriere).
poudriere somehow stores options for pkgs it built and checks if any of them are changed. If it detect changes in options, poudriere rebuilds it even if ports tree is not updated. I think each pkg should record with which options and BUILD_DEPENDS it was built (maybe in annotations field), not in builder's own databases only.

And I believe mixing local port builds and official pkgs is almost mandatory for GUI (regardless it's X or Wayland) environments on recent hardwares.
At past, GPU drivers for X didn't have kernel modules, so using official packages only was realistic.
But now, recent hardwares severely depends on DRM/KMS drivers and this means kernel modules are mandated. This means that those drivers SHALL BE IN SYNC WITH THE RUNNING KERNEL. But for average users, building ALL ports they use locally would be too much a pain.
 
… For some reason the removals are listed first …

Probably uppermost for awareness.

The number of removals is in the summary at the foot.



Note that a dry run may not forewarn of removals.

An example:

Code:
root@mowa219-gjp4-zbook-freebsd:~ # pkg install --repository FreeBSD-ports --no-repo-update --dry-run dolphin-devel
The following 42 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        dolphin-devel: 24.01.90 [FreeBSD-ports]
        kf6-attica: 6.3.0 [FreeBSD-ports]
        kf6-baloo: 6.3.0 [FreeBSD-ports]
        kf6-breeze-icons: 6.3.0 [FreeBSD-ports]
        kf6-karchive: 6.3.0 [FreeBSD-ports]
        kf6-kauth: 6.3.0 [FreeBSD-ports]
        kf6-kbookmarks: 6.3.0 [FreeBSD-ports]
        kf6-kcmutils: 6.3.0 [FreeBSD-ports]
        kf6-kcodecs: 6.3.0 [FreeBSD-ports]
        kf6-kcolorscheme: 6.3.0 [FreeBSD-ports]
        kf6-kcompletion: 6.3.0 [FreeBSD-ports]
        kf6-kconfig: 6.3.0 [FreeBSD-ports]
        kf6-kconfigwidgets: 6.3.0 [FreeBSD-ports]
        kf6-kcoreaddons: 6.3.0 [FreeBSD-ports]
        kf6-kcrash: 6.3.0 [FreeBSD-ports]
        kf6-kdbusaddons: 6.3.0 [FreeBSD-ports]
        kf6-kded: 6.3.0 [FreeBSD-ports]
        kf6-kdoctools: 6.3.0 [FreeBSD-ports]
        kf6-kfilemetadata: 6.3.0 [FreeBSD-ports]
        kf6-kglobalaccel: 6.3.0 [FreeBSD-ports]
        kf6-kguiaddons: 6.3.0 [FreeBSD-ports]
        kf6-ki18n: 6.3.0 [FreeBSD-ports]
        kf6-kiconthemes: 6.3.0 [FreeBSD-ports]
        kf6-kidletime: 6.3.0 [FreeBSD-ports]
        kf6-kio: 6.3.0 [FreeBSD-ports]
        kf6-kitemviews: 6.3.0 [FreeBSD-ports]
        kf6-kjobwidgets: 6.3.0 [FreeBSD-ports]
        kf6-knewstuff: 6.3.0 [FreeBSD-ports]
        kf6-knotifications: 6.3.0 [FreeBSD-ports]
        kf6-kpackage: 6.3.0 [FreeBSD-ports]
        kf6-kparts: 6.3.0 [FreeBSD-ports]
        kf6-kservice: 6.3.0 [FreeBSD-ports]
        kf6-ktextwidgets: 6.3.0 [FreeBSD-ports]
        kf6-kuserfeedback: 6.3.0 [FreeBSD-ports]
        kf6-kwallet: 6.3.0 [FreeBSD-ports]
        kf6-kwidgetsaddons: 6.3.0 [FreeBSD-ports]
        kf6-kxmlgui: 6.3.0 [FreeBSD-ports]
        kf6-solid: 6.3.0 [FreeBSD-ports]
        kf6-sonnet: 6.3.0 [FreeBSD-ports]
        phonon-qt6: 4.12.0_2 [FreeBSD-ports]
        plasma6-plasma-activities: 6.1.2 [FreeBSD-ports]
        qca-qt6: 2.3.9 [FreeBSD-ports]

Number of packages to be installed: 42

The process will require 140 MiB more space.
27 MiB to be downloaded.
root@mowa219-gjp4-zbook-freebsd:~ #

Code:
root@mowa219-gjp4-zbook-freebsd:~ # pkg clean -a --yes
Nothing to do.
root@mowa219-gjp4-zbook-freebsd:~ # pkg install --repository FreeBSD-ports --yes --fetch-only --quiet dolphin-devel
Conflicts with the existing packages have been found.
One more solver iteration is needed to resolve them.
root@mowa219-gjp4-zbook-freebsd:~ # pkg install --repository FreeBSD-ports --yes --no-repo-update dolphin-devel
Checking integrity... done (8 conflicting)
  - kf6-kuserfeedback-6.3.0 [FreeBSD-ports] conflicts with kuserfeedback-1.3.0 [installed] on /usr/local/bin/UserFeedbackConsole
  - kf6-kuserfeedback-6.3.0 [FreeBSD-ports] conflicts with kuserfeedback-1.3.0 [FreeBSD-ports] on /usr/local/bin/UserFeedbackConsole
  - dolphin-devel-24.01.90 [FreeBSD-ports] conflicts with dolphin-23.08.5 [installed] on /usr/local/bin/dolphin
  - kf6-kguiaddons-6.3.0 [FreeBSD-ports] conflicts with kf5-kguiaddons-5.116.0 [installed] on /usr/local/bin/kde-geo-uri-handler
  - kf6-kguiaddons-6.3.0 [FreeBSD-ports] conflicts with kf5-kguiaddons-5.116.0 [FreeBSD-ports] on /usr/local/bin/kde-geo-uri-handler
  - kf6-breeze-icons-6.3.0 [FreeBSD-ports] conflicts with kf5-breeze-icons-5.116.0 [installed] on /usr/local/share/icons/breeze-dark/actions/12/object-fill.svg
  - kf6-baloo-6.3.0 [FreeBSD-ports] conflicts with kf5-baloo-5.116.0 [installed] on /usr/local/etc/xdg/autostart/baloo_file.desktop
  - kf6-kwallet-6.3.0 [FreeBSD-ports] conflicts with kf5-kwallet-5.116.0_1 [installed] on /usr/local/bin/kwallet-query
Checking integrity... done (0 conflicting)
The following 299 package(s) will be affected (of 0 checked):

Installed packages to be REMOVED:
        akonadi: 23.08.5_1
        akonadi-calendar: 23.08.5
        akonadi-calendar-tools: 23.08.5
        akonadi-contacts: 23.08.5_1
        akonadi-import-wizard: 23.08.5_1
        akonadi-mime: 23.08.5
        akonadi-notes: 23.08.5
        akonadi-search: 23.08.5
        akonadiconsole: 23.08.5_1
        akregator: 23.08.5_1
        ark: 23.08.5_1
        artikulate: 23.08.5
        audiocd-kio: 23.08.5
        baloo-widgets: 23.08.5
        basket: 2.49.a.46_13
        blinken: 23.08.5
        bomber: 23.08.5
        bovo: 23.08.5
        calendarsupport: 23.08.5
        cantor: 23.08.5_4
        dolphin: 23.08.5
        dragon-player: 23.08.5_1
        eventviews: 23.08.5
        falkon: 23.08.5
        filelight: 23.08.5
        ghostwriter: 24.02.2
        granatier: 23.08.5
        grantlee-editor: 23.08.5_1
        grantleetheme: 23.08.5
        gwenview: 23.08.5_3
        incidenceeditor: 23.08.5
        ja-kiten: 23.08.5
        k3b: 23.08.5_1
        kaccounts-integration: 23.08.5_5
        kaccounts-providers: 23.08.5_2
        kaddressbook: 23.08.5_1
        kalarm: 23.08.5
        kalgebra: 23.08.5
        kamera: 23.08.5
        kanagram: 23.08.5
        kapman: 23.08.5
        kate: 23.08.5_2
        katomic: 23.08.5
        kblackbox: 23.08.5
        kblocks: 23.08.5
        kbounce: 23.08.5
        kbreakout: 23.08.5
        kbruch: 23.08.5_1
        kcalc: 23.08.5
        kcalutils: 23.08.5
        kcharselect: 23.08.5
        kcolorchooser: 23.08.5
        kcron: 23.08.5
        kde-baseapps: 23.08.5_2
        kde5: 5.27.11.23.08.5_2
        kdeaccessibility: 23.08.5_1
        kdeadmin: 23.08.5_1
        kdebugsettings: 23.08.5
        kdeconnect-kde: 23.08.5_3
        kdeedu: 23.08.5_1
        kdegames: 23.08.5_1
        kdegraphics: 23.08.5_1
        kdegraphics-mobipocket: 23.08.5
        kdegraphics-svgpart: 23.08.5
        kdegraphics-thumbnailers: 23.08.5_1
        kdemultimedia: 23.08.5_3
        kdemultimedia-ffmpegthumbs: 23.08.5_1
        kdenetwork: 23.08.5_1
        kdenetwork-filesharing: 23.08.5_1
        kdenlive: 23.08.5_1
        kdepim: 23.08.5_2
        kdepim-addons: 23.08.5_1
        kdepim-runtime: 23.08.5_1
        kdeutils: 23.08.5_2
        kdf: 23.08.5
        kdialog: 23.08.5
        kdiamond: 23.08.5
        kdiff3: 1.11.2
        keditbookmarks: 23.08.5_1
        kf5-baloo: 5.116.0
        kf5-breeze-icons: 5.116.0
        kf5-frameworkintegration: 5.116.0
        kf5-frameworks: 5.116.0
        kf5-kbookmarks: 5.116.0
        kf5-kcalendarcore: 5.116.0,1
        kf5-kcmutils: 5.116.0
        kf5-kconfigwidgets: 5.116.0
        kf5-kdav: 5.116.0,1
        kf5-kdeclarative: 5.116.0
        kf5-kdelibs4support: 5.116.0
        kf5-kfilemetadata: 5.116.0
        kf5-kguiaddons: 5.116.0
        kf5-kholidays: 5.116.0
        kf5-khtml: 5.116.0
        kf5-kiconthemes: 5.116.0
        kf5-kinit: 5.116.0
        kf5-kio: 5.116.0
        kf5-kmediaplayer: 5.116.0
        kf5-knewstuff: 5.116.0
        kf5-knotifyconfig: 5.116.0
        kf5-kparts: 5.116.0
        kf5-kross: 5.116.0
        kf5-krunner: 5.116.0
        kf5-ktexteditor: 5.116.0
        kf5-ktextwidgets: 5.116.0
        kf5-kwallet: 5.116.0_1
        kf5-kxmlgui: 5.116.0
        kf5-kxmlrpcclient: 5.116.0
        kf5-plasma-framework: 5.116.0
        kf5-purpose: 5.116.0
        kf5-qqc2-desktop-style: 5.116.0
        kfind: 23.08.5_1
        kfourinline: 23.08.5
        kgeography: 23.08.5
        kgpg: 23.08.5
        khangman: 23.08.5_1
        khelpcenter: 23.08.5
        kidentitymanagement: 23.08.5
        kig: 23.08.5_2
        killbots: 23.08.5
        kimap: 23.08.5
        kio-extras: 23.08.5_2
        kio-fuse: 5.1.0
        kio-gdrive: 23.08.5_1
        kipi-plugins: 23.08.5
        kiriki: 23.08.5
        kitinerary: 23.08.5_2
        kjumpingcube: 23.08.5
        kldap: 23.08.5
        klettres: 23.08.5
        klickety: 23.08.5
        klines: 23.08.5
        kmag: 23.08.5_2
        kmahjongg: 23.08.5
        kmail: 23.08.5_1
        kmail-account-wizard: 23.08.5_1
        kmailtransport: 23.08.5
        kmbox: 23.08.5
        kmime: 23.08.5
        kmines: 23.08.5
        kmousetool: 23.08.5_1
        kmouth: 23.08.5_1
        kmplot: 23.08.5_1
        knavalbattle: 23.08.5
        knetwalk: 23.08.5
        knights: 23.08.5
        kolf: 23.08.5
        kollision: 23.08.5
        kolourpaint: 23.08.5
        kommit: 1.3.1.20
        kompare: 23.08.5
        konqueror: 23.08.5
        konquest: 23.08.5
        konsole: 23.08.5_1
        kontact: 23.08.5
        kontactinterface: 23.08.5
        kopete: 23.08.5_1
        korganizer: 23.08.5
        kpat: 23.08.5_1
        kpimtextedit: 23.08.5
        krdc: 23.08.5
        krename: 5.0.2_4
        kreversi: 23.08.5
        krfb: 23.08.5
        krita: 5.2.2_8
        kruler: 23.08.5
        kshisen: 23.08.5
        ksirk: 23.08.5
        ksmtp: 23.08.5
        ksnakeduel: 23.08.5
        kspaceduel: 23.08.5
        ksquares: 23.08.5
        ksudoku: 23.08.5
        ksystemlog: 23.08.5
        kteatime: 23.08.5
        ktextaddons: 1.5.4
        ktimer: 23.08.5
        ktnef: 23.08.5
        ktuberling: 23.08.5
        kturtle: 23.08.5
        kubrick: 23.08.5
        kuserfeedback: 1.3.0
        kwalletmanager: 23.08.5
        kwordquiz: 23.08.5
        libgravatar: 23.08.5
        libkcddb: 23.08.5
        libkcompactdisc: 23.08.5
        libkdegames: 23.08.5
        libkdepim: 23.08.5
        libkeduvocdocument: 23.08.5
        libkgapi: 23.08.5
        libkipi: 23.08.5_1
        libkleo: 23.08.5_1
        libkmahjongg: 23.08.5
        libkomparediff2: 23.08.5
        libksane: 23.08.5
        libksieve: 23.08.5
        lskat: 23.08.5
        mailcommon: 23.08.5_1
        mailimporter: 23.08.5
        marble: 23.08.5_1
        mbox-importer: 23.08.5_1
        messagelib: 23.08.5_1
        neochat: 23.08.5_3
        okular: 23.08.5_4
        palapeli: 23.08.5
        parley: 23.08.5
        picmi: 23.08.5
        pim-data-exporter: 23.08.5_1
        pim-sieve-editor: 23.08.5
        pimcommon: 23.08.5
        plasma5-breeze: 5.27.11_1
        plasma5-breeze-gtk: 5.27.11
        plasma5-discover: 5.27.11_1
        plasma5-drkonqi: 5.27.11
        plasma5-kactivitymanagerd: 5.27.11
        plasma5-kde-cli-tools: 5.27.11
        plasma5-kde-gtk-config: 5.27.11
        plasma5-kdeplasma-addons: 5.27.11
        plasma5-kgamma: 5.27.11
        plasma5-khotkeys: 5.27.11
        plasma5-kinfocenter: 5.27.11
        plasma5-kmenuedit: 5.27.11
        plasma5-kscreen: 5.27.11
        plasma5-kscreenlocker: 5.27.11
        plasma5-ksshaskpass: 5.27.11
        plasma5-ksysguard: 5.22.0_5
        plasma5-ksystemstats: 5.27.11
        plasma5-kwallet-pam: 5.27.11
        plasma5-kwin: 5.27.11_1
        plasma5-libksysguard: 5.27.11
        plasma5-milou: 5.27.11
        plasma5-oxygen: 5.27.11
        plasma5-plasma: 5.27.11
        plasma5-plasma-browser-integration: 5.27.11
        plasma5-plasma-desktop: 5.27.11
        plasma5-plasma-disks: 5.27.11
        plasma5-plasma-integration: 5.27.11
        plasma5-plasma-pa: 5.27.11
        plasma5-plasma-sdk: 5.27.11.1
        plasma5-plasma-systemmonitor: 5.27.11
        plasma5-plasma-workspace: 5.27.11.1_1
        plasma5-polkit-kde-agent-1: 5.27.11
        plasma5-powerdevil: 5.27.11
        plasma5-sddm-kcm: 5.27.11
        plasma5-systemsettings: 5.27.11
        plasma5-xdg-desktop-portal-kde: 5.27.11
        print-manager: 23.08.5
        rocs: 23.08.5
        skanlite: 23.08.5
        spectacle: 23.08.5_2
        step: 23.08.5_2
        tellico: 3.5.5
        tokodon: 23.08.5_1
        yakuake: 23.08.5
        zanshin: 23.08.5

New packages to be INSTALLED:
        dolphin-devel: 24.01.90 [FreeBSD-ports]
        kf6-attica: 6.3.0 [FreeBSD-ports]
        kf6-baloo: 6.3.0 [FreeBSD-ports]
        kf6-breeze-icons: 6.3.0 [FreeBSD-ports]
        kf6-karchive: 6.3.0 [FreeBSD-ports]
        kf6-kauth: 6.3.0 [FreeBSD-ports]
        kf6-kbookmarks: 6.3.0 [FreeBSD-ports]
        kf6-kcmutils: 6.3.0 [FreeBSD-ports]
        kf6-kcodecs: 6.3.0 [FreeBSD-ports]
        kf6-kcolorscheme: 6.3.0 [FreeBSD-ports]
        kf6-kcompletion: 6.3.0 [FreeBSD-ports]
        kf6-kconfig: 6.3.0 [FreeBSD-ports]
        kf6-kconfigwidgets: 6.3.0 [FreeBSD-ports]
        kf6-kcoreaddons: 6.3.0 [FreeBSD-ports]
        kf6-kcrash: 6.3.0 [FreeBSD-ports]
        kf6-kdbusaddons: 6.3.0 [FreeBSD-ports]
        kf6-kded: 6.3.0 [FreeBSD-ports]
        kf6-kdoctools: 6.3.0 [FreeBSD-ports]
        kf6-kfilemetadata: 6.3.0 [FreeBSD-ports]
        kf6-kglobalaccel: 6.3.0 [FreeBSD-ports]
        kf6-kguiaddons: 6.3.0 [FreeBSD-ports]
        kf6-ki18n: 6.3.0 [FreeBSD-ports]
        kf6-kiconthemes: 6.3.0 [FreeBSD-ports]
        kf6-kidletime: 6.3.0 [FreeBSD-ports]
        kf6-kio: 6.3.0 [FreeBSD-ports]
        kf6-kitemviews: 6.3.0 [FreeBSD-ports]
        kf6-kjobwidgets: 6.3.0 [FreeBSD-ports]
        kf6-knewstuff: 6.3.0 [FreeBSD-ports]
        kf6-knotifications: 6.3.0 [FreeBSD-ports]
        kf6-kpackage: 6.3.0 [FreeBSD-ports]
        kf6-kparts: 6.3.0 [FreeBSD-ports]
        kf6-kservice: 6.3.0 [FreeBSD-ports]
        kf6-ktextwidgets: 6.3.0 [FreeBSD-ports]
        kf6-kuserfeedback: 6.3.0 [FreeBSD-ports]
        kf6-kwallet: 6.3.0 [FreeBSD-ports]
        kf6-kwidgetsaddons: 6.3.0 [FreeBSD-ports]
        kf6-kxmlgui: 6.3.0 [FreeBSD-ports]
        kf6-solid: 6.3.0 [FreeBSD-ports]
        kf6-sonnet: 6.3.0 [FreeBSD-ports]
        phonon-qt6: 4.12.0_2 [FreeBSD-ports]
        plasma6-plasma-activities: 6.1.2 [FreeBSD-ports]
        qca-qt6: 2.3.9 [FreeBSD-ports]

Installed packages to be REINSTALLED:
        pkg-1.21.3 [FreeBSD-ports]

Number of packages to be removed: 256
Number of packages to be installed: 42
Number of packages to be reinstalled: 1

The operation will free 2 GiB.
12 MiB to be downloaded.
[1/1] Fetching pkg-1.21.3.pkg: 100%   12 MiB   6.2MB/s    00:02    
[1/299] Deinstalling kde5-5.27.11.23.08.5_2...
[1/299] Deleting files for kde5-5.27.11.23.08.5_2: 100%
[2/299] Deinstalling kdepim-23.08.5_2...
[2/299] Deleting files for kdepim-23.08.5_2: 100%
[3/299] Deinstalling korganizer-23.08.5...
[3/299] Deleting files for korganizer-23.08.5:   4%^C
root@mowa219-gjp4-zbook-freebsd:~ # pkg install --yes kde5
Updating FreeBSD-ports repository catalogue...
FreeBSD-ports repository is up to date.
Updating FreeBSD-base repository catalogue...
FreeBSD-base repository is up to date.
Updating local-poudriere repository catalogue...
Fetching meta.conf: 100%    178 B   0.2kB/s    00:01    
Fetching data.pkg: 100%  102 KiB 104.5kB/s    00:01    
Processing entries: 100%
The provides database is up-to-date.
local-poudriere repository update completed. 368 packages processed.
All repositories are up to date.
The following 3 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        kde5: 5.27.11.23.08.5_2 [FreeBSD-ports]
        kdepim: 23.08.5_2 [FreeBSD-ports]

Installed packages to be REINSTALLED:
        libdatrie-0.2.13_2 [local-poudriere]

Number of packages to be installed: 2
Number of packages to be reinstalled: 1

3 KiB to be downloaded.
[1/2] Fetching kde5-5.27.11.23.08.5_2.pkg: 100%    1 KiB   1.4kB/s    00:01    
[2/2] Fetching kdepim-23.08.5_2.pkg: 100%    2 KiB   1.7kB/s    00:01    
Checking integrity... done (0 conflicting)
[1/3] Reinstalling libdatrie-0.2.13_2...
[1/3] Extracting libdatrie-0.2.13_2: 100%
[2/3] Installing kdepim-23.08.5_2...
[2/3] Extracting kdepim-23.08.5_2: 100%
[3/3] Installing kde5-5.27.11.23.08.5_2...
[3/3] Extracting kde5-5.27.11.23.08.5_2: 100%
pkg: Package database is busy while closing!
root@mowa219-gjp4-zbook-freebsd:~ # pkg check -d
Checking all packages: 100%
root@mowa219-gjp4-zbook-freebsd:~ # pkg iinfo korganizer
korganizer-23.08.5
root@mowa219-gjp4-zbook-freebsd:~ #
 
Yes poudriere-devel tracks package options. I build with a few options enabled everywhere when it sounds like a generic option that I needed/wanted for 1 port and changing it to test or workaround a bug with it causes a string of things to be rebuilt.

I recall that running pkg upgrade first lists its analysis of what would be done then if proceeding sometimes lists another analysis with differing results needing to be reconfirmed. Awkward to run into and just another point to slip in an 'oops' after I thought I verified things were good. These different outputs were achieved without doing a dryrun step using the dryrun flag; I usually do my 'dry run' by sending a simple 'n' at the confirmation prompt.
 
Back
Top