2012-04-15 Keith Marshall <keithmarshall@users.sourceforge.net>
+ Ensure that package removal requests are correctly scheduled.
+
+ * src/pkgdeps.cpp (pkgXmlDocument::Schedule) [ACTION_REMOVE]: Schedule
+ as a distinct case, when the installed version is not the most recent
+ available release; consideration of this distinct case was previously
+ erroneously overlooked.
+
+2012-04-15 Keith Marshall <keithmarshall@users.sourceforge.net>
+
Correct scheduling of new prerequisites when upgrading.
* src/pkgdeps.cpp (pkgXmlDocument::ResolveDependencies):
ResolveDependencies( upgrade,
Schedule( with_download( action ), latest )
);
- else
+
+ else if( (action & ACTION_MASK) == ACTION_REMOVE )
{
- /* ...but, we decline to proceed with ACTION_INSTALL
+ /* ...while for ACTION_REMOVE, we have little to do,
+ * beyond scheduling the removal; (we don't extend the
+ * scope of a remove request to prerequisite packages,
+ * so there is no need to resolve dependencies)...
+ */
+ latest.SelectPackage( installed );
+ Schedule( action, latest );
+ }
+ else
+ { /* ...but, we decline to proceed with ACTION_INSTALL
* unless the --reinstall option is enabled...
*/
if( pkgOptions()->Test( OPTION_REINSTALL ) )