Signature getting for repository

pull/41/head
parent dc3b50ccb6
commit 0b73b84836

@ -1268,6 +1268,38 @@ config_str yon_tree_store_repo_get_archs(GtkTreeStore *target, GtkTreeIter *repo
return final; return final;
} }
char *yon_signature_get(GtkTreeView *target, GtkTreeIter *iter){
GtkTreeIter itar;
GtkTreeModel *model = gtk_tree_view_get_model(target);
char *full_path = gtk_tree_model_get_string_from_iter(GTK_TREE_MODEL(model),iter);
int size;
config_str parsed = yon_char_parse(full_path,&size,":");
if (size==2){
char *storage_path = parsed[0];
char *repo_path = yon_char_unite(parsed[0],":",parsed[1],NULL);
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(model),&itar,storage_path);
char *path;
gtk_tree_model_get(GTK_TREE_MODEL(model),&itar,3,&path,-1);
char *repo;
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(model),&itar,repo_path);
gtk_tree_model_get(GTK_TREE_MODEL(model),&itar,2,&repo,-1);
int status_size;
config_str status = yon_config_load(yon_repo_get_signature(path,repo),&status_size);
char *final_string = NULL;
if (status_size>4){
final_string = yon_char_unite(status[0],status[1],status[2],status[3],NULL);
}
free(full_path);
free(path);
free(repo);
yon_char_parsed_free(parsed,size);
yon_char_parsed_free(status,status_size);
return final_string;
}
return NULL;
}
void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){ void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){
gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),""); gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),"");
gtk_list_store_clear(widgets->RepoFileList); gtk_list_store_clear(widgets->RepoFileList);
@ -1304,7 +1336,8 @@ void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){
int size, arch_size; int size, arch_size;
config_str archs = yon_tree_store_repo_get_archs(widgets->RepoList,&iter,&arch_size); config_str archs = yon_tree_store_repo_get_archs(widgets->RepoList,&iter,&arch_size);
char *archs_string = yon_char_parsed_to_string(archs,arch_size,", "); char *archs_string = yon_char_parsed_to_string(archs,arch_size,", ");
char *info = get_repo_info_label(name,archs_string); char *sign = yon_signature_get(GTK_TREE_VIEW(widgets->ReposTree),&iter);
char *info = get_repo_info_label(name,archs_string,sign);
gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),info); gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),info);
int lvlsize; int lvlsize;
config_str level = yon_tree_store_get_all_at_level(widgets->RepoList,&iter,&lvlsize,2,3); config_str level = yon_tree_store_get_all_at_level(widgets->RepoList,&iter,&lvlsize,2,3);
@ -1323,7 +1356,7 @@ void on_main_tree_selection_changed(GtkWidget *self, main_window *widgets){
gtk_tree_model_iter_parent(GTK_TREE_MODEL(widgets->RepoList),&itor,&iter); gtk_tree_model_iter_parent(GTK_TREE_MODEL(widgets->RepoList),&itor,&iter);
char *trg; char *trg;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&itor,2,&trg,-1); gtk_tree_model_get(GTK_TREE_MODEL(widgets->RepoList),&itor,2,&trg,-1);
char *info = get_arch_info_label(trg,name,"",""); char *info = get_arch_info_label(trg,name);
gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),info); gtk_label_set_text(GTK_LABEL(widgets->InformationLabel),info);
char *packages; char *packages;
int size; int size;

@ -60,6 +60,8 @@ typedef char* string;
#define ubl_settings_update_command "ubl-settings-update" #define ubl_settings_update_command "ubl-settings-update"
#define yon_repo_get_signature(path, repo) yon_char_unite("repo-manager verify --quiet -d ",path," -r ",repo," .",NULL)
#define yon_get_package_name_from_filename(path) yon_char_unite("[[ '",path,"' =~ (.*/)*(.*)-[^-]+-[^-]+-[^-]+\\.pkg\\.tar\\.[^.-]+ ]] && echo ${BASH_REMATCH[2]}",NULL) #define yon_get_package_name_from_filename(path) yon_char_unite("[[ '",path,"' =~ (.*/)*(.*)-[^-]+-[^-]+-[^-]+\\.pkg\\.tar\\.[^.-]+ ]] && echo ${BASH_REMATCH[2]}",NULL)
#define yon_get_filename_from_package_name(target) yon_char_unite("find ${PATH} -maxdepth 1 -regextype egrep -regex \".*/",target,"-[^-]+-[^-]+-[^-]+\\.pkg\\.tar\\.[^-.]*\"",NULL) #define yon_get_filename_from_package_name(target) yon_char_unite("find ${PATH} -maxdepth 1 -regextype egrep -regex \".*/",target,"-[^-]+-[^-]+-[^-]+\\.pkg\\.tar\\.[^-.]*\"",NULL)
@ -73,9 +75,9 @@ typedef char* string;
#define get_storage_info_label(path, repos, archs) yon_char_unite(STORAGE_PATH_LABEL,": ", path,"\n\n", REPOS_LABEL,": ",repos,"\n\n",ARCHS_LABEL,": ",archs,NULL) #define get_storage_info_label(path, repos, archs) yon_char_unite(STORAGE_PATH_LABEL,": ", path,"\n\n", REPOS_LABEL,": ",repos,"\n\n",ARCHS_LABEL,": ",archs,NULL)
#define get_repo_info_label(repos, archs) yon_char_unite(REPO_NAME_LABEL,": ",repos,"\n\n",ARCHS_LABEL,": ",archs,NULL) #define get_repo_info_label(repos, archs,sign) yon_char_unite(REPO_NAME_LABEL,": ",repos,"\n\n",ARCHS_LABEL,": ",archs,"\n\n",sign,NULL)
#define get_arch_info_label(repos, archs,sign,sign_status) yon_char_unite(REPO_NAME_LABEL,": ",repos,"\n\n",ARCHS_LABEL,": ",archs,"\n\n",SIGNATURE_LABEL," ",sign,"\n\n",SIGN_STATUS_LABEL,": ",sign_status,NULL) #define get_arch_info_label(repos, archs) yon_char_unite(REPO_NAME_LABEL,": ",repos,"\n\n",ARCHS_LABEL,": ",archs,NULL)
#define yon_generate_key_command(type,name,email,strength,comment,expire,password) yon_char_unite("gpg --batch --gen-key <<EOF\n\ #define yon_generate_key_command(type,name,email,strength,comment,expire,password) yon_char_unite("gpg --batch --gen-key <<EOF\n\
%echo Generating a basic OpenPGP key\n\ %echo Generating a basic OpenPGP key\n\

Loading…
Cancel
Save