New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Indicate when reboot is required after Dom0 update #542

Closed
marmarek opened this Issue Mar 8, 2015 · 5 comments

Comments

Projects
None yet
1 participant
@marmarek
Member

marmarek commented Mar 8, 2015

Reported by joanna on 25 Apr 2012 11:07 UTC
None

Migrated-From: https://wiki.qubes-os.org/ticket/542

@marmarek marmarek added this to the Release 1 milestone Mar 8, 2015

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by marmarek on 2 May 2012 23:48 UTC
The short story: already working in gpk-update-viewer!

The long story:
Data flow: gpk-update-viewer requests update list from PackageKit, which fetch it from repository metadata using yum (via PackageKit yum backend). Metadata sent to Packagekit by PackageKit-yum can contain 'reboot_sugested' flag.
This flag can be triggered one of:

  1. 'reboot_sugested' flag in updateinfo.xml.gz in repository metadata (details: http://en.opensuse.org/openSUSE:Standards_Rpm_Metadata_UpdateInfo)
  2. package name listed in hardcoded pkg list:
class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):

    # Packages there require a reboot
    rebootpkgs = ("kernel", "kernel-smp", "kernel-xen-hypervisor", "kernel-PAE",
              "kernel-xen0", "kernel-xenU", "kernel-xen", "kernel-xen-guest",
              "glibc", "hal", "dbus", "xen")

Because of the second option, IMHO there is no need to implement the first one. Which would BTW require some non-trivial work to do it securely, because repository metadata isn't signed by design - only packages have signature (currently we transfer only rpms to dom0 and then recreate metadata).

Of course all of this will work only when using "GUI mode" of qubes-dom0-update (--gui switch). This is default when called by qubes-manager or update-notification icon.

Member

marmarek commented Mar 8, 2015

Comment by marmarek on 2 May 2012 23:48 UTC
The short story: already working in gpk-update-viewer!

The long story:
Data flow: gpk-update-viewer requests update list from PackageKit, which fetch it from repository metadata using yum (via PackageKit yum backend). Metadata sent to Packagekit by PackageKit-yum can contain 'reboot_sugested' flag.
This flag can be triggered one of:

  1. 'reboot_sugested' flag in updateinfo.xml.gz in repository metadata (details: http://en.opensuse.org/openSUSE:Standards_Rpm_Metadata_UpdateInfo)
  2. package name listed in hardcoded pkg list:
class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):

    # Packages there require a reboot
    rebootpkgs = ("kernel", "kernel-smp", "kernel-xen-hypervisor", "kernel-PAE",
              "kernel-xen0", "kernel-xenU", "kernel-xen", "kernel-xen-guest",
              "glibc", "hal", "dbus", "xen")

Because of the second option, IMHO there is no need to implement the first one. Which would BTW require some non-trivial work to do it securely, because repository metadata isn't signed by design - only packages have signature (currently we transfer only rpms to dom0 and then recreate metadata).

Of course all of this will work only when using "GUI mode" of qubes-dom0-update (--gui switch). This is default when called by qubes-manager or update-notification icon.

@marmarek marmarek added the worksforme label Mar 8, 2015

@marmarek marmarek closed this Mar 8, 2015

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by joanna on 3 May 2012 09:31 UTC
Ok, looks good. But there is one more thing -- updates to qubes-manager should probably automatically restart the manager... This might be done in the manager's %post perhaps?

Member

marmarek commented Mar 8, 2015

Comment by joanna on 3 May 2012 09:31 UTC
Ok, looks good. But there is one more thing -- updates to qubes-manager should probably automatically restart the manager... This might be done in the manager's %post perhaps?

@marmarek marmarek removed the worksforme label Mar 8, 2015

@marmarek marmarek reopened this Mar 8, 2015

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by marmarek on 3 May 2012 23:09 UTC
qubes-manager needs to be started in user environment (with some varibles from KDE - at least XAUTHORITY and DBUS session), but rpm is installed without access to it - in corner case from PackageKit daemon...

Perhaps this can be done by doing exec() on some signal, which can sent from rpm %post?

Member

marmarek commented Mar 8, 2015

Comment by marmarek on 3 May 2012 23:09 UTC
qubes-manager needs to be started in user environment (with some varibles from KDE - at least XAUTHORITY and DBUS session), but rpm is installed without access to it - in corner case from PackageKit daemon...

Perhaps this can be done by doing exec() on some signal, which can sent from rpm %post?

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Comment by aga on 15 May 2012 09:07 UTC
Manager restarting after update:

http://git.qubes-os.org/?p=aga/qubes-manager.git;a=commit;h=a974f104352561f03262faef1ec649de10cbdd39

Member

marmarek commented Mar 8, 2015

Comment by aga on 15 May 2012 09:07 UTC
Manager restarting after update:

http://git.qubes-os.org/?p=aga/qubes-manager.git;a=commit;h=a974f104352561f03262faef1ec649de10cbdd39

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 8, 2015

Member

Modified by aga on 15 May 2012 09:07 UTC

Member

marmarek commented Mar 8, 2015

Modified by aga on 15 May 2012 09:07 UTC

@marmarek marmarek closed this Mar 8, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment