File icu.6969.pkgdata.patch of Package icu

Index: source/tools/pkgdata/pkgdata.cpp
===================================================================
--- source.orig/tools/pkgdata/pkgdata.cpp	2009-06-26 14:57:38.000000000 -0400
+++ source/tools/pkgdata/pkgdata.cpp	2009-06-27 10:12:08.437285758 -0400
@@ -118,6 +118,7 @@
 static void createFileNames(const char *version_major, const char *version, const char *libName, const UBool reverseExt);
 
 static int32_t pkg_getOptionsFromICUConfig(UOption *option);
+static int runCommand(const char* command);
 
 enum {
     NAME,
@@ -461,6 +462,17 @@
     return result;
 }
 
+static int runCommand(const char* command)
+{
+    printf("pkgdata: %s\n", command);
+    int result = system(command);
+    if (result != 0)
+    {
+	printf("-- return status = %d\n", result);
+    }
+    return result;
+}
+
 #define LN_CMD "ln -s"
 #define RM_CMD "rm -f"
 
@@ -724,7 +736,7 @@
             LN_CMD,
             libFileNames[LIB_FILE_VERSION],
             libFileNames[LIB_FILE_VERSION_MAJOR]);
-    result = system(cmd);
+    result = runCommand(cmd);
     if (result != 0) {
         return result;
     }
@@ -737,7 +749,7 @@
             libFileNames[LIB_FILE_VERSION],
             libFileNames[LIB_FILE], pkgDataFlags[SO_EXT]);
 
-     result = system(cmd);
+     result = runCommand(cmd);
 
     return result;
 }
@@ -753,7 +765,7 @@
             installDir, PKGDATA_FILE_SEP_STRING, libFileNames[LIB_FILE_VERSION]
             );
 
-    result = system(cmd);
+    result = runCommand(cmd);
 
     if (result != 0) {
         return result;
@@ -795,7 +807,7 @@
                         srcDir, PKGDATA_FILE_SEP_STRING, buffer,
                         installDir, PKGDATA_FILE_SEP_STRING, buffer);
 
-                result = system(cmd);
+                result = runCommand(cmd);
                 if (result != 0) {
                     fprintf(stderr, "Failed to install data file with command: %s\n", cmd);
                     break;
@@ -815,7 +827,7 @@
     }
 #else
     sprintf(cmd, "%s %s %s %s", WIN_INSTALL_CMD, srcDir, installDir, WIN_INSTALL_CMD_FLAGS);
-    result = system(cmd);
+    result = runCommand(cmd);
     if (result != 0) {
         fprintf(stderr, "Failed to install data file with command: %s\n", cmd);
     }
@@ -849,7 +861,17 @@
                 targetDir,
                 libFileNames[LIB_FILE_VERSION_TMP]);
 
-        result = system(cmd);
+        result = runCommand(cmd);
+        if (result != 0) {
+            return result;
+        }
+
+        sprintf(cmd, "%s %s%s",
+                pkgDataFlags[RANLIB],
+                targetDir,
+                libFileNames[LIB_FILE_VERSION]);
+
+        result = runCommand(cmd);
         if (result != 0) {
             return result;
         }
@@ -860,7 +882,7 @@
                 targetDir,
                 libFileNames[LIB_FILE_VERSION_TMP]);
 
-        result = system(cmd);
+        result = runCommand(cmd);
         if (result != 0) {
             return result;
         }
@@ -908,7 +930,21 @@
                 pkgDataFlags[A_EXT],
                 objectFile);
 
-        result = system(cmd);
+        result = runCommand(cmd);
+        if (result == 0)
+        {
+#ifdef OS400
+            sprintf(cmd, "QSH CMD('%s %s%s.%s')",
+#else
+            sprintf(cmd, "%s %s%s.%s",
+#endif
+                pkgDataFlags[RANLIB],
+                targetDir,
+                libFileNames[LIB_FILE],
+                pkgDataFlags[A_EXT]);
+
+            result = runCommand(cmd);
+        }
     } else /* if (mode == MODE_DLL) */ {
 #ifdef U_CYGWIN
         sprintf(cmd, "%s%s%s %s -o %s%s %s %s%s %s %s",
@@ -935,7 +971,7 @@
                 pkgDataFlags[BIR_FLAGS]);
 
         /* Generate the library file. */
-        result = system(cmd);
+        result = runCommand(cmd);
     }
 
     if (freeCmd) {
@@ -961,7 +997,7 @@
             tempObjectFile,
             gencFilePath);
 
-    result = system(cmd);
+    result = runCommand(cmd);
     if (result != 0) {
         return result;
     }
@@ -1043,7 +1079,7 @@
                         tempObjectFile,
                         gencmnFile);
             
-            result = system(cmd);
+            result = runCommand(cmd);
             if (result != 0) {
                 break;
             }
@@ -1094,7 +1130,7 @@
             sprintf(cmd, "cat %s >> %s", gencmnFile, icudtAll);
 #endif
             
-            result = system(cmd);
+            result = runCommand(cmd);
             if (result != 0) {
                 break;
             }
@@ -1110,7 +1146,7 @@
                     pkgDataFlags[LIBFLAGS],
                     tempObjectFile,
                     gencmnFile);
-        result = system(cmd);
+        result = runCommand(cmd);
         if (result != 0) {
             break;
         }
@@ -1139,7 +1175,7 @@
         tempObjectFile,
         icudtAll);
     
-    result = system(cmd);
+    result = runCommand(cmd);
     if (result == 0) {
         sprintf(buffer, "%s %s",
             buffer,
@@ -1222,7 +1258,7 @@
                 );
     }
 
-    return system(cmd);
+    return runCommand(cmd);
 }
 #endif
 
openSUSE Build Service is sponsored by