Latest System Update Problems

On 20231129, I updated the system and accepted the conditions. I figured I would re-install the software that would be removed so their libraries would be re-synced–well I was so wrong.

The updates were as follows:

INSTALLED/UPDATED

knewstuff-5.93.0-1-x86_64.hpkg
kcalc-22.04.0-1-x86_64.hpkg
qtwebengine_bin-5.15.2-6-x86_64.hpkg
pyqt5-5.15.9-1-x86_64.hpkg
pyqt5_python39-5.15.9-1-x86_64.hpkg
pyqtwebengine5_python39-5.15.6-1-x86_64.hpkg

REMOVED:

calibre-5.32.0-6-x86_64.hpkg
openshot-3.1.0-1-any.hpkg
pyqt5_sip_python39-12.12.2-1-x86_64.hpkg
picard-2.10-1-x86_64.hpkg

The library that was removed has no replacement, which prevents Calibre, Openshot, and Picard to be re-installed. So, I will wait for this mix-up to be resolved.

So, I had to reboot and choose the previous two administrative states to return to what was.

Question: How do I make a previous administrative state to always be the default until the next round updates resolve these issues?

3 Likes

Just in case, I’ve opened an issue over HaikuPorts, to track that pyqt5 update problem.

Thanks, busy day.

I forgot to mention that this all started with the first update in the morning versus the second later that night.

The first occurred with ‘qt5-5.15.9-1-x86_64.hpkg’ that was UPDATRED/INSTALLED.
Later, I discovered that Web was broken and performed the second software update described above.

So, Web is also broken with these updates…

You could try Falkon, with the updated qtwebengine it’s a lot more stable. :slight_smile:

Well, I reverted back to an administrative state prior to the QT -related updates…so Falkon is a no-go. I use Calibre and Web daily.

I use Web+ sparingly due to its lack of ad-blocking.

@ArDrakho, as far as I can see, @korli updated all the affected packages already (with some assists by @Begasus and @Lrrr, if I’m not mistaken), so you should be able to just update to the latest and greatest.

Running pkgman full-sync might be a good idea.

If after that something is still broken, please comment on the mentioned Haikuports issue.

2 Likes

I did only a small fix for the API’s path :slight_smile:

1 Like

I’ve recently looked into activating the code, seems we need to provide a bit off platform specfic code for this.

In the meantime you can use dns based adblocking though with for example the stevenblack hosts file.

I’m not familiar with this. If there is a Haiku checklist that provides step-by-step setup, I could use it and test it. My knowledge of such things is limited to selection of an extension or add-on via the browser’s settings.

  1. Pick a variant of GitHub - StevenBlack/hosts: 🔒 Consolidating and extending hosts files from several well-curated sources. Optionally pick extensions for porn, social media, and other categories.
  2. back up the old /etc/hosst file
  3. replace it with a dowbloaded copy
    ( i think /system/etc/hosts is where ours is, would habe to check)
1 Like

It would be great if that hosts file could be provided in an haikuports package. Would that be possible? Maybe we need some changes to netresolv to load multiple hosts files from various packaged and non-packaged directories?

3 Likes

That should be doable,
the suggestion for multiple files loaded is also good. This will allow to split it up to only the unified hosts and 4 optional extensions instead of shipping all possible variants.

There is a hblock package in HaikuDepot.

hBlock is a shell script that gets a list of domains that serve ads, tracking scripts and malware from multiple sources and creates a hosts file, among other formats, that prevents your system from connecting to them.

3 Likes

In regards to DNS ad-blocking, I will try it soon.

UPDATE: As suggested, I rebooted normally and I updated the system.

  1. Calibre, OpenShot, and Picard are operational now.

  2. Web is still broken…

  3. I attempted to use Ark and that application does not recognize compression methods to open file…

I am updating the link provided above with more details.

2 Likes

I want to completely DELETE the 20231129 update(s) from my system–I want to cleanse it so that I recover to point prior to those updates.

Can I simply delete ‘/boot/system/packages/administrative/state_2023-11-29_21:37:15’ directory
and all downloaded packages with that timestamp from ‘/boot/system/packages/’?

What else do I need to cleanup to get my back to working order–before the QT updates?

SoftwareUpdater needs new features to allow selective updates and complete rollbacks to a restore point.

1 Like

If you remove the status directory
you would loose the only option
to fallback / revert to previous packages.

As new packages under the

/boot/system/packages

If you delete the status directory you would remove your only archived “working old” packages
you assume that worked for you.

In the internet repositories there are only the new versions available - by default.

If you want older versions you can find it locally if you have archived versions from an (any) earlier update directory on locally - at you - or you can reinstall some packages that contains in the install image.

However install image is reduced in size, so probably mentioned QT packages possibly not there as QT is not native libraries in Haiku.

They are required for 3rd party applications’ GUI elements which was built using QT - I am highly recommend to read about the User Guide, and other forum posts as well, regarding installation of Haiku and the native apps and 3rd party.

You can reinstall older versions of packages from this state directory, but I must warn you : some dependencies (packages) might newly installed at updates - you won’t find older versions of them in these state directories.
If it won’t harm your recovery - so you do not experience problem - I would suggest to leave them - and live with them - installed. It might remove automatically by reverting to older versions.
If not and you remove them manually - they might want to remove other dependencies which are belongs now to them - those can be used by other apps.
Recently I could emptied a whole Haiku install apps directory - so to damage my previous Haiku 32 bit install - as I did with kernel packages…
So you have to know precisely what you want to remove.

If you want a really clean install
you create a backup image about your Haiku install - before any update , as it is always recommended before any update/install - and in this case just restore Haiku from that image backup.

Additionally you can have a copy of your install in a VM, and update there first.
You can create clean Haiku if you have a backup copy of the virtual disk file before the any new install in the VM.
If shit happens, you just
shut your VM down,
remove the virtual drive,
copy back saved virtual drive file into the orig one using the orig disk filename on host OS.
Then when you restart the VM with the “restored” file you would have a clean, working Haiku test again.
You’ve just wasted time
once of saving virtual disk file with different name
and
once copy back the disk drive file onto original name.
I assure you – it will be more less painful and lesser time than a restore earlier Haiku state ( and maybe only an attempt if fails with your knowledge or experience)
on your daily system
or even in the VM itself.

Me even asked for two pkgman option – however I had not used such urging tone you had let you use yourself in your post.

Improving pkgman requires a developer with python and high Haiku knowledge about how package manager works as well … such skills as also that a newcomer must to adapt -
I would hope patiently till some developer comes with such skills or among existing developers – whom cover such requirements – have enough time and a mood as well to improve pkgman capabilities.

I asked for a
pkgman revert_all_latest installed (if possible)
and
a kind of ‘pkgman remove_only’
which removes only the explicit one package ( the apps e.g.), but not depencies (e.g. libraries, codecs, fonts, etc.) as well,
which ones used by other packages (apps) too.
I understand - partly - why pkgman do this, but simply annoying as well. Especially when wants to reinstall the removed stuff when you would install back only such earlier “dependencies”.

EDIT : Fix typos and add supplemental “cleaning curves”, sentences.

UPDATE #2:

I removed the software that had a timestamp older that the 20231127 from ‘/boot/system/packages/’ and pjgman made additional de-installations as well. From the assumed ‘cleansed’ position, I re-installed all the missing software that had been removed by identifying the broken links in my menu structure. I had hoped that by doing this would remove the issue(s). It did not…

  1. Calibre, OpenShot, and Picard are still operational now [this occurred prior to update #2].

  2. Web continues to be broken… [this occurred prior to update #2]

  3. Ark still does not recognize compression methods to open an existing zipped file [this occurred prior to update #2] and it crashes when selecting to ‘Create New Archive’

  4. I did not check RawTherapee prior to update #2, but crashes upon start too after update #2

I do not understand how one update impacted so many things in Haiku.

All I know is when Haiku replaced the ‘qt5-5.15.9-1-x86_64.hpkg’ package that morning of 20231129–it broke the Web application and others (that I was unaware of at the time).

The second update later that day broke more.

Besides a wiping the hard drive and performing a clean install–how can I get everything back to working order?

I warned you - this is not the best method … you cannot be sure all the packages covered by your act, especially after you mentioned the package manager also deinstalled further packages.

You did this after I wrote your best friends the saved packeges … those done under the updattes.

On Haiku to downgrade safely the best option is INSTALLATION.

Installation of the saved packages in the status dirs. They will install the necessary dependencies as well.

After your manual intervention … I am not sure this helps you out fully.
However it worths a tryin’.

Anyway, lessons learned for me … and hopefully to you … :
carefully with updates.

If shit happens - install back older version - dependencies should be in the same status directory.

And also - you should have a BACKUP.

Thanks…you did warn me. But PKGMAN should have already have the a process for savepoints and backups…not sure why it was overlooked. That is a very important update proecss feature.

Speaking of backups, as a user–I should not have to perform these backups However, at least the PKGMAN is performing a partial backup now by saving what was superceded and store these into the ‘/boot/system/packages/administrative/state’ directories, which is great.

It should not take muich coding to create a savepoint by capturing ALL the packages in the ‘/boot/system/packages/’ directory where it groups, compresses, and stores the savepoint file prior to the replacements/updates.

If a user has any issues-like me, I can manually restore the system by deleting those files and replace them with the contents saved in the savepoint file by unzipping back into the ‘/boot/system/packages/ directory UNTIL PGKMAN is updated to perform these functions.

Just some thoughts.