Abort package removal if the prerm script of a package returns non zero.
[oweals/opkg-lede.git] / src / opkg-cl.c
index bf123cd951bac6caff3b7666b3a565cd4b44717f..5b72050ee445e0f3f462a895c9ad9fed1ccfd2e6 100644 (file)
@@ -40,6 +40,7 @@ enum {
        ARGS_OPT_FORCE_REMOVAL_OF_ESSENTIAL_PACKAGES,
        ARGS_OPT_FORCE_SPACE,
        ARGS_OPT_FORCE_POSTINSTALL,
+       ARGS_OPT_FORCE_REMOVE,
        ARGS_OPT_ADD_ARCH,
        ARGS_OPT_ADD_DEST,
        ARGS_OPT_NOACTION,
@@ -79,6 +80,8 @@ static struct option long_options[] = {
                ARGS_OPT_FORCE_REMOVAL_OF_ESSENTIAL_PACKAGES},
        {"force-postinstall", 0, 0, ARGS_OPT_FORCE_POSTINSTALL},
        {"force_postinstall", 0, 0, ARGS_OPT_FORCE_POSTINSTALL},
+       {"force-remove", 0, 0, ARGS_OPT_FORCE_REMOVE},
+       {"force_remove", 0, 0, ARGS_OPT_FORCE_REMOVE},
        {"noaction", 0, 0, ARGS_OPT_NOACTION},
        {"download-only", 0, 0, ARGS_OPT_DOWNLOAD_ONLY},
        {"nodeps", 0, 0, ARGS_OPT_NODEPS},
@@ -166,6 +169,9 @@ args_parse(int argc, char *argv[])
                case ARGS_OPT_FORCE_POSTINSTALL:
                        conf->force_postinstall = 1;
                        break;
+               case ARGS_OPT_FORCE_REMOVE:
+                       conf->force_remove = 1;
+                       break;
                case ARGS_OPT_NODEPS:
                        conf->nodeps = 1;
                        break;
@@ -270,6 +276,7 @@ usage()
        printf("\t--force-downgrade     Allow opkg to downgrade packages\n");
        printf("\t--force-space         Disable free space checks\n");
        printf("\t--force-postinstall   Run postinstall scripts even in offline mode\n");
+       printf("\t--force-remove        Remove package even if prerm script fails\n");
        printf("\t--noaction            No action -- test only\n");
        printf("\t--download-only       No action -- download only\n");
        printf("\t--nodeps              Do not follow dependencies\n");