Hi All,
When a rootfile is in one of the specific architecture directories, e.g. aarch64 do all the aarch64 references just get left as that or should they get changed to xxxMACHINExxx.
Looking at some files in the directories it looks like they get left alone but when I have done the samba rootfile update for x86_64 I have , most times, changed any x86_64 reference to xxxMACHINExxx.
What is the correct approach so I don't go messing things up.
Regards,
Adolf
Hello Adolf,
Sorry for not being faster at this… Still catching up :)
This is basically a variable which used to be called MACHINE but was replaced with xxxMACHINExxx because the string “MACHINE” was actually used in some filename. Not sure I am happy with that name…
When the root files are generated, we don’t replace anything, but if we read a rootfile from config/rootfiles, we will replace this variable with the architecture we are building for. Sometimes this method allows us to have just a generic root file for all architectures, sometimes this does not work because there are extra files or something like that.
So when you have such a case, you need to manually replace the architecture with the placeholder and check if all other architectures generate the same file.
-Michael
On 5 Jul 2024, at 11:39, Adolf Belka adolf.belka@ipfire.org wrote:
Hi All,
When a rootfile is in one of the specific architecture directories, e.g. aarch64 do all the aarch64 references just get left as that or should they get changed to xxxMACHINExxx.
Looking at some files in the directories it looks like they get left alone but when I have done the samba rootfile update for x86_64 I have , most times, changed any x86_64 reference to xxxMACHINExxx.
What is the correct approach so I don't go messing things up.
Regards,
Adolf
Hi Michael,
On 08/07/2024 15:59, Michael Tremer wrote:
Hello Adolf,
Sorry for not being faster at this… Still catching up :)
No problems.
This is basically a variable which used to be called MACHINE but was replaced with xxxMACHINExxx because the string “MACHINE” was actually used in some filename. Not sure I am happy with that name…
When the root files are generated, we don’t replace anything, but if we read a rootfile from config/rootfiles, we will replace this variable with the architecture we are building for. Sometimes this method allows us to have just a generic root file for all architectures, sometimes this does not work because there are extra files or something like that.
So when you have such a case, you need to manually replace the architecture with the placeholder and check if all other architectures generate the same file.
I am not sure that I fully understand. In the repo there are rootfiles in config/rootfiles/common/aarch64/ such as boost, dtc, gcc which have aarch64 in the rootfile. None of these have been replaced by xxxMACGHINExxx.
In config/rootfiles/packages/aarch64/samba all the aarch64 references are still present. In /config/rootfiles/packages/x86_64/samba, all the references to x86_64 are replaced by xxxMACHINExxx as that is what I have been doing.
If the samba rootfile in aarch64 should have all its aarch64 references replaced by xxxMACHINExxx then that has not been happening and is also not the case for rootfiles in config/rootfiles/common/x86_64/ such as gcc, grub, rust etc
If the rootfiles that are in the x86_64 and aarch64 directories should have the architecture name replaced by xxxMACHINExxx then I need to do a v2 version of the samba update I just sent out earlier today as the x86_64 and aarch64 rootfiles do not have xxxMACHINExxx replacing the architecture reference.
Regards, Adolf.
-Michael
On 5 Jul 2024, at 11:39, Adolf Belka adolf.belka@ipfire.org wrote:
Hi All,
When a rootfile is in one of the specific architecture directories, e.g. aarch64 do all the aarch64 references just get left as that or should they get changed to xxxMACHINExxx.
Looking at some files in the directories it looks like they get left alone but when I have done the samba rootfile update for x86_64 I have , most times, changed any x86_64 reference to xxxMACHINExxx.
What is the correct approach so I don't go messing things up.
Regards,
Adolf
On 8 Jul 2024, at 15:51, Adolf Belka adolf.belka@ipfire.org wrote:
Hi Michael,
On 08/07/2024 15:59, Michael Tremer wrote:
Hello Adolf, Sorry for not being faster at this… Still catching up :)
No problems.
This is basically a variable which used to be called MACHINE but was replaced with xxxMACHINExxx because the string “MACHINE” was actually used in some filename. Not sure I am happy with that name… When the root files are generated, we don’t replace anything, but if we read a rootfile from config/rootfiles, we will replace this variable with the architecture we are building for. Sometimes this method allows us to have just a generic root file for all architectures, sometimes this does not work because there are extra files or something like that. So when you have such a case, you need to manually replace the architecture with the placeholder and check if all other architectures generate the same file.
I am not sure that I fully understand. In the repo there are rootfiles in config/rootfiles/common/aarch64/ such as boost, dtc, gcc which have aarch64 in the rootfile. None of these have been replaced by xxxMACGHINExxx.
Yes, if the rootfile is in one of the directories for a special directory it will be used instead of the one that is in common/ (if there is one at all). These files are there because they have different files than other architectures (GCC for example does not build certain libraries for ARM and RISC-V).
In config/rootfiles/packages/aarch64/samba all the aarch64 references are still present. In /config/rootfiles/packages/x86_64/samba, all the references to x86_64 are replaced by xxxMACHINExxx as that is what I have been doing.
Since that file is only considered for aarch64, there is no need to change the placeholder.
If the samba rootfile in aarch64 should have all its aarch64 references replaced by xxxMACHINExxx then that has not been happening and is also not the case for rootfiles in config/rootfiles/common/x86_64/ such as gcc, grub, rust etc
If the rootfiles that are in the x86_64 and aarch64 directories should have the architecture name replaced by xxxMACHINExxx then I need to do a v2 version of the samba update I just sent out earlier today as the x86_64 and aarch64 rootfiles do not have xxxMACHINExxx replacing the architecture reference.
Erm, I didn’t check :) We shall see if the build completes :)
-Michael
Regards, Adolf.
-Michael
On 5 Jul 2024, at 11:39, Adolf Belka adolf.belka@ipfire.org wrote:
Hi All,
When a rootfile is in one of the specific architecture directories, e.g. aarch64 do all the aarch64 references just get left as that or should they get changed to xxxMACHINExxx.
Looking at some files in the directories it looks like they get left alone but when I have done the samba rootfile update for x86_64 I have , most times, changed any x86_64 reference to xxxMACHINExxx.
What is the correct approach so I don't go messing things up.
Regards,
Adolf