Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 760783 - sys-apps/portage: warn when a package without existing ebuild in the repos is pulled in
Summary: sys-apps/portage: warn when a package without existing ebuild in the repos is...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 155723
  Show dependency tree
 
Reported: 2020-12-19 22:04 UTC by Pacho Ramos
Modified: 2023-07-25 04:02 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pacho Ramos gentoo-dev 2020-12-19 22:04:54 UTC
Hello,

I have been fighting with an "emerge -uDN world" update in one of the systems I didn't update for some months. At the end, all the conflicts were caused by an old package that was removed some months ago that was still requiring python3.7 and, as a consequence, was preventing the upgrade. The errors where misleading (but that is a different old bug hard to fix) pointing to boost consumers or qt... 

I realized that maybe it would be nice if "emerge -vuDN world" would have warned me about some packages being pulled in even if their ebuild was removed from all the repos I have in my system (but package.mask entry dropped as it was dropped some months ago)

Thanks a lot
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-12-19 22:08:50 UTC
Would this be solved with a depclean after world upgrades? Or am I misunderstanding?
Comment 2 Zac Medico gentoo-dev 2020-12-19 22:22:30 UTC
(In reply to Sam James from comment #1)
> Would this be solved with a depclean after world upgrades? Or am I
> misunderstanding?

It won't removed it if it's in your world file. The behavior related to bug 266836 and bug 651018 is related because it can prevent updates, causing older things to linger around.
Comment 3 Pacho Ramos gentoo-dev 2021-12-09 09:19:48 UTC
Rethinking about this, I think that maybe it would be enough with adding a warning when running depclean and packages without existing ebuilds are present in the system
Comment 4 Pacho Ramos gentoo-dev 2022-01-29 11:45:42 UTC
The warning would also be really useful when updating a system after some months as , most of the times, package.mask entries are removed upon removal.

Thanks a lot
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-02-03 05:30:19 UTC
I'm sorry, yes, I understand you now!

Aside: emerge -ep @world --backtrack=0 is quite good at exposing all of these, but people shouldn't have to do that.
Comment 6 Tiago Marques 2023-06-13 16:43:05 UTC
(In reply to Pacho Ramos from comment #4)
> The warning would also be really useful when updating a system after some
> months as , most of the times, package.mask entries are removed upon removal.
> 
> Thanks a lot

I second Pacho's comment. But I would say a warning is not really helpful, as portage is already very verbose by default.

(In reply to Sam James from comment #5)
> I'm sorry, yes, I understand you now!
> 
> Aside: emerge -ep @world --backtrack=0 is quite good at exposing all of
> these, but people shouldn't have to do that.

Running this, for me, returns this:

emerge: there are no ebuilds to satisfy "sys-kernel/gentoo-sources:5.15.80".
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

But there is a 5.15.110 in tree. I guess kernel sources should use slots for middle version?

I think @world should never store the package version. And for kernel, the slots would be useful for LTS versions one might want to use.

More on the topic, I think there should be a standard command to upgrade the system. Say have 'emerge --upgrade' with no package arguments should do what portage maintainers think is necessary to upgrade the system.
If that involves @world, @system or @installed is up to Portage.

Ideally it would:

- Upgrade what it could with no breakage
- Preserve libs for packages that are not in tree anymore.
- Give you a list of what can't upgraded at the end.