forked from Mirrors/flatpak-builder
parent
4510aa2359
commit
aa2601dbb3
|
@ -693,6 +693,7 @@ gboolean
|
||||||
flatpak_cp_a (GFile *src,
|
flatpak_cp_a (GFile *src,
|
||||||
GFile *dest,
|
GFile *dest,
|
||||||
FlatpakCpFlags flags,
|
FlatpakCpFlags flags,
|
||||||
|
GPtrArray *skip_files,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
|
@ -763,14 +764,29 @@ flatpak_cp_a (GFile *src,
|
||||||
{
|
{
|
||||||
const char *name = g_file_info_get_name (child_info);
|
const char *name = g_file_info_get_name (child_info);
|
||||||
g_autoptr(GFile) src_child = g_file_get_child (src, name);
|
g_autoptr(GFile) src_child = g_file_get_child (src, name);
|
||||||
|
gboolean skip = FALSE;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; skip_files != NULL && i < skip_files->len; i++)
|
||||||
|
{
|
||||||
|
if (g_file_equal (src_child, g_ptr_array_index (skip_files, i)))
|
||||||
|
{
|
||||||
|
skip = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (dest_child)
|
if (dest_child)
|
||||||
g_object_unref (dest_child);
|
g_object_unref (dest_child);
|
||||||
dest_child = g_file_get_child (dest, name);
|
dest_child = g_file_get_child (dest, name);
|
||||||
|
|
||||||
if (g_file_info_get_file_type (child_info) == G_FILE_TYPE_DIRECTORY)
|
if (skip)
|
||||||
{
|
{
|
||||||
if (!flatpak_cp_a (src_child, dest_child, flags,
|
/* skip src */
|
||||||
|
}
|
||||||
|
else if (g_file_info_get_file_type (child_info) == G_FILE_TYPE_DIRECTORY)
|
||||||
|
{
|
||||||
|
if (!flatpak_cp_a (src_child, dest_child, flags, skip_files,
|
||||||
cancellable, error))
|
cancellable, error))
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
|
@ -245,6 +245,7 @@ typedef enum {
|
||||||
gboolean flatpak_cp_a (GFile *src,
|
gboolean flatpak_cp_a (GFile *src,
|
||||||
GFile *dest,
|
GFile *dest,
|
||||||
FlatpakCpFlags flags,
|
FlatpakCpFlags flags,
|
||||||
|
GPtrArray *skip_files,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
||||||
|
|
|
@ -334,7 +334,7 @@ migrate_locale_dir (GFile *source_dir,
|
||||||
|
|
||||||
if (!flatpak_cp_a (child, locale_subdir,
|
if (!flatpak_cp_a (child, locale_subdir,
|
||||||
FLATPAK_CP_FLAGS_MERGE | FLATPAK_CP_FLAGS_MOVE,
|
FLATPAK_CP_FLAGS_MERGE | FLATPAK_CP_FLAGS_MOVE,
|
||||||
NULL, error))
|
NULL, NULL, error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
target = g_build_filename ("../../share/runtime/locale", relative, NULL);
|
target = g_build_filename ("../../share/runtime/locale", relative, NULL);
|
||||||
|
|
Loading…
Reference in New Issue