+2012-04-30 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Correct sequence of installation/removal progress reporting.
+
+ * src/pkgunst.cpp (pkgRemove): Delay output of "removing package ..."
+ message, until after pre-remove hooks have run; this ensures that any
+ output from the pre-remove hook scripts appears in correct sequence.
+
+ * src/pkginst.cpp (pkgInstall): Likewise, for "installing package ..."
+ message, in relation to pre-install hooks.
+
2012-04-26 Keith Marshall <keithmarshall@users.sourceforge.net>
mingw-get-0.5-beta-20120426-1 released.
if( current->HasAttribute( ACTION_DOWNLOAD ) == 0 )
{
/* ...and the required package has been successfully downloaded.
- *
- * FIXME: the notification here is somewhat redundant, but it
- * does maintain symmetry with the "remove" operation, and will
- * make "upgrade" notifications more logical; in any event, it
- * should ultimately be made conditional on a "verbose" mode
- * option selection.
*/
- dmh_printf( " installing %s\n", pkg->GetPropVal( tarname_key, value_unknown ));
if( current->Selection( to_remove ) == NULL )
{
/* The selected package has either not yet been installed,
pkg->InvokeScript( "pre-install" );
/* Now, we may proceed with package installation...
+ *
+ * FIXME: the notification here is somewhat redundant, but it
+ * does maintain symmetry with the "remove" operation, and will
+ * make "upgrade" notifications more logical; in any event, it
+ * should ultimately be made conditional on a "verbose" mode
+ * option selection.
*/
+ dmh_printf( " installing %s\n",
+ pkg->GetPropVal( tarname_key, value_unknown )
+ );
if( match_if_explicit( pkgfile = pkg->ArchiveName(), value_none )
&& ((tarname = pkg->GetPropVal( tarname_key, NULL )) != NULL) )
{
const char *tarname = pkg->GetPropVal( tarname_key, value_unknown );
pkgXmlNode *sysroot = sysroot_lookup( pkg, tarname );
- dmh_printf( " removing %s %s\n", pkg->GetName(), tarname );
-
/* If the package we are about to remove has an associated
- * pre-remove script, now is the time to invoke it.
+ * pre-remove script, now is the time to invoke it...
*/
pkg->InvokeScript( "pre-remove" );
+ /* ...before we proceed to removal of actual package content.
+ */
+ dmh_printf( " removing %s %s\n", pkg->GetName(), tarname );
+
/* Removal of virtual (meta) packages is comparitively simple;
* identified by having an associated archive name of "none", they
* have no associated archive file, no installed footprint on disk,