~teejee2008/ukuu/trunk

« back to all changes in this revision

Viewing changes to src/Common/LinuxKernel.vala

  • Committer: Tony George
  • Date: 2017-02-05 08:22:48 UTC
  • Revision ID: tony.george.kol@gmail.com-20170205082248-v8arb6xsq8z5a9sq
Fixed double entries in list for installed -ckt kernels; Added Refresh buttom to main window

Show diffs side-by-side

added added

removed removed

Lines of Context:
356
356
                check_installed();
357
357
 
358
358
                check_updates();
 
359
 
 
360
                //check_available();
359
361
                
360
362
                task_is_running = false;
361
363
        }
469
471
                                        
470
472
                                        bool found = false;
471
473
                                        foreach(var kernel in kernel_list){
472
 
                                                if (kernel.name == kern.name){
 
474
                                                if (kernel.version_main == kern.version_main){
473
475
                                                        found = true;
 
476
                                                        kernel.apt_pkg_list = kern.apt_pkg_list;
474
477
                                                        break;
475
478
                                                }
476
479
                                        }
554
557
 
555
558
                log_debug("check_available");
556
559
                
557
 
                var list = Package.query_available_packages("^linux-'");
 
560
                var list = Package.query_available_packages("^linux-image");
558
561
 
559
562
                var pkg_versions = new Gee.ArrayList<string>();
560
563
                
575
578
                                        
576
579
                                        bool found = false;
577
580
                                        foreach(var kernel in kernel_list){
578
 
                                                if (kernel.name == kern.name){
 
581
                                                if (kernel.version_main == kern.version_main){
579
582
                                                        found = true;
580
583
                                                        break;
581
584
                                                }
705
708
                                break;
706
709
                        }
707
710
                }
 
711
 
 
712
                if (version_point == -1){
 
713
                        ver_main += ".0";
 
714
                        version_point = 0;
 
715
                }
708
716
                
709
717
                // v3.11-rc1-saucy
710
718
                if (i < arr.length){
715
723
                }
716
724
 
717
725
                // v3.16.7-ckt26-trusty
 
726
                // v3.16.7-040603ckt26-trusty
718
727
                if (i < arr.length){
719
728
                        if (arr[i].contains("ckt")){
720
 
                                ver_main += ".%s".printf(arr[i++].replace("ckt",""));
 
729
                                ver_main += ".%s".printf(arr[i++].split("ckt")[1]);
 
730
                                is_mainline_package = false;
 
731
                                // -ckt kernels are maintained by the Canonical Kernel Team (CKT)
721
732
                        }
722
733
                }
723
734
                
919
930
                        return version_main;
920
931
                }
921
932
        }
 
933
 
 
934
        public string tooltip_text(){
 
935
                string txt = "";
 
936
 
 
937
                string list = "";
 
938
                foreach(string deb in deb_list.keys){
 
939
                        list += "%s\n".printf(deb);
 
940
                }
 
941
                if (list.length > 0){
 
942
                        txt += "<b>%s</b>\n\n%s\n".printf(_("Packages Available (DEB)"), list);
 
943
                }
 
944
 
 
945
                list = "";
 
946
                foreach(string deb in apt_pkg_list.keys){
 
947
                        list += "%s\n".printf(deb);
 
948
                }
 
949
                if (list.length > 0){
 
950
                        txt += "<b>%s</b>\n\n%s\n".printf(_("Packages Installed"), list);
 
951
                }
 
952
                
 
953
                return txt;
 
954
        }
922
955
        
923
956
        // load
924
957
        
1133
1166
 
1134
1167
                        ok = (status == 0);
1135
1168
 
1136
 
                        if (show_grub_menu){
1137
 
                                ok = ok && update_grub_menu();
1138
 
                        }
1139
 
                        
 
1169
                        update_grub_menu();
 
1170
 
1140
1171
                        if (ok){
1141
1172
                                log_msg(_("Installation completed. A reboot is required to use the new kernel."));
1142
1173
                        }
1196
1227
 
1197
1228
                ok = (status == 0);
1198
1229
 
1199
 
                if (show_grub_menu){
1200
 
                        ok = ok && update_grub_menu();
1201
 
                }
 
1230
                update_grub_menu();
1202
1231
 
1203
1232
                if (ok){
1204
1233
                        log_msg(_("Un-install completed"));
1256
1285
                }
1257
1286
                ok = (status == 0);
1258
1287
 
1259
 
                if (show_grub_menu){
1260
 
                        ok = ok && update_grub_menu();
1261
 
                }
 
1288
                update_grub_menu();
1262
1289
 
1263
1290
                if (ok){
1264
1291
                        log_msg(_("Un-install completed"));
1273
1300
        // dep: update-grub
1274
1301
        public static bool update_grub_menu(){
1275
1302
 
1276
 
                if (!show_grub_menu){
1277
 
                        return true;
1278
 
                }
1279
 
                
1280
1303
                string grub_file = "/etc/default/grub";
1281
1304
                if (!file_exists(grub_file)){
1282
1305
                        return false;
1332
1355
                        file_changed = true;
1333
1356
                }
1334
1357
                
1335
 
                if (!file_changed){
1336
 
                        return true; // no need to continue
 
1358
                if (file_changed && show_grub_menu){
 
1359
                        file_write(grub_file, txt);
1337
1360
                }
1338
1361
 
1339
 
                log_msg(_("Updating GRUB menu timeout"));
 
1362
                log_msg(_("Updating GRUB menu"));
1340
1363
                
1341
 
                // save changes
1342
 
                file_write(grub_file, txt);
1343
 
 
1344
1364
                string cmd = "update-grub";
1345
1365
                Posix.system(cmd);
1346
1366