Skip to content
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

upgrade --preview does not account for layered packages #864

Closed
dustymabe opened this issue Jul 7, 2017 · 10 comments
Closed

upgrade --preview does not account for layered packages #864

dustymabe opened this issue Jul 7, 2017 · 10 comments
Labels

Comments

@dustymabe
Copy link
Member

When we run rpm-ostree upgrade --preview it shows rpms that we have layered as ones that will be removed with the upgrade. We should probably represent the fact that they are layered packages or add logic to note they won't be removed.

[dustymabe@dhcp137-98 ~]$ sudo rpm-ostree status
State: idle
Deployments:
● fedora-atomic:fedora/26/x86_64/atomic-host
                Version: 26.75 (2017-06-27 13:10:42)
             BaseCommit: 407acc2fa9d8cfc7d8dde7e66294bb0355a00dfd5bea5d6b1a4f0f33586faea8
      PendingBaseCommit: 2e8d8dab1c794ff61ba79e60652a687cd1b3c43ad97f0aac38fd271553e58ee2
     PendingBaseVersion: 26.83 (2017-07-05 13:04:12)
        LayeredPackages: git git-annex pciutils tig weechat

  fedora-atomic:fedora/26/x86_64/atomic-host
                Version: 26.68 (2017-06-19 12:55:05)
             BaseCommit: e4f23ea70358a84dae6e900ad7171c551c45926e167d5c9d64c1810d2b771de4
        LayeredPackages: git git-annex tig weechat
[dustymabe@dhcp137-98 ~]$ sudo rpm-ostree upgrade --preview 
[sudo] password for dustymabe: 
Updating from: (null)

7 metadata, 19 content objects fetched; 7524 KiB transferred in 16 seconds                                                                                                                                        
-enchant-1:1.6.0-16.fc26-x86_64
-git-2.13.0-2.fc26-x86_64
-git-annex-6.20170519-1.fc26-x86_64
-git-core-2.13.0-2.fc26-x86_64
-git-core-doc-2.13.0-2.fc26-x86_64
-groff-base-1.22.3-9.fc26-x86_64
!grub2-1:2.02-0.38.fc26-x86_64
=grub2-1:2.02-0.40.fc26-x86_64
!grub2-efi-1:2.02-0.38.fc26-x86_64
=grub2-efi-1:2.02-0.40.fc26-x86_64
!grub2-tools-1:2.02-0.38.fc26-x86_64
=grub2-tools-1:2.02-0.40.fc26-x86_64
-hunspell-1.5.4-2.fc26-x86_64
-hunspell-en-US-0.20140811.1-6.fc26-noarch
-hwdata-0.301-1.fc26-noarch
-pciutils-3.5.4-1.fc26-x86_64
-pciutils-libs-3.5.4-1.fc26-x86_64
-perl-4:5.24.1-390.fc26-x86_64
-perl-Carp-1.40-366.fc26-noarch
-perl-Data-Dumper-2.161-2.fc26-x86_64
-perl-Encode-4:2.88-6.fc26-x86_64
-perl-Errno-1.25-390.fc26-x86_64
-perl-Error-1:0.17024-8.fc26-noarch
-perl-Exporter-5.72-367.fc26-noarch
-perl-File-Path-2.12-367.fc26-noarch
-perl-File-Temp-0.230.400-2.fc26-noarch
-perl-Getopt-Long-2.49.1-2.fc26-noarch
-perl-Git-2.13.0-2.fc26-noarch
-perl-HTTP-Tiny-0.070-2.fc26-noarch
-perl-IO-1.36-390.fc26-x86_64
-perl-IO-Socket-IP-0.39-1.fc26-noarch
-perl-IO-Socket-SSL-2.049-1.fc26-noarch
-perl-MIME-Base64-3.15-366.fc26-x86_64
-perl-Mozilla-CA-20160104-4.fc26-noarch
-perl-Net-SSLeay-1.81-1.fc26-x86_64
-perl-PathTools-3.63-367.fc26-x86_64
-perl-Pod-Escapes-1:1.07-366.fc26-noarch
-perl-Pod-Perldoc-3.28-1.fc26-noarch
-perl-Pod-Simple-1:3.35-2.fc26-noarch
-perl-Pod-Usage-4:1.69-2.fc26-noarch
-perl-Scalar-List-Utils-3:1.47-2.fc26-x86_64
-perl-Socket-4:2.024-2.fc26-x86_64
-perl-Term-ANSIColor-4.06-2.fc26-noarch
-perl-Term-Cap-1.17-366.fc26-noarch
-perl-TermReadKey-2.37-2.fc26-x86_64
-perl-Text-ParseWords-3.30-366.fc26-noarch
-perl-Text-Tabs+Wrap-2013.0523-366.fc26-noarch
-perl-Time-Local-1:1.250-2.fc26-noarch
-perl-URI-1.71-6.fc26-noarch
-perl-Unicode-Normalize-1.25-366.fc26-x86_64
-perl-constant-1.33-368.fc26-noarch
-perl-libnet-3.10-3.fc26-noarch
-perl-libs-4:5.24.1-390.fc26-x86_64
-perl-macros-4:5.24.1-390.fc26-x86_64
-perl-parent-1:0.236-2.fc26-noarch
-perl-podlators-4.09-2.fc26-noarch
-perl-threads-1:2.16-1.fc26-x86_64
-perl-threads-shared-1.57-1.fc26-x86_64
!python3-3.6.1-7.fc26-x86_64
=python3-3.6.1-8.fc26-x86_64
!python3-libs-3.6.1-7.fc26-x86_64
=python3-libs-3.6.1-8.fc26-x86_64
-ruby-libs-2.4.1-79.fc26-x86_64
!system-python-3.6.1-7.fc26-x86_64
=system-python-3.6.1-8.fc26-x86_64
!system-python-libs-3.6.1-7.fc26-x86_64
=system-python-libs-3.6.1-8.fc26-x86_64
!systemd-233-4.fc26-x86_64
=systemd-233-6.fc26-x86_64
!systemd-container-233-4.fc26-x86_64
=systemd-container-233-6.fc26-x86_64
!systemd-libs-233-4.fc26-x86_64
=systemd-libs-233-6.fc26-x86_64
!systemd-pam-233-4.fc26-x86_64
=systemd-pam-233-6.fc26-x86_64
!systemd-udev-233-4.fc26-x86_64
=systemd-udev-233-6.fc26-x86_64
-tcl-1:8.6.6-2.fc26-x86_64
-tig-2.2-4.fc26-x86_64
-weechat-1.7.1-1.fc26-x86_64

the Updating from: (null) is also something that i noticed - i've seen it in the past but can't remember where.

@jlebon jlebon added the bug label Jul 7, 2017
@cgwalters
Copy link
Member

In general can we not talk about upgrade --preview much? I know cockpit uses it, but it conflicts with deltas conceptually and is highly likely to trigger bugs and suboptimal UI in the stack.

This particular issue is really root caused by #391

In general I'd prefer to go down the route of automatic updates; we discussed that previously.

@cgwalters
Copy link
Member

Closing as a dup of #391

@dustymabe
Copy link
Member Author

In general can we not talk about upgrade --preview much?

not sure why - it's a pretty awesome feature. I use it all the time to check if an upgrade contains a version of an RPM I'm interested in yet.

I know cockpit uses it, but it conflicts with deltas conceptually and is highly likely to trigger bugs and suboptimal UI in the stack.

How does it conflict with deltas? I know it doesn't use deltas, but that's the whole point of preview; to just grab enough to show what will change. Does it require downloading the rpmdb from the target commit of the upgrade so that the diff can be displayed and that's why?

@jlebon
Copy link
Member

jlebon commented Jan 18, 2018

FTR, this is fixed in #1147.

Does it require downloading the rpmdb from the target commit of the upgrade so that the diff can be displayed and that's why?

Yup, that's correct.

@dustymabe
Copy link
Member Author

FTR, this is fixed in #1147.

What was fixed exactly? I know we are storing rpm md in the commits md now, so maybe that's why?

@jlebon
Copy link
Member

jlebon commented Jan 18, 2018

What was fixed exactly?

What this bug is about: "upgrade --preview does not account for layered packages" :).

Not exactly related to the new pkglist metadata. #1147 makes --preview use the same code that was written for auto updates which knows how to look for updates of layered pkgs.

@dustymabe
Copy link
Member Author

In general can we not talk about upgrade --preview much?

@cgwalters - does this comment ^^ still apply considering the updates in #1147?

@cgwalters
Copy link
Member

@cgwalters - does this comment ^^ still apply considering the updates in #1147?

I haven't looked how much autoupdates unify the codepaths yet; that was my main issue with it. It's definitely a lot better if we're just fetching one commit object.

Hopefully upgrade --preview is now just the same as the check mode for autoupdates just as an explicit action.

@jlebon
Copy link
Member

jlebon commented Jan 19, 2018

That's correct. upgrade --preview now only fetches the commit object itself as well as rpm-md metadata if packages are layered (in order to look for updates to layered packages).

@dustymabe
Copy link
Member Author

/me assumes that walters is now cool with upgrade --preview. Peace!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants