[Buildroot] package/dotnet: add host-dotnet-sdk
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Mon Jan 4 07:58:58 UTC 2021
Hello Raul,
On Sat, 12 Dec 2020 17:26:32 +0100
Raul Hidalgo Caballero <deinok at deinok.com> wrote:
> This adds host-dotnet-sdk , for now it only works on x86_64 but it could
> also work for armv5 and aarch64 (Will be done in the future).
>
> Notice that to build dotnet, you need a working dotnet. This is the reason
> for host is just downloading and extracting a precompiled one
Thanks for your contribution!
The first comment is that your patch only adds host-dotnet-sdk, and we
separately had a patch in September 2020 from Andrey Nechypurenko
adding the dotnet-runtime. My understanding is that in fact both are
needed to have complete .NET support in Buildroot: host-dotnet-sdk to
get the compiler on the host machine, and dotnet-runtime to have the
runtime on the target. Is this correct ? If that's the case, then it
would be good to have both patches together in the same series, as well
as a simple test case in support/testing/ that shows it working (we can
provide some help and hints on how to achieve that).
Andrey said he would come up within a new iteration, but I don't think
he has posted any new version in the last few months.
Another comment is that when sending a patch, you should use "git
send-email" so that the patch appears inline, and we can review it
properly. See https://git-send-email.io/. I'm going to copy/paste your
patch below to give some comments. Overall it looks very good, so only
a few small comments here and there.
> From 438c148bbd052a72c39a0e8345ed0e98f00b5044 Mon Sep 17 00:00:00 2001
> From: Raul Hidalgo Caballero <deinok at deinok.com>
> Date: Sat, 12 Dec 2020 17:04:36 +0100
> Subject: [PATCH 1/1] package/dotnet: add host-dotnet-sdk
The commit title should be:
package/dotnet-sdk: new package
>
> Signed-off-by: Raul Hidalgo Caballero <deinok at deinok.com>
> ---
> package/Config.in.host | 1 +
> package/dotnet-sdk/dotnet-sdk.hash | 3 +++
> package/dotnet-sdk/dotnet-sdk.mk | 19 +++++++++++++++++++
> package/dotnet/Config.in.host | 15 +++++++++++++++
> 4 files changed, 38 insertions(+)
You should add an entry in the DEVELOPERS file for this package.
> index 0000000000..714b36c518
> --- /dev/null
> +++ b/package/dotnet-sdk/dotnet-sdk.hash
> @@ -0,0 +1,3 @@
> +sha256 cfc21f5e8bd655ae997eec916138b707b1d290b83272c02a95c9f821b8c87310 LICENSE.txt
> +sha256 01564961f8ca9744d0ecc5d3e72d7c1659df95898f3a077fd9140fd4023f3579 ThirdPartyNotices.txt
> +sha256 23df1eca7eb1302dfb10f4edce7edf7150e57698576f61b2dcb777c833cbd80c dotnet-sdk-5.0.101-linux-x64.tar.gz
Fields in the hash file should be separated with just two spaces.
> +define HOST_DOTNET_SDK_INSTALL_CMDS
> + (mkdir -p $(HOST_DIR)/usr/share/dotnet/)
> + (cp -R $(@D)/* $(HOST_DIR)/usr/share/dotnet/)
> + (ln -s $(HOST_DIR)/usr/share/dotnet/dotnet $(HOST_DIR)/usr/bin/dotnet)
> +endef
You don't need spaces around those commands. Also, instead of cp -R, we
normally use "cp -dpfr". Also $(HOST_DIR)/usr doesn't really exist,
it's a symlink to $(HOST_DIR). And also perhaps make the link a
relative symlink ?
So:
mkdir -p $(HOST_DIR)/share/dotnet
cp -dpfr $(@D)/* $(HOST_DIR)/share/dotnet
(cd $(HOST_DIR)/bin; ln -s ../share/donet/dotnet)
Do you think you could rework your patch, and perhaps adopt the
dotnet-runtime patch in the same series so that we have a complete
solution ?
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the buildroot
mailing list