helloSystem / ISO

helloSystem Live and installation ISO
https://github.com/helloSystem/
BSD 3-Clause "New" or "Revised" License
807 stars 58 forks source link

Introduce a rc script for persistent helloSystem specific system changes #312

Open probonopd opened 2 years ago

probonopd commented 2 years ago

Since package updates can overwrite files that we have modified or removed in helloSystem, we need a way to allow for package updates without resorting to pkg lock.

Example: /usr/local/share/dbus-1/services/org.gtk.vfs.UDisks2VolumeMonitor.service must not be present in helloSystem, yet updating the package will reinstall it.

The idea is to apply the helloSystem specific system changes on each system boot and maybe also after every package installation/update by running an rc script.

This can potentially address

probonopd commented 2 years ago

Since rcorder cannot be changed when rc is already running, maybe it's best to run such a script at shutdown time. This way it already ran before the next boot starts, meaning the next boot will already have the changes.

This of course implies that the installer will have to run this script manually once, right after installation to disk.

grahamperrin commented 2 years ago

/usr/local/share/dbus-1/services/org.gtk.vfs.UDisks2VolumeMonitor.service

Contexts:

% pkg provides /usr/local/share/dbus-1/services/org.gtk.vfs.UDisks2VolumeMonitor.service
Name    : gvfs-1.50.2
Comment : GNOME virtual file system
Repo    : FreeBSD
Filename: usr/local/share/dbus-1/services/org.gtk.vfs.UDisks2VolumeMonitor.service
% file /usr/local/share/dbus-1/services/org.gtk.vfs.UDisks2VolumeMonitor.service
/usr/local/share/dbus-1/services/org.gtk.vfs.UDisks2VolumeMonitor.service: ASCII text
% less /usr/local/share/dbus-1/services/org.gtk.vfs.UDisks2VolumeMonitor.service
% pkg search -o gvfs
devel/gvfs                     GNOME virtual file system
% pkg info --list devel/gvfs | less
% 

https://dbus.freedesktop.org/doc/dbus-specification.html#id-1.13.5.11.5

probonopd commented 2 years ago

@grahamperrin your previous post ist really hard for me to understand, because it contains no subects and no verbs.

What does it want to tell me?

"Updating the gvfs package will restore the unwanted file /usr/local/share/dbus-1/services/org.gtk.vfs.UDisks2VolumeMonitor.service"?

grahamperrin commented 2 years ago

Originally linked https://github.com/helloSystem/Filer/issues/65 was difficult to digest.

https://github.com/helloSystem/ISO/issues/312#issuecomment-1257209155 is a condensed point of reference, to know that:

probonopd commented 2 years ago

Thanks @grahamperrin. Would appreciate if you could use such sentences for all of your posts, as it makes them that much faster and easier to understand.

We are deleting the unwanted file /usr/local/share/dbus-1/services/org.gtk.vfs.UDisks2VolumeMonitor.service manually, but how can we prevent it from being written again by pkg when the devel/gvfs. package gets updated?

Things like this make me believe that package managers are not suitable for end users, as they can screw up a formerly nicely running (albeit heavily customized) system in unexpected ways. Unless you package the whole system in your own custom packages. Which I don't have the time to do.