The problem is, all kernel module should follow that convention for dep files.
Kernel release may change value.
Thus in all dep files, we use string -KERNEL to denote that the extension is a kernel module.
Your script doesn't process those files, neither reading nor writing.
For example
$ uname -r
6.6.8-tinycore
This is the kernel release, sometimes there maybe some major bugs in kernel.
If kernel 6.6.8 has one of those and 6.6.9 fixes that problem.
Then, after some evaluation, TC team will release TC15.1 with kernel 6.6.9
On the other hand, whenever a newer major release occurs, we move on to newer kernel.
Most packages can be copied directly without any trouble.
It would be tedious if we put actual kernel string into dep files.
Hello polikuo.
I remember that -KERNEL.tcz are parsed by substituting the placeholder with "uname -r" output in the tce-load script. Thanks for reminding me.
So, if my script recognizes whether a dependency is a kernel dependency, then it should specify the dependency as "KernelExtenion-KERNEL.tcz".
IMHO, this can be automated by first checking if the original dependency name has "uname -r" in it. Then, we can look in the .list of the original dependency TCZ if there are files that should be in folders starting with "usr/local/lib/modules/$(uname -r)/kernel". This would be validating the dependency as a kernel tcz. Then the script can mention the dependency as a -KERNEL.tcz in the .dep file.
Would this solve the problem ? What would be the issues with this approach ?
My script was designed to let you ask "will my TC10 version of ProgramXYZ run on TC13?"
In that case, you can't use uname to pick a KERNEL value.
Hello Rich.
My script is meant to just check the dependent libraries. It does not factor in placing a different kernel's TCZs into a new TCL version. I also read a changelog entry in submitqc which mentioned library inclusion checking so I thought my script can be used along with it.
By the way, a tree file can/will contain a version string, but which one?
That depends on the text placed in the .tree file. I don't know the conventions that are followed for the .tree files.
From your TC15 aarch64 listing, I searched for a .dep file that contains a -KERNEL.tcz as a dependency and has a .tree file. I found
http://repo.tinycorelinux.net/15.x/aarch64/tcz/wireless_tools.tcz.tree. Its .dep file has "wireless-KERNEL.tcz" while the .tree file has "wireless-6.6.26-piCore-v8.tcz", which does not even exist in the repo.
Are .tree files unreliable ? I think we can do the initial check that I mentioned in the previous paragraphs with "uname -r" in package name to find if a TCZ is a -KERNEL.tcz.
BTW, how do we find the kernel modules required for a TCZ ?