Repo sign from storage window fix

pull/108/head
parent b3abb772d6
commit aa0299d3a9
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -188,68 +188,68 @@ void yon_storage_hash_table_clone(GHashTable *source_hash, GHashTable *target_ha
} }
} }
void yon_storage_edit_accept(storage_struct *target_struct, storage_struct *source_struct){ // void yon_storage_edit_accept(storage_struct *target_struct, storage_struct *source_struct){
char *changes = config(STORAGE(target_struct->path)); // char *changes = config(STORAGE(target_struct->path));
if (!yon_char_is_empty(changes)){ // if (!yon_char_is_empty(changes)){
int size; // int size;
config_str parsed = yon_char_parse(changes,&size,";"); // config_str parsed = yon_char_parse(changes,&size,";");
if (size>0&&!yon_char_is_empty(parsed[0])){ // if (size>0&&!yon_char_is_empty(parsed[0])){
int removed_size; // int removed_size;
config_str removed = yon_char_parse(parsed[0],&removed_size,","); // config_str removed = yon_char_parse(parsed[0],&removed_size,",");
for (int i=0;i<removed_size;i++){ // for (int i=0;i<removed_size;i++){
repo_struct *repo = g_hash_table_lookup(target_struct->repos,removed[i]); // repo_struct *repo = g_hash_table_lookup(target_struct->repos,removed[i]);
g_hash_table_remove(target_struct->repos,removed[i]); // g_hash_table_remove(target_struct->repos,removed[i]);
yon_repo_sturct_free_full(repo); // yon_repo_sturct_free_full(repo);
} // }
yon_char_parsed_free(removed,removed_size); // yon_char_parsed_free(removed,removed_size);
} // }
if (size>1&&!yon_char_is_empty(parsed[1])){ // if (size>1&&!yon_char_is_empty(parsed[1])){
int added_size; // int added_size;
config_str added = yon_char_parse(parsed[1],&added_size,","); // config_str added = yon_char_parse(parsed[1],&added_size,",");
for (int i=0;i<added_size;i++){ // for (int i=0;i<added_size;i++){
repo_struct *repo = g_hash_table_lookup(source_struct->repos,added[i]); // repo_struct *repo = g_hash_table_lookup(source_struct->repos,added[i]);
if (repo){ // if (repo){
repo_struct *copy = yon_repo_copy_full(repo); // repo_struct *copy = yon_repo_copy_full(repo);
g_hash_table_insert(target_struct->repos,copy->path,copy); // g_hash_table_insert(target_struct->repos,copy->path,copy);
} // }
char *command = create_storage_command(repo->storage_path,repo->name); // char *command = create_storage_command(repo->storage_path,repo->name);
yon_launch(yon_debug_output("%s\n",command)); // yon_launch(yon_debug_output("%s\n",command));
free(command); // free(command);
} // }
yon_char_parsed_free(added,added_size); // yon_char_parsed_free(added,added_size);
} // }
if (size>2&&!yon_char_is_empty(parsed[2])){ // if (size>2&&!yon_char_is_empty(parsed[2])){
int sign_size; // int sign_size;
config_str sign = yon_char_parse(parsed[2],&sign_size, ","); // config_str sign = yon_char_parse(parsed[2],&sign_size, ",");
for (int i=0;i<sign_size;i++){ // for (int i=0;i<sign_size;i++){
char *sign_key = yon_char_new(sign[i]); // char *sign_key = yon_char_new(sign[i]);
char *key = yon_char_divide_search(sign_key,":",-1); // char *key = yon_char_divide_search(sign_key,":",-1);
repo_struct *repo = g_hash_table_lookup(target_struct->repos,key); // repo_struct *repo = g_hash_table_lookup(target_struct->repos,key);
char *command = repo_sign_command(repo->storage_path,repo->name,sign_key); // char *command = repo_sign_command(repo->storage_path,repo->name,sign_key);
yon_launch(yon_debug_output("%s\n",command)); // yon_launch(yon_debug_output("%s\n",command));
free(command); // free(command);
free(sign_key); // free(sign_key);
free(key); // free(key);
} // }
yon_char_parsed_free(sign,sign_size); // yon_char_parsed_free(sign,sign_size);
} // }
} // }
GList *list = g_hash_table_get_values(source_struct->repos); // GList *list = g_hash_table_get_values(source_struct->repos);
GList *iter; // GList *iter;
char *parameter=NULL; // char *parameter=NULL;
yon_window_config_get_parameter("storage_info",source_struct->path,&parameter,YON_TYPE_STRING); // yon_window_config_get_parameter("storage_info",source_struct->path,&parameter,YON_TYPE_STRING);
for (iter=list;iter;iter=iter->next){ // for (iter=list;iter;iter=iter->next){
repo_struct *repo = (repo_struct*)iter->data; // repo_struct *repo = (repo_struct*)iter->data;
char *temp = yon_char_append_element(parameter,repo->path,","); // char *temp = yon_char_append_element(parameter,repo->path,",");
if (!yon_char_is_empty(parameter)) free(parameter); // if (!yon_char_is_empty(parameter)) free(parameter);
parameter = temp; // parameter = temp;
} // }
g_list_free(list); // g_list_free(list);
yon_window_config_add_instant_parameter(source_struct->path,"storage_info",parameter,YON_TYPE_STRING); // yon_window_config_add_instant_parameter(source_struct->path,"storage_info",parameter,YON_TYPE_STRING);
} // }
void yon_storage_struct_add_repo(storage_struct *storage,repo_struct *repo){ void yon_storage_struct_add_repo(storage_struct *storage,repo_struct *repo){
char *str = config(STORAGE(storage->path)); char *str = config(STORAGE(storage->path));

@ -185,8 +185,9 @@ void yon_storage_remove(char *key, storage_struct *storage,void*){
int size; int size;
config_str parsed = yon_char_parse(parameter,&size,","); config_str parsed = yon_char_parse(parameter,&size,",");
for (int i=0;i<size;i++){ for (int i=0;i<size;i++){
char *sign = config(parsed[i]);
char *repo_name = parsed[i]+yon_char_find_last(parsed[i],'/')+1; char *repo_name = parsed[i]+yon_char_find_last(parsed[i],'/')+1;
char *command = create_storage_command(key,repo_name); char *command = create_storage_command(key,repo_name,sign);
yon_launch(command); yon_launch(command);
free(command); free(command);
} }

@ -58,7 +58,7 @@
#define key_encription_path "/usr/share/ubl-settings-repomanager/csv/crypt-key.csv" #define key_encription_path "/usr/share/ubl-settings-repomanager/csv/crypt-key.csv"
typedef char* string; typedef char* string;
#define create_storage_command(path,name) yon_char_unite("repo-manager add -r '",name,"' -d '", path,"'",NULL) #define create_storage_command(path,name,sign) yon_char_unite("repo-manager add -r '",name,"' -d '", path,"'",!yon_char_is_empty(sign)?" -S ":NULL,sign,NULL)
#define add_packages_command(path,arch,name,packages_path) yon_char_unite("repo-manager add -f -r '",name,"' -a '",arch,"' -d '", path,"' ",packages_path,NULL) #define add_packages_command(path,arch,name,packages_path) yon_char_unite("repo-manager add -f -r '",name,"' -a '",arch,"' -d '", path,"' ",packages_path,NULL)
#define add_packages_sign_command(path,arch,name,repo_sign,pack_sign,packages_path) yon_char_unite("repo-manager add -f -r '",name,"' -a '",arch,"' -d '", path,"' -S ",repo_sign," -s ",pack_sign," ",packages_path,NULL) #define add_packages_sign_command(path,arch,name,repo_sign,pack_sign,packages_path) yon_char_unite("repo-manager add -f -r '",name,"' -a '",arch,"' -d '", path,"' -S ",repo_sign," -s ",pack_sign," ",packages_path,NULL)
#define add_packages_package_sign_command(path,arch,name,sign,packages_path) yon_char_unite("repo-manager add -f -r '",name,"' -a '",arch,"' -d '", path,"' -s '",sign,"' ",packages_path,NULL) #define add_packages_package_sign_command(path,arch,name,sign,packages_path) yon_char_unite("repo-manager add -f -r '",name,"' -a '",arch,"' -d '", path,"' -s '",sign,"' ",packages_path,NULL)

Loading…
Cancel
Save