Ticket #33 (closed defect: invalid)

Opened 11 years ago

Last modified 9 years ago

paludis::ReportTask dubs virtual/alsa (new-style) as unused

Reported by: Kugelfang Owned by: ciaranm
Priority: MinorRelease Milestone:
Component: core/paludis Version: 0.30.0
Keywords: Cc: ferdy@…
Blocked By: Blocking:
Distribution: Gentoo

Description (last modified by ciaranm) (diff)

paludis::ReportTask? logic for unused packages is flawed. It claims new-style virtuals are unused, as they aren't recorded in world:

dvandyk@sigma ~ $ paludis --report
Current state of the system

* app-admin/php-toolkit-1.0-r2::installed NOT OK
    Not used by any package in world

* app-portage/conf-update-0.11.0::installed NOT OK
    No longer exists in its original repository

* sys-devel/bin86-0.16.17::installed NOT OK
    Not used by any package in world

* sys-libs/gdbm-1.8.3-r2::installed NOT OK
    Not used by any package in world

* sys-libs/gpm-1.20.1-r4::installed NOT OK
    Not used by any package in world

* virtual/alsa-2.6.16-r8::installed NOT OK
    Not used by any package in world

* virtual/alsa-2.6.16-r9::installed NOT OK
    Not used by any package in world

* virtual/bootloader-0.96-r2::installed NOT OK
    Not used by any package in world

* virtual/cron-4.1-r9::installed NOT OK
    Not used by any package in world

* virtual/logger-1.6.9::installed NOT OK
    Not used by any package in world

* virtual/lpr-1.1.23-r8::installed NOT OK
    No longer exists in its original repository
    Not used by any package in world

Finished processing 192 packages. 12 errors.

Change History

comment:1 Changed 11 years ago by ciaranm

New or old style?

comment:2 Changed 11 years ago by ciaranm

  • Status changed from new to closed
  • Resolution set to worksforme

Really? It doesn't do that here, and the code suggests it shouldn't:

paludis/dep_list/uninstall_list.cc:

    std::list<UninstallListEntry>::iterator i(_imp->uninstall_list.insert(
                _imp->uninstall_list.end(), UninstallListEntry(
                    e, m->get_virtual_interface(), SortedCollection<DepTag::Pointer>::Pointer(
                        new SortedCollection<DepTag::Pointer>::Concrete))));

paludis/tasks/report_task.cc:

        if (! i->skip_uninstall)
            unused.insert(i->package);

Can't reproduce this one.

comment:3 Changed 10 years ago by Hypnos

  • Status changed from closed to reopened
  • Resolution worksforme deleted

I have encountered this bug, using Paludis 0.24.2 and the Gentoo GNUstep overlay. When I install an app like talksoup, the entire GNUstep dependency stack is brought in through the "virtual/gnustep-back" dep in the eclass "gnustep-2". However, later, when I run "paludis --report", the packages in the dependency stack are shown as "Not used by any package in world". The overlay uses "new-style" virtuals.

My initial report is on the Gentoo Forums ( link). Included there is the output of "--report" and my repository config files.

comment:4 Changed 10 years ago by Hypnos

  • Status changed from reopened to closed
  • Resolution set to fixed

Upgrading from paludis-0.24.1 to 0.24.5, I can now install the virtual 'gnustep-back' directly (before, trying this would list no packages to install). Doing this, the bug here goes away.

I am closing this.

comment:5 Changed 9 years ago by Hypnos

  • Status changed from closed to reopened
  • Distribution set to Gentoo
  • Version changed from scm to 0.30.0
  • Resolution fixed deleted

This bug seems to have reappeared; I observe it in Paludis v0.30.0. How to reproduce:

  1. Install 'gnustep-apps/projectcenter'
  1. Try "paludis --uninstall-unused -p" -- you will see the entire dep tree for the new-style virtual 'virtual/gnustep-back' listed as unused.

(All this is from the main Gentoo Portage tree; no overlay required.)

comment:6 follow-up: ↓ 7 Changed 9 years ago by ciaranm

  • Description modified (diff)

Are you sure you have projectcenter in world?

comment:7 in reply to: ↑ 6 Changed 9 years ago by Hypnos

Replying to ciaranm:

Are you sure you have projectcenter in world?

Yes. Also, neither projectcenter nor virtual/gnustep-back are shown as unused, just the dependencies of virtual/gnustep-back .

comment:8 Changed 9 years ago by ciaranm

What does paludis -qDM virtual/gnustep-back show?

comment:9 Changed 9 years ago by Hypnos

* virtual/gnustep-back
    virtuals:                0.12.1 (for gnustep-base/gnustep-back-art:0::gentoo) 0.14.0 (for gnustep-base/gnustep-back-art:0::gentoo)* {:0} 
    gentoo:                  0.12.1 (0.14.0)K {:0} 
    VIRTUAL_FOR:             gnustep-base/gnustep-back-art-0.14.0:0::gentoo
    DEPEND:                  =gnustep-base/gnustep-back-art-0.14.0:0::gentoo
    RDEPEND:                 =gnustep-base/gnustep-back-art-0.14.0:0::gentoo

Key to mask reasons:

* K: keyword

I have 'gnustep-{apps,base,libs}' keyword unmasked, but I do not have 'virtual/gnustep-back ' unmasked.

'virtual/gnustep-back-art-0.14' was indeed installed, but as you see above it is shown masked, so perhaps its dependencies aren't retained. When I unmask 'virtual/gnustep-back' explicitly and then reinstall it manually, I get the correct list of unused packages. (Conversely, when I uninstall, 'virtual/gnustep-back', re-mask it and re-install projectcenter, I get the wrong list of unused packages again.)

So perhaps the bug is, why was 'virtual/gnustep-back-art-0.14' installed in the first place if it was not unmasked? This seems to behave like the old-style virtuals; I understand that the handling of new-style virtuals does deviate from GLEP 37 ...

comment:10 follow-up: ↓ 11 Changed 9 years ago by ciaranm

You have a confused mixture of old-style and new-style virtuals. Why? And why don't you have the new-style virtual installed?

comment:11 in reply to: ↑ 10 Changed 9 years ago by Hypnos

Replying to ciaranm:

You have a confused mixture of old-style and new-style virtuals. Why? And why don't you have the new-style virtual installed?

The new-style virtual is installed; there is no old-style virtual for gnustep-back.

The issue is why did Paludis install virtual/gnustep-back-0.14 when it was not unmasked, instead of virtual/gnustep-back-0.12.1. Having done this, it fails to retain the deps for virtual/gnustep-back-0.14.

comment:12 follow-up: ↓ 13 Changed 9 years ago by ciaranm

Look at the --query output again. You have both old and new style virtuals available, and neither is installed. Why?

comment:13 in reply to: ↑ 12 Changed 9 years ago by Hypnos

  • Status changed from reopened to closed
  • Resolution set to invalid

Replying to ciaranm:

Look at the --query output again. You have both old and new style virtuals available, and neither is installed. Why?

Ah, ok -- there is an old-style virtual entry in "profiles/base/virtuals" in the Gentoo repo.

Commenting that out I get the correct behavior both when querying and installing.

I presume that mixing old-style and new-style virtuals is undefined? I am re-closing this bug and will notify the Gnustep herd.

Note: See TracTickets for help on using tickets.