Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 507524

Summary: sys-apps/portage: `emerge -u @set` should not exit(0) when some packages in @set missed updates (add option making missed updates fatal)
Product: Portage Development Reporter: Rick Farina (Zero_Chaos) <zerochaos>
Component: Core - Interface (emerge)Assignee: Portage team <dev-portage>
Status: CONFIRMED ---    
Severity: normal CC: esigra
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=452732
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 300071    

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.