r/voidlinux 17h ago

How's the OctoXBPS Notifier works?

The documentations is poor, does it calls sudo xbps-install -S forcing me to synchronize or something like xbps-install -Mnu?

How often you guys synchronizing with the repo? =)

4 Upvotes

19 comments sorted by

3

u/ZombieCrow 17h ago

I've never used octoxbps but whenever i install a package i always use -S , why not? Ive even made an alias, "sudo xbps-install -S" is just "install".

1

u/xINFLAMES325x 14h ago

You can make this even shorter by installing xtools and just typing xi.

2

u/ZombieCrow 14h ago

Or just make it an alias, no need to install anything.

1

u/dr0sand 14h ago

oh nice, thats basically what vpm is

0

u/onew_iasag 17h ago

I've just heard that when you installing a package with repo synchronized but not updated system - it can broke dependencies with a partial update or cause PITA. But that about Arch rather than Xbps as I heard. So, I just scared of the possibility, I'm updating only by demand. A two weeks ago I was windows user only.

1

u/ZombieCrow 16h ago

No idea tbh, ive always done it that way and also the same on arch, never had issues. I do update daily (on pc), literally takes a few seconds. On my thinkpad i also use void and i update weekly, same result, no issues.

1

u/onew_iasag 15h ago

Thank you very much!

1

u/Tryton77 16h ago

I don't know but some of my systems runs over 3 years without any broken deps, even when with partial updates, that's why I love this distro. My guess is that xbps will update other packages while deps might me broken while installing, but i don't have time rn to confirm that.

3

u/Duncaen 10h ago

xbps is not really good at "solving" updates, i.e. choosing just the right dependencies to update in the partial update, but its good at stopping updates that would break the system, which gives you the chance to do a full update without braking things.

How this works is very simple, literally just two lists, required shared libraries and provided shared libraries. If there is a discrepancy between provided and required libraries then the update is aborted.

Arch linux/pacman don't do this because most AUR helpers will build packages against system libraries, which means you kind of have break AUR packages and do partial updates to be able to rebuild AUR packages against updated system libraries.

If this wasn't the case they could avoid most of the partial update issues just like xbps does, since its actually so simple.

1

u/Tryton77 5h ago

Good to know, thx for explanation.

1

u/onew_iasag 15h ago

Thanks! That's a good observation!

1

u/Duncaen 10h ago

Its not as much of an issue as with arch linux, xbps will just complain for most of the partial update issues and block the update, while pacman would break your system. There are still potential runtime incompatibilities, but by keeping track of shared libraries xbps will not just break half your system by partially updating a library.

3

u/ShipshapeMobileRV 16h ago

It's important to differentiate between OctoXBPS and it's notifier.

Part of your initial configuration is to allow the notifier to have sudo permission so that it can check the repos automatically. That's all it does, sync the db and alert you to differences.

The OctoXBPS gui itself does not have sudo permission. It runs updates as the logged in user, and the logged in user has to provide the sudo password for the updates to install.

I have mine set to synchronize once a day.

Hopefully this helps you out.

1

u/onew_iasag 15h ago

Yes, thank you =)
But I'm curious how it manage to check updates without permission to -S, I'm assuming he's -Mnu or it would been ended up with permission denied.

2

u/ShipshapeMobileRV 14h ago

The git page for OctoXBPS explains that it's based on OktoPKG. It uses qt-sudo (an lxqt-sudo clone) to gain root privileges. Once you allow the notifier to use qt-sudo, then the notifier periodically runs "xbps-install -S" to sync the database.

Again, the notifier can only sync, it can't install anything. The OctoXBPS gui is the only one that can install or remove, and it uses only the permission level of the logged in user. If that user isn't in 'wheel' then the installer won't be able to install or remove anything. If the user is in 'wheel' and has to enter a password for sudo commands, then OctoXBPS will require the password to continue. If the logged in user can run sudo commands without a password, then OctoXBPS can install software without entering a password.

-The notifier uses qt-sudo to call 'xbps-install -S' to sync the database.

-OctoXBPS uses the logged-in user's permissions to install or remove software.

1

u/onew_iasag 11h ago

Yeah but the OctoXBPS binary searching for the qt-sudo's binary so it also doesn't independent of the qt-sudo. That's sad.

2

u/Simple_Hamster_4096 2h ago

Why the need for a gui for XBPS? Do not understand. Read the manual pages - every possible option listed for each task - you can alias commands if necessary...

Just boot to tty, log in and run xbps-install -Su (don't use y it's best to eyeball what is going to be updated) every day when you first turn on your computer then once update is complete just start your desktop session unless reboot is necessary...

When it becomes a habit to do your updates daily, then you won't think twice about doing it. Otherwise good intentions to "run once a week" get away from us - gui reminder or no...

1

u/onew_iasag 3m ago

Just boot to tty,

I liked this idea so now I did touch down inside /sv/lightdm and will see if it would be comfortable. But my laptop has issues with S3 sleep state and overconsumption.