Open star-buck opened 8 years ago
this should also have priority over other things like the quick-controls sidebar, so lets start this from tomorrow the next two weeks and then continue with sidebar.
I'm doing the mockup.
At the top there's a checkbox to notify the user of new kernels. This notification appears as a Plasma notification.
On the left the KCM shows a list of available kernels to install, their installed status and whether they're LTS or not.
On the right is the changelog.
And at the bottom are the install and remove buttons.
Hi Uri,
I wozld rather prefer something that looks like manjaro, even though that can be optimized. Changelog shoulnot waste space. Also, there is a twist: kernels can be installed, activated, and removed. You could install many kernels and keep them, but lnly one can be active.
I added more fields to the listview:
The arrangement of the buttons changes depending on the conditions of the kernels.
Notice the added button on this one.
Getting on it !
@star-buck @UriHerrera
Are we going to apply the changes when the "apply" buttton is pressed or when the actual "update" or "remove" buttons where pressed ?
I was thinking of only showing a window with a progress bar like the window that comes up when you change the icons. It's this one:
I have made the install/uninstall features. Now about the identification of LTS kernels I would like to know if you guys know another way of getting this info without parsing the kernel.org web.
In Ubuntu kernel packages have names like: linux-image-lts-$RELEASE
for Ubuntu LTS kernels and linux-image-generic
for mainline kernels.
Sadly this is an ubuntu only solution and i guess that we are targeting on Debian.
Any other idea ?
On 03/08/2016, at 3:26 p.m., Uri Herrera notifications@github.com wrote:
In Ubuntu kernels have names like: linux-image-lts-xenial for LTS kernels and linux-image-generic for Ubuntu flavored mainline kernels.
— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.
@Uri: How about "Use default" "Install" "Uninstall" as buttons in that order? We then also dont need "Apply" nor the bottom row with help and reset....
Couple of notes from a quick glance at the code :
You can find more info about kernel images in Debian here : https://tracker.debian.org/pkg/linux
Another way of doing finding available kernels is via the online Debian API.
See :
https://qa.debian.org/madison.php?package=linux&text=on&table=ubuntu https://qa.debian.org/madison.php?package=linux&text=on&table=debian
This has the advantage that you don't have to have the backports repo enabled on a target system to find out if backports has a newer kernel.
I think the latter approach is more versatile but slightly more complicated to implement since you need to be online for the KCM to work and parse the table you get from that service inside your C++ code. With the former approach you can just ask QApt for a list of linux packages and iterate over them.
lets use the former than without the need to being online?
Sure, you could even go with this approach :
@star-buck well if we add use default
I think that'd only work if the user wouldn't remove the kernel that the distro comes with otherwise clicking that would've to re-download the set kernel version.
Remove or uninstall are semantically correct in the context, both are ok to use.
System Settings adds those buttons (help, reset, apply).
I have been testing QApt and found some weird stuff. The results of the "search" function are not quite good as we would expect so I must filter them latter. After that it works as expected in my device but i would recommend to improve this latter.
Also we still need to keep doing some system calls in order to reconfigure grub. It would be great if we could replace it by a native c++ lib as we did with apt, did you know any?
On 04/08/2016, at 6:39 a.m., Rohan Garg notifications@github.com wrote:
Sure, you could even go with this approach :
Find kernels via QApt Check if online via Solid If online, do a online search to find more kernels — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.
Right, i meant "use as default". Or maybe some other text, "set as default" or "set default", where the button is only active when a kernel has been downloaded before.
Ah ok then, the order for an installed kernel would be: install
update
(if available) set as default
remove
The install, uninstall, changelog and update are done, the "set as default" functionality is resulting a little bit tricky I'll open a new issue to discuss it. Here es an screenshot:
Ok, we are done! But there are some details that we must check. We are getting the status info from the kernel.org site but there aren't listed all the kernel releases at least not in a visible place. So the application isn't able to get that info. Did you know somewhere else were to get that info?
Are we goin to remove the "Help", "Reset" and "Apply" buttons ?
Please test and report bugs
@azubieta : please push all code to master (also from other repos) so we can test it, as we only compile and do packages from master.
@azubieta Maybe you can look at kcm-grub2 to see what they do https://quickgit.kde.org/?p=kcm-grub2.git
Well at the end I able to made all the functionalities. For setting de default entry to grub I parsed the grub.cfg file taking the entries ids and the linux kernel file that they reference. Later I search for the package that installed this file so there should no be mismatches.
But I'll take a look at the kcm-grub.
Also I was thinking that showing the packages names to install could be a little misleading because we will have: linux-image-generic linux-image-4.2.0-19-generic
Referring to the same kernel.
On 08/08/2016, at 6:48 a.m., Rohan Garg notifications@github.com wrote:
@azubieta Maybe you can look at kcm-grub2 to see what they do https://quickgit.kde.org/?p=kcm-grub2.git
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
@azubieta If the packages have the same version of the kernel only show the packages with names that contain the version number.
Reset would be disabled, Help is the system settings help button. Yeah Apply should be changed to Accept since the user would click install to "apply" the kernel and it'd be redundant to have it.
Isnt there a way to disable or hide the buttons not needed? I think different kcms have different buttons visible, so in case we do not need "Apply" or Help, it would be best to hide them all.
here is an example from manjaro, but it is non-qt and arch:
Here is the code to have a look: https://github.com/manjaro/manjaro-settings-manager/tree/master/src/modules/kernel
also here is how to change kernels on debian stable: https://wiki.debian.org/HowToUpgradeKernel
https://www.reddit.com/r/debian/comments/2wv8y7/debian_8_jessie_with_latest_stable_linux_kernel/
For newer kernels self-compiled, we could ask Rohan, who builds latest packages for debian stable.