Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 507524 - sys-apps/portage: `emerge -u @set` should not exit(0) when some packages in @set missed updates (add option making missed updates fatal)
Summary: sys-apps/portage: `emerge -u @set` should not exit(0) when some packages in @...
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: 300071
  Show dependency tree
 
Reported: 2014-04-12 18:21 UTC by Rick Farina (Zero_Chaos)
Modified: 2015-06-01 22:19 UTC (History)
1 user (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 Rick Farina (Zero_Chaos) gentoo-dev 2014-04-12 18:21:22 UTC
Some of my scripts have recently started spitting out this error:

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!

Total: 0 packages, Size of downloads: 0 kB

!!! The following update(s) have been skipped due to unsatisfied dependencies
!!! triggered by backtracking:

pentoo/pentoo:0

Nothing to merge; quitting.


pentoo/pentoo is a custom metapackage which controls which packages go on my livecd, so in this case it's basically a package with a few dozen deps.  Clearly something went wrong when calculating the deps, and as such, portage aborted instead of doing what I asked (in this case updating world, where pentoo/pentoo is in the world file).

I find this inappropriate for two reasons:

1.) The error is useless, it tells me nothing about the dep error other than "unsatisfied".
2.) It exits with code 0 indicating success.  I said update world, it didn't update everything in world, I don't believe this was as success at all.

All my scripts are set to trap errors using the return code and drop me to a shell so I can fix it, but in this case, portage returns success and keeps going which is obviously wrong since it didn't succeed.

Please consider changing the return code, and if possible, adding some useful output (although I'm happy with fixing the return code).
Comment 1 SpanKY gentoo-dev 2015-05-31 02:23:00 UTC
please show the exact command line you used
Comment 2 Zac Medico gentoo-dev 2015-05-31 02:51:41 UTC
(In reply to Rick Farina (Zero_Chaos) from comment #0)
> !!! The following update(s) have been skipped due to unsatisfied dependencies
> !!! triggered by backtracking:
> 
> pentoo/pentoo:0

A missed update is not the same as being "unsatisfied". In this case, it's possible for emerge to update some other packages while skipping that update.
Comment 3 Zac Medico gentoo-dev 2015-05-31 02:54:34 UTC
We should make it display precisely which broken dependencies caused the update to be skipped. We could add an option to make missed updates fatal.