1 --- file-roller-2.16.1.old/src/fr-command-rpm.c 2006-10-04 16:37:10.181585000 +0100 2 +++ file-roller-2.16.1/src/fr-command-rpm.c 2006-10-04 16:37:44.987636000 +0100 3 @@ -86,6 +86,16 @@ 4 5 fdata = file_data_new (); 6 7 +#ifdef __sun 8 + fields = split_line (line, 9); 9 + fdata->size = g_ascii_strtoull (fields[4], NULL, 10); 10 + fdata->modified = mktime_from_string (fields[5], fields[6], fields[8]); 11 + g_strfreev (fields); 12 + 13 + /* Full path */ 14 + 15 + name_field = get_last_field (line, 10); 16 +#else 17 fields = split_line (line, 8); 18 fdata->size = g_ascii_strtoull (fields[4], NULL, 10); 19 fdata->modified = mktime_from_string (fields[5], fields[6], fields[7]); 20 @@ -94,6 +104,8 @@ 21 /* Full path */ 22 23 name_field = get_last_field (line, 9); 24 +#endif /* __sun */ 25 + 26 fields = g_strsplit (name_field, " -> ", 2); 27 28 if (fields[1] == NULL) { 29 @@ -133,7 +145,7 @@ 30 31 fr_process_begin_command (comm->process, "rpm2cpio"); 32 fr_process_add_arg (comm->process, comm->e_filename); 33 - fr_process_add_arg (comm->process, "| cpio --list --force-local --verbose"); 34 + fr_process_add_arg (comm->process, "| cpio -i -t -v"); 35 fr_process_end_command (comm->process); 36 fr_process_start (comm->process); 37 } 38 @@ -154,7 +166,7 @@ 39 if (dest_dir != NULL) 40 fr_process_set_working_dir (comm->process, dest_dir); 41 fr_process_add_arg (comm->process, comm->e_filename); 42 - fr_process_add_arg (comm->process, "| cpio --extract --force-local --unconditional --make-directories"); 43 + fr_process_add_arg (comm->process, "| cpio -i -u -d"); 44 for (scan = file_list; scan; scan = scan->next) { 45 char *filename = (char*) scan->data; 46 fr_process_add_arg (comm->process, filename); 47