opkg: add downloading, configuring and installing state changes
[oweals/opkg-lede.git] / opkg_configure.c
index 16f8347..8309e40 100644 (file)
@@ -18,6 +18,7 @@
 #include "opkg.h"
 
 #include "opkg_configure.h"
+#include "opkg_state.h"
 
 int opkg_configure(opkg_conf_t *conf, pkg_t *pkg)
 {
@@ -28,6 +29,12 @@ int opkg_configure(opkg_conf_t *conf, pkg_t *pkg)
        end of opkg_install(). Do we care? */
     /* DPKG_INCOMPATIBILITY:
        dpkg actually includes a version number to this script call */
+
+    char *pkgid;
+    sprintf_alloc (&pkgid, "%s;%s;%s;", pkg->name, pkg->version, pkg->architecture);
+    opkg_set_current_state (OPKG_STATE_CONFIGURING_PKG, pkgid);
+    free (pkgid);
+
     err = pkg_run_script(conf, pkg, "postinst", "configure");
     if (err) {
        printf("ERROR: %s.postinst returned %d\n", pkg->name, err);
@@ -35,6 +42,7 @@ int opkg_configure(opkg_conf_t *conf, pkg_t *pkg)
     }
 
     opkg_state_changed++;
+    opkg_set_current_state (OPKG_STATE_NONE, NULL);
     return 0;
 }