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