r4434 - in trunk/src/target/opkg: . libopkg

thomas at docs.openmoko.org thomas at docs.openmoko.org
Wed May 14 13:00:10 CEST 2008


Author: thomas
Date: 2008-05-14 13:00:10 +0200 (Wed, 14 May 2008)
New Revision: 4434

Modified:
   trunk/src/target/opkg/configure.ac
   trunk/src/target/opkg/libopkg/opkg.c
   trunk/src/target/opkg/libopkg/opkg.h
Log:
opkg: add some error codes to libopkg


Modified: trunk/src/target/opkg/configure.ac
===================================================================
--- trunk/src/target/opkg/configure.ac	2008-05-14 09:44:16 UTC (rev 4433)
+++ trunk/src/target/opkg/configure.ac	2008-05-14 11:00:10 UTC (rev 4434)
@@ -1,6 +1,6 @@
 # Process this file with autoconf to produce a configure script
 AC_INIT(libopkg/libopkg.c)
-AM_INIT_AUTOMAKE([opkg], [0.1.3])
+AM_INIT_AUTOMAKE([opkg], [0.1.4])
 AM_CONFIG_HEADER(libopkg/config.h)
 
 AC_CANONICAL_HOST

Modified: trunk/src/target/opkg/libopkg/opkg.c
===================================================================
--- trunk/src/target/opkg/libopkg/opkg.c	2008-05-14 09:44:16 UTC (rev 4433)
+++ trunk/src/target/opkg/libopkg/opkg.c	2008-05-14 11:00:10 UTC (rev 4434)
@@ -378,14 +378,14 @@
   if (old)
   {
     /* XXX: Error: Package is already installed. */
-    return 1;
+    return OPKG_PACKAGE_ALREADY_INSTALLED;
   }
 
   new = pkg_hash_fetch_best_installation_candidate_by_name(opkg->conf, package_name);
   if (!new)
   {
     /* XXX: Error: Could not find package to install */
-    return 1;
+    return OPKG_PACKAGE_NOT_FOUND;
   }
 
   new->state_flag |= SF_USER;
@@ -403,7 +403,7 @@
   {
     /* XXX: Error: Could not satisfy dependencies */
     pkg_vec_free (deps);
-    return 1;
+    return OPKG_DEPENDANCIES_FAILED;
   }
 
   /* insert the package we are installing so that we download it */
@@ -427,7 +427,7 @@
     if (pkg->src == NULL)
     {
       /* XXX: Error: Package not available from any configured src */
-      return 1;
+      return OPKG_PACKAGE_NOT_AVAILABLE;
     }
 
     sprintf_alloc(&url, "%s/%s", pkg->src->value, pkg->filename);
@@ -515,7 +515,7 @@
   if (pkg == NULL)
   {
     /* XXX: Error: Package not installed. */
-    return 1;
+    return OPKG_PACKAGE_NOT_INSTALLED;
   }
 
   pdata.action = OPKG_REMOVE;
@@ -526,7 +526,7 @@
   if (pkg->state_status == SS_NOT_INSTALLED)
   {
     /* XXX:  Error: Package seems to be not installed (STATUS = NOT_INSTALLED). */
-    return 1;
+    return OPKG_PACKAGE_NOT_INSTALLED;
   }
   progress (pdata, 25);
 
@@ -577,7 +577,7 @@
     if (pkg == NULL)
     {
       /* XXX: Error: Package not installed in default_dest */
-      return 1;
+      return OPKG_PACKAGE_NOT_INSTALLED;
     }
   }
   else
@@ -589,7 +589,7 @@
   if (!pkg)
   {
     /* XXX: Error: Package not installed */
-    return 1;
+    return OPKG_PACKAGE_NOT_INSTALLED;
   }
 
   pdata.action = OPKG_INSTALL;
@@ -652,7 +652,7 @@
 opkg_update_package_lists (opkg_t *opkg, opkg_progress_callback_t progress_callback, void *user_data)
 {
   char *tmp;
-  int err;
+  int err, result = 0;
   char *lists_dir;
   pkg_src_list_elt_t *iter;
   pkg_src_t *src;
@@ -762,6 +762,7 @@
     if (err)
     {
       /* XXX: Error: download error */
+      result = OPKG_DOWNLOAD_FAILED;
     }
     free (url);
 
@@ -815,7 +816,7 @@
   free (tmp);
   free (lists_dir);
 
-  return 0;
+  return result;
 }
 
 

Modified: trunk/src/target/opkg/libopkg/opkg.h
===================================================================
--- trunk/src/target/opkg/libopkg/opkg.h	2008-05-14 09:44:16 UTC (rev 4433)
+++ trunk/src/target/opkg/libopkg/opkg.h	2008-05-14 11:00:10 UTC (rev 4434)
@@ -32,6 +32,18 @@
   OPKG_DOWNLOAD
 };
 
+enum _opkg_error_code_t
+{
+  OPKG_NO_ERROR,
+  OPKG_UNKNOWN_ERROR,
+  OPKG_DOWNLOAD_FAILED,
+  OPKG_DEPENDANCIES_FAILED,
+  OPKG_PACKAGE_ALREADY_INSTALLED,
+  OPKG_PACKAGE_NOT_AVAILABLE,
+  OPKG_PACKAGE_NOT_FOUND,
+  OPKG_PACKAGE_NOT_INSTALLED
+};
+
 struct _opkg_package_t
 {
   char *name;





More information about the commitlog mailing list