Implement shlib checks for all pkg revdeps in the transaction.
Added three new test cases to verify its correctness.
This commit is contained in:
		@@ -310,22 +310,22 @@ exec_transaction(struct xbps_handle *xhp, int maxcols, bool yes, bool drun)
 | 
			
		||||
				print_array(array);
 | 
			
		||||
				fprintf(stderr, "Transaction aborted due to unresolved dependencies.\n");
 | 
			
		||||
			}
 | 
			
		||||
		} else if (rv == ENOEXEC) {
 | 
			
		||||
			array = xbps_dictionary_get(xhp->transd, "missing_shlibs");
 | 
			
		||||
			if (xbps_array_count(array)) {
 | 
			
		||||
				/* missing shlibs */
 | 
			
		||||
				print_array(array);
 | 
			
		||||
				fprintf(stderr, "Transaction aborted due to unresolved shlibs.\n");
 | 
			
		||||
			}
 | 
			
		||||
			goto out;
 | 
			
		||||
		} else if (rv == EAGAIN) {
 | 
			
		||||
			/* conflicts */
 | 
			
		||||
			array = xbps_dictionary_get(xhp->transd, "conflicts");
 | 
			
		||||
			print_array(array);
 | 
			
		||||
			fprintf(stderr, "Transaction aborted due to conflicting packages.\n");
 | 
			
		||||
			goto out;
 | 
			
		||||
		} else {
 | 
			
		||||
			xbps_dbg_printf(xhp, "Empty transaction dictionary: %s\n",
 | 
			
		||||
			    strerror(errno));
 | 
			
		||||
		}
 | 
			
		||||
		xbps_dbg_printf(xhp, "Empty transaction dictionary: %s\n",
 | 
			
		||||
		    strerror(errno));
 | 
			
		||||
		goto out;
 | 
			
		||||
	}
 | 
			
		||||
	xbps_dbg_printf(xhp, "Dictionary before transaction happens:\n");
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user