@@ -661,10 +661,34 @@ pub fn oma_apt_error_to_output(err: OmaAptError) -> OutputError {
661
661
description : fl ! ( "can-not-mark-reinstall" , name = pkg, version = version) ,
662
662
source : None ,
663
663
} ,
664
- OmaAptError :: DependencyIssue ( ref broken_deps) => {
664
+ OmaAptError :: DependencyIssue {
665
+ broken_depndencies : broken_deps,
666
+ is_solver3,
667
+ apt_errors,
668
+ } => {
665
669
error ! ( "{}" , fl!( "dep-issue-1" ) ) ;
670
+ debug ! ( "{:#?}" , broken_deps) ;
666
671
667
- if !broken_deps. is_empty ( ) {
672
+ if is_solver3 {
673
+ let mut errs = vec ! [ ] ;
674
+
675
+ for err in apt_errors. iter ( ) {
676
+ if !errs. contains ( & err. msg ) {
677
+ errs. push ( err. msg . to_string ( ) ) ;
678
+ }
679
+ }
680
+
681
+ #[ cfg( feature = "aosc" ) ]
682
+ if !errs. is_empty ( ) {
683
+ info ! ( "{}" , fl!( "dep-issue-2" ) ) ;
684
+ }
685
+
686
+ eprintln ! ( ) ;
687
+
688
+ for err in errs {
689
+ msg ! ( "{err}" ) ;
690
+ }
691
+ } else if !broken_deps. is_empty ( ) {
668
692
let name_len_max = broken_deps
669
693
. iter ( )
670
694
. filter ( |dep| !dep. is_empty ( ) )
@@ -683,7 +707,7 @@ pub fn oma_apt_error_to_output(err: OmaAptError) -> OutputError {
683
707
684
708
let mut last_name = "" ;
685
709
686
- for dep in broken_deps {
710
+ for dep in & broken_deps {
687
711
let mut prefix = String :: new ( ) ;
688
712
if last_name != dep[ 0 ] . name {
689
713
prefix = format ! ( "{}:" , dep[ 0 ] . name) ;
0 commit comments