pkg upgrade killed mate

This morning I did something that I promised myself I would not do again. I ran pkg upgrade. After several wasted hours trying to fix whatever had destroyed my personal workstation mate desktop I surrendered, activated my previous beadm, and rebooted.

Now I have a working system again I can post this. I do not know what is going on with pkg or why broken software is being distributed via update but I do know that this sort of behaviour is very sketchy for what claims to be main-line software.
 
Did you run pkg upgrade -y or automatically type y?
Did you run pkg autoremove -y?
Did the pkg upgrade command talk about packages to be removed and you investigated them?
Are you looking at "latest" or "quarterly" package repos?
What are you running, 14.2-RELEASE, 13.x-RELEASE, STABLE, CURRENT?

You're really giving everyone nothing to work with.
You really should define what "...destroyed my personal workstation mate desktop..." actually means.

On a 14.2-RELEASE system "pkg search mate" shows a lot of packages available to install.
I don't use mate because in my opinion the UI/UX sucks, but if you want help you need to give a lot more information.
If you're just venting/complaining, then say so.
 
Just switch to ports, and forget all about pkg, that's what I did. I personally don't really see a need to upgrade the installed packages/ports just because of a new quarterly repo. I don't exactly run honeypots, and stuff from dodgy sites tends to target Windows anyway. On a FreeBSD machine, nothing happens without my permission. 😈
 
Just switch to ports, and forget all about pkg, that's what I did. I personally don't really see a need to upgrade the installed packages/ports just because of a new quarterly repo.
To me it boils down to resources. Do you want to spend your resources (time, CPU, etc) in rebuilding things or do you want to "use those things".
Both positions are valid, both have pros and cons. All depends on what you want (your last sentence).
Upgrading/Updating is always under the decision of the sysadmin.
 
For me personally, this is just the basic system.
Everything else will fall as it did before.
I take risks every day. I update often and regularly.
I have already buried the dream that the "desktop" is some kind of stability in FreeBSD. I believe that everything that is conventionally called a "desktop" is simply working instability, which I hold by the balls through the rollback system, snapshots, etc.
Punks are not dead! I am smoothly switching to Wayland. Do you think it's paradise there? It's the same there. As soon as I installed the "desktop", a bunch of surprises appeared. I solve them with the help of forums, YouTube, etc. This develops me a lot. There is such a thing as UNIXPORN. If you expand it, then this is your MATE with all the bells and whistles, which fell into a ditch. Pull it out with a tractor. If you don't have enough nerves, then I would switch to another system. Read this forum and you will see that 15 years ago it was the SAME. Browsers were leaking the same way, desks, chairs, kitchen utensils were falling the same way, there were the same nerves, etc. It's just punk and hardcore. If you want stability - only the basic system.
 
Did you run pkg upgrade -y or automatically type y?
Did you run pkg autoremove -y?
Did the pkg upgrade command talk about packages to be removed and you investigated them?
Are you looking at "latest" or "quarterly" package repos?
What are you running, 14.2-RELEASE, 13.x-RELEASE, STABLE, CURRENT?

You're really giving everyone nothing to work with.
You really should define what "...destroyed my personal workstation mate desktop..." actually means.

On a 14.2-RELEASE system "pkg search mate" shows a lot of packages available to install.
I don't use mate because in my opinion the UI/UX sucks, but if you want help you need to give a lot more information.
If you're just venting/complaining, then say so.
No pkg autoremove, no pkg upgrade -y, all packages listed to be removed were manually checked using pkg --required-by <name> and nothing obviously wrong was discovered. This is just a case of installing one pkg and discovering that the install pulled in a huge number of required upgrades, including mate. So I ran pkg upgrade to get everything because I have experienced bad results trying to partially upgrade in the past. Mate would have been screwed regardless.

I really do not know what to do.

Setting up and running my own repository would not change the fact that the most recent update to mate evidently caused my system to lose the ability to display a working desktop. All that was shown on the monitors was a flickering display of the desktop icons with no panels and allowed no response from the keyboard or mouse. And that is only one of several issues I have with recent updates. They are all minor in my opinion but they are nonetheless annoying. For example: The most recent qTox no longer provides emojis on my system. The most recent update to LibreOffice but one no longer allows picking files from caja once the first is opened, you have to use the file menu from within the application. The most recent update to Firefox but two or three and thereafter now times out on our webmail app where before it did not. This particular annoyance with Firefox disappears and then reoccurs from time to time following an update.

I doubt that this is the fault of anyone at FreeBSD. I should think that the issues are likely introduced upstream. But the software pkg that results should not be distributed if its intended function is broken regardless if it builds or not.
 
Building it locally would cure the defect how?
Well, there's several advantages to using ports over pre-compiled packages.

For starters, no need to maintain your own repo - a given snapshot of FreeBSD ports will pull in a given snapshot of upstream projects, apply FreeBSD patches, and compile things no problem. It's the exact same process that the FreeBSD project uses when creating the official repos, BTW.

Next, pre-compiled packages are created with a pretty conservative set of options, so they end up missing features I like - sound systems like ALSA/sndio/JACK/PulseAudio/PortAudio/Pipewire come to mind as examples of stuff that gets turned off by whoever creates the official repos. And I've seen plenty of posts on these Forums where people try to resolve issues created by the 'missing a correct sound system'. Standard advice is to recompile the port with the missing sound system turned on - but that is problematic if the version of your copy of the port doesn't match the version that you installed as a pre-compiled package. Why exactly is it problematic? Because failing to match versions will send you straight into dependency hell. I avoid all those headaches by compiling stuff from scratch. 3 straight days evert couple years.

Next, there's no real need to upgrade just because a newer version of the package came out. It's like trying to live in a house whose foundation is built with the very latest version of concrete. Are you gonna pack up and move every time somebody improves a structural house component like concrete or plumbing? Abstract thinking about the problem applies here, as well.

And last, if you do a bit of research, you'll discover that recently, there have been issues with the pkg(8) infrastructure - people are complaining on the Forums about pkg(8) not finding the packages that the official repo maintainers supposedly prepared. Some of that is misconfig on your own machine, some of that is misconfig on the other end of the wire. There's a LOT of details to get right for the whole system to function as documented.

Not to mention that pkg's dependency resolution mechanism sucks - a famous example from these Forums is how it tries to remove www/firefox, and that recurses into dependency hell.

I guess the real defect is the habit of upgrading every time there's a new version, just because. I personally always ask myself if the upgrade is really necessary. For example, I do need Firefox to work. But I know that trying to upgrade just that is gonna result in a train wreck that makes a clean reinstall of the entire FreeBSD system an unavoidable chore. So my strategy is to hold out until Firefox says, "No more, I refuse to work with today's Internet", and starts messing up on sites that it normally did an acceptable job on. By then, the copy of Firefox that I have installed - it's horrendously out of date, and needs to be upgraded. So that's a good time to do a fresh system install. So I grab the freshest available FreeBSD release, the freshest snapshot of ports, and spend a few days compiling my way back into KDE.

And if I catch wind of neat new features - Well, I can just spin up a VM and play with that.
 
Well, I do try to minimize my dependence on pkg. And the issues that I have - they vary from one FreeBSD release to the next. These days, the hardware that I have is actually powerful enough to compile chromium without much trouble. (Not that I really need Chromium for daily driving anyway! :P )

One thing: I learned to avoid in-place upgrade of components altogether. If you compare FreeBSD to assembling a bicycle, it's easier to do an in-place upgrade of a bicycle component than in FreeBSD. On a bicycle, some components can be upgraded in-place without being forced into upgrading the rest of the system. For example, tires or pedals - those can be upgraded with no issues. But to go from V-brakes to disc brakes - that's only possible if you get an entirely new bicycle altogether.
 
Back
Top