From patchwork Mon Mar 23 10:52:28 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 4986 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 23 Mar 2026 11:53:51 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f63.google.com (mail-wm1-f63.google.com [209.85.128.63]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 62NAroN3030967 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 23 Mar 2026 11:53:50 +0100 Received: by mail-wm1-f63.google.com with SMTP id 5b1f17b1804b1-486fa35b005sf48245315e9.2 for ; Mon, 23 Mar 2026 03:53:50 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1774263224; cv=pass; d=google.com; s=arc-20240605; b=ZqrA6glqcvDfOZfxl5E0XFOxcWNrHxeP1uBDC7HzHV90LDcnTJII+9eiV3Rhm9njfz se7XaBn1Z/XEvFGvCIDlnKmK2K0JAcrPjMg+T/lGpwqj7ihRiuFqTFjcr1CTZRtyPhpv RnwrP1NzEDCeOyhvBiNKW+FxgP1RuaCrnJwuMBjdX9rAoDXTZc40JkkAg6jO3icypmvK 5mWRHjDLHRcSgmAH6y93V0JapjGaScTkyvCmMfmT8ry6zXokT7erocBrnE0sG//wmwPf iwbRSqYbcPeepaFf0ERSi2EX119xiTUP7q8td9JatXUuSMct5588fdzUWDrDKjHiYOYG +N3A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=dk2xhJDToZ/Krg89ep7FugQ5fr3CWBmDWcqNHs6be9k=; fh=WZ+DA6CJy5gZpvjR0nX2mhYtT/R1fb1G6MF8zKvLyiE=; b=PqORuj953eSqYnFDu1r2KTGYKmKO8y6QR/3DD5Ih9eVi914V122xDZZHAY/7hFL3oX S9THpjSKEBsGbZ6wy0AxRKa3UfybenrLyMnetSWo2MyjOJOcoEsxgjG89D3ATy4CV+Kx 6Xmj6aSA92o4jE2DmJyNTlP5/mO/1gSODX7Px/ABC4GJ63HTDpcpiXtdrkIAwlQsDe/q jdIbgzrCNAHE1GTQbGHQWQSI0ZAzUn2KLFv0qxl5OCtr3o8inFDTHi7Ru0vB2ywg+5XN 74ZXJtHv+L9BfA4OLM2el4qKFrlrUR0IRQqdBk8IuxSpsg0gZEV3f9LS9fEnq+co5lwr mgGw==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=PQuiGggK; spf=pass (google.com: domain of fm-51332-202603231053417a00cfce440002078e-cbtmt_@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-51332-202603231053417a00cfce440002078e-CBTMT_@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1774263224; x=1774868024; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:to:from :from:to:cc:subject:date:message-id:reply-to; bh=dk2xhJDToZ/Krg89ep7FugQ5fr3CWBmDWcqNHs6be9k=; b=Kp8jpvmFHr2SZpfiHVDPOAAETMhFh6jbwhpnKnLvrrU8Akz4PTMzcvzTGM2mCQT/6E KFAvP+CVXxamxHoons5PymQrFSKpzczXtP8PbDRsRVM70MFlSe06mIKOuEtXso4CJpJ8 Saf9naAmUvTpQxtW9Ob7/gINTdHpzNoXUQJcsvqKB23HVxrfokGFb2BRg2qfdJ61zbbv YsGjyzCyae8eUzDoW+im90/95n1auDh4GXYx4YIeXY6wg9yGj1+v/AbpYbv9H/V3H+/G zUvayH3NGUi5Qf/W6On2Fp0VyyhQxt3yZcTlFaQolSWk0kheilwYIy0GYwVL1CUwD8Tu kSvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774263224; x=1774868024; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:to:from :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=dk2xhJDToZ/Krg89ep7FugQ5fr3CWBmDWcqNHs6be9k=; b=h1HMUqXKH8JsvolPZpe8mObvFXBprZ1QkS6MlflSztNxxHoKde9V9fBpgewGJxHS+I phaqO+T2E4YmkYdD947ie+t0bjHVFiqjPtvWHgjnDKUPHQiN7DJZIOgx38ypkR8+XF3I Jt+aRhajh3JMh2v1mSx9gXxi7FNftq8QnxGecAGfDjtK1vhGSvglGngLIG3AKHxBQfsS HTkSf7iW5EfFNo5y4NphD6b2AK2+NguhffkJn6FbfUwTi/aCDBEPd5x7CNL2sgC+nNiZ 0EYhaWupMQEG0xFFoNZo3czi5nlWxEwDIuJbO0bjhvFqWcoZcNPhzJVIm5g2T76vdV92 ABSg== X-Forwarded-Encrypted: i=2; AJvYcCUeQcRtqijx1Rq2aFYq/D5VIk1R3jmTyGAewDUfferTE7Ohw4dXkyXF1Ls58+ufmMV9Odu7Pfk=@isar-build.org X-Gm-Message-State: AOJu0Yz0ACk0tEgckTnAa77lci70RGV2wCMTQfSjGCArzsOwf7Il5gAC NHGqlV6ybDOjRU9o8HyBUEFC6IvEuZiuNff10krPSG+4Mt1WuGfiY656 X-Received: by 2002:a05:600c:8b18:b0:485:40fd:8390 with SMTP id 5b1f17b1804b1-486ff01b49emr144787265e9.26.1774263224347; Mon, 23 Mar 2026 03:53:44 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AV1CL+EUh22OzqLFPBY8pE1zDJ5h25OTwZm0sJ4V69M1Jj6Bgg==" Received: by 2002:a05:600c:5487:b0:485:3a94:9bcc with SMTP id 5b1f17b1804b1-486f9378545ls33841655e9.2.-pod-prod-09-eu; Mon, 23 Mar 2026 03:53:42 -0700 (PDT) X-Received: by 2002:a05:600c:3e8d:b0:485:3a03:ceca with SMTP id 5b1f17b1804b1-486fee26501mr151323555e9.23.1774263222283; Mon, 23 Mar 2026 03:53:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774263222; cv=none; d=google.com; s=arc-20240605; b=QpLOLvCtBaPyeoN4pgV+9gUXa9UJBygMAfnX8xXq2QmgRsW5NBVP2h3U31VDjwzjO6 b/6ruu/2inEqI2Ic8UgNySrPovMBd5bDGiyF32jR6Id5TU8L2UGVbDp9bYmDB9TolYgk p/19TU3yPsh3QPt/1tzT6ouBwjdc/7x281NRKd96g3nt4rfau+LZGEzULt+HF5pomdn4 4ABlwvzsXh5Ia/c5HRu2y9/ZQaWTBu/4dby1iWSBgzoXgTD8A0SE7hINV8a8h9AphCVt uvrosKeqW8AB5NheO9PMVE/50RvGlFK/Buf4Lj+uKKQ/jDD1bQ2QtYB4OOR9FlAuRwRI tnWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:to:from:dkim-signature; bh=iGqFwI4BfjC551FNOF3s4yzTGWleoJjJoQK7pk+tj/E=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=D8fmfkGh/lVFcURSk4usj9MpRp+IHu7oQ/kKhOwc/xGZ9JiHj6JPqBb2KHMvh3dyo3 ktrm4x1ovRONRGQEPa2ugYHhCKfcrJhzvHdHiKeDlh32a4t+T2fEeZ8U8CM0hOxZhvqE 2xbb73bvokFwN0iPGV0V7ERwsO7jivERhovoZYiNKmClwtSkr76wSgdJv+M2FINcPfFC jm4T/9XC4rSO/MJhUSOV3CSz1q/GdpeTKDAvS5+f60hdyBEO++OEXT2AZ/6T0TNIVGQq SzEcPuftVadAP7Bv1eAzsH7ZHGjVeXA1lWHgOpQAeTrpKb8iK9x0UTdPfDLtyUOdz/hl n9MA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=PQuiGggK; spf=pass (google.com: domain of fm-51332-202603231053417a00cfce440002078e-cbtmt_@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-51332-202603231053417a00cfce440002078e-CBTMT_@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net. [185.136.65.225]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-486fe805885si1638735e9.0.2026.03.23.03.53.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Mar 2026 03:53:42 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-51332-202603231053417a00cfce440002078e-cbtmt_@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) client-ip=185.136.65.225; Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 202603231053417a00cfce440002078e for ; Mon, 23 Mar 2026 11:53:41 +0100 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: isar-users@googlegroups.com Subject: [RFC PATCH 1/3] Add script to generate a recipe for cargo.io crates Date: Mon, 23 Mar 2026 11:52:28 +0100 Message-ID: <20260323105332.2721282-2-Quirin.Gylstorff@siemens.com> In-Reply-To: <20260323105332.2721282-1-Quirin.Gylstorff@siemens.com> References: <20260323105332.2721282-1-Quirin.Gylstorff@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-51332:519-21489:flowmailer X-Original-Sender: quirin.gylstorff@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=PQuiGggK; spf=pass (google.com: domain of fm-51332-202603231053417a00cfce440002078e-cbtmt_@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-51332-202603231053417a00cfce440002078e-CBTMT_@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Quirin Gylstorff Reply-To: Quirin Gylstorff Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Quirin Gylstorff This script allows to create a recipe for building rust crates which are not part of Debian. It uses for this `debcargo package` and follows the process defined in https://rust-team.pages.debian.net/book. Signed-off-by: Quirin Gylstorff --- scripts/generate_cargo_crate.sh | 85 +++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100755 scripts/generate_cargo_crate.sh diff --git a/scripts/generate_cargo_crate.sh b/scripts/generate_cargo_crate.sh new file mode 100755 index 00000000..759bbc9e --- /dev/null +++ b/scripts/generate_cargo_crate.sh @@ -0,0 +1,85 @@ +#!/bin/bash +# This software is a part of ISAR. +# Copyright (C) 2026 Siemens AG + +usage() { + echo "This script generates a scaffold for rust crates from crates.io." + echo "It uses debcargo to download and generate the debian folder." + echo "USAGE: $0 [CRATE_VERSION]" +} + +if [ $# -eq 0 ]; then + usage + exit 1 +fi +case $1 in + -h|--help) + usage + exit 0 + ;; + *) + true + ;; +esac + +package_name=$1 +package_version= +if [ $# -gt 1 ]; then + package_version=$2 +fi + +export NAME="isar-users isar" + +for dep in jq debcargo curl; do + if ! command -v "$dep" ;then + echo "Could not find tool dependency $dep !" + exit 1 + fi +done + +source_name="rust-$package_name" +mkdir -p "$source_name/files" +# generate in the current directory to avoid the following +# debcargo error: +# Invalid cross-device link (os error 18) +TMP_DIR=$(mktemp -d -p .) +pushd "$source_name" || exit 1 +debcargo package "$package_name" "$package_version" --directory "$TMP_DIR" +cp -r "${TMP_DIR}"/debian files/ +if [ -z "$package_version" ]; then + package_version=$(grep -oP "X-Cargo-Crate-Version:\K.*" "${TMP_DIR}"/debian/control | tr -d "[:blank:]") +fi +rm -rf "$TMP_DIR" +tarball_checksum="$(curl --silent "https://crates.io/api/v1/crates/${package_name}/${package_version}" | jq ".version.checksum" )" +if [ "${tarball_checksum}" = "null" ] ; then + echo "$package_name in $package_version could not be found in crates.io" + exit 1 +fi +cat << EOF >> "${source_name}_${package_version}".bb +inherit dpkg + +SRC_URI = "https://crates.io/api/v1/crates/${package_name}/\${PV}/download;downloadfilename=${PN}_${PV}.tar.gz" +SRC_URI += "file://debian" + +SRC_URI[sha256sum] = ${tarball_checksum} + +S = "\${WORKDIR}/${package_name}-\${PV}" + +# In most cases we want to package a library crate from crates.io +PROVIDES += "librust-${package_name}-dev" + +do_prepare_build() { + cp -r \${WORKDIR}/debian \${S}/ + cd \${WORKDIR} + tar cJf \${PN}_\${PV}.orig.tar.xz \${TAR_REPRO_OPTS} ${package_name}-\${PV} +} +EOF + + +popd || exit 1 + +echo "Finished generating isar scaffold for package $package_name in version $package_version" +echo "" +echo "Next steps:" +echo " - Check if the package builds and add the necessary patches, e.g. relax dependencies to the debian folder." +echo " - Also add the package to Debian by following https://rust-team.pages.debian.net/book/" From patchwork Mon Mar 23 10:52:29 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 4987 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 23 Mar 2026 11:53:52 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f62.google.com (mail-wm1-f62.google.com [209.85.128.62]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 62NArprJ030979 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 23 Mar 2026 11:53:51 +0100 Received: by mail-wm1-f62.google.com with SMTP id 5b1f17b1804b1-48532df52c5sf47502975e9.1 for ; Mon, 23 Mar 2026 03:53:51 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1774263225; cv=pass; d=google.com; s=arc-20240605; b=Rth6JH+YHZsdFDUeKcENoqRYPYFd3DPBoAlblYw9ibp/HWw5L5XHJDE+Q18qYDXxAb 8Buu+nH2oULUCoN/gdfKwHW3cFkrDGr/pG8iw2CSt4JEduuj/W0ayEvweC55qkjBcXd6 72u8/4G0K7S1oQwjNAMlxzfks0YSqu5FGd7kerm1bXN8lSZr9OJ3QcsYnEMuMBLk3IS2 vB5KRttVIeglL4b8KNmv97YpeOrjpggDTPDsInCaq69usHbqQfnLOsJG8rxKeSNDkgQ8 JWSepj2ESlWaWKXoMerTC8VyzS3neFO+kCt81laVQsqw7OSR5InuN08wMfwIjEg+qm/G sreg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=udKoXCu17GTtBzTaMq+4lpy2vMcy5hTBUHR3qFXZpS0=; fh=V9shPsUQRcMha6H6tyBz+LRUSYNmcTDaEq7gBcDIFQc=; b=jrK4W1TESApOCuV5MSBTF/uI8+S36ucrgBIMzGFQZ9Lg/nfbJX5hBfS/I44ZwL6MQQ Zk3sjstj5R3opRq3QBax2x7yf1tOXwiS+xpOTPghwGaHwC9AP5bu5h71rQ6mwNYPRXe/ 8+goDGlVfGtg5M4EokFfDBKzgLsZ7DT6RbXYDkVqaCPwc+/f3dUVeqazj+ufulRY2ybn w+VRn2kmKc5coK10YT43ra1admEh8xXUL8GauJGU8TjvqfLrIisRlWioLDKyOcXNzziH n2bOZic/aFdTZ4oItHmJ710VnVdjfvuRzOo9x1os07nhgycEO8B7pMYLTI6JoFx3iYkU 4WHw==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Q9iZQuJJ; spf=pass (google.com: domain of fm-51332-202603231053417e59dd3c4d00020735-ktmqe3@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-51332-202603231053417e59dd3c4d00020735-KtmQe3@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1774263225; x=1774868025; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:to:from :from:to:cc:subject:date:message-id:reply-to; bh=udKoXCu17GTtBzTaMq+4lpy2vMcy5hTBUHR3qFXZpS0=; b=jfBxojf3zvDgU+KfQD877xlzKzCD5O2PX7FbCrWMXkwmtQzrxEiVH+TRRrim8Fdu12 fbPBSM5DKzYlFew225A0H22CJs2UkwN+sbmWPZma8YQ0oVjLK3a/CmsnN1jYTMVltljD AaaLHt1aaaON2yh1W2fvQMsgYqhBEEmdw9i1VicdgLQq/Sdsgyg2sZW8D4OfrPpm4wWQ TAwjs4JlLW6SNMraMOjmTBYaiuiDjCeB7jyc/rP2iLW8pA9hskaR5IfcKuqoBYgdPVgG eFsSnL1jxhAPlzVYUZsFAZqLM9meh6K3j3dB0gg4fft5lVqh1N7xdcxAWI8V12PzmahQ sRMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774263225; x=1774868025; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:to:from :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=udKoXCu17GTtBzTaMq+4lpy2vMcy5hTBUHR3qFXZpS0=; b=X12FlE0/I+vMcf6/hcyyb87+Eq0zfB2KEUDn9U/hGWzmnp+uTLzDQyHol0wABjaa+4 HviodgE04c9tnBz7XHx+2C/SCuKXYFWj+AuE/zgVE16TmUOEp/KkKqXhGFmhY3skrd2j xnk7sopi3/EI0uoCq4yYhpI/IJ1qcquVZQEv56kTfunJArOKUNN2pe7Yd24PX5s2UCms 7rV7F2RYqu/zPQjSbNiuLD0xx3QIXy9cYZ/QLk8Q6cWSkm/TKaPU5v3aHPp07Wc2OF1o MWQn3k8hRsSw4XnNI6NkmV874jav2BCuDkdaNzYuLESDF5cadfGiTR2TBv09VcHyvTU3 ohFQ== X-Forwarded-Encrypted: i=2; AJvYcCVLO+OfVPLCsxGTnkRnbO29hPV7RLebbUP0qmW6OrwpDxzy1/G20QQv8//xlvMiKoH4RTRfUJM=@isar-build.org X-Gm-Message-State: AOJu0Yx3y2pgITfJqxceu0P0GZsTUGVVau/bK5qAvrQcKoOAJcHHmM7+ 63eTbdzzdrBYFnRO6l2d26WtgBbSZt14pBShHZMKznfotIIk3OTWs/1r X-Received: by 2002:a05:600c:474f:b0:477:7bca:8b34 with SMTP id 5b1f17b1804b1-486fedab2edmr165845285e9.6.1774263224502; Mon, 23 Mar 2026 03:53:44 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AV1CL+Fhvbdgo4sJOAiTRmt4PtpVSnbIXhnth4JNiEemjVTobA==" Received: by 2002:a05:600c:1d25:b0:485:3f21:7f96 with SMTP id 5b1f17b1804b1-486f927d9afls33496835e9.1.-pod-prod-07-eu; Mon, 23 Mar 2026 03:53:42 -0700 (PDT) X-Received: by 2002:a05:600c:47ca:b0:487:169:9f64 with SMTP id 5b1f17b1804b1-4870169a1eemr83754935e9.12.1774263222340; Mon, 23 Mar 2026 03:53:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774263222; cv=none; d=google.com; s=arc-20240605; b=ACxNhE+Xe+cmNsWjliGVnbCXfXxrxw8GMmRYSYf6RJ0xcXzqj0vYZX2vuKl1H49m/P fdziAj6qf+ZCU7ELcocwBoXLPArYQmENIy3MNGecxC+L32V/w34AlP/ojQdSiGif3FCc cstHFhOmJAvlBfp84EPUfBicSEvAFd27roMgNjVsek7aR3HgsGExdJed9/ESOilu1GqI XVoEaw43SCxLBDQQLJso/60pAkN96oOrbbb2ZSxos8flJHA/rbr2THW17HF4JDQJxszn FjfHo0l3rW4f+B3pYkF79oMDJzs+CXG6t5TQ96Ai0+WF8AXFbZdSz50jv9Y/wLjai4qY s0lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:to:from:dkim-signature; bh=3s2tMv+CkeeGW9vUFGjUq9un5XZBhC3iDm6YZLEfhok=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=OmJjpMzfFNHede7PiTycGKblAce0UqC7ZFSTmuYL6J06Y17itihqSlxQmFKqIVGHFY 1gKDuIoNcu40MjVKFCvb1fO71dRkcN0rvtqfXetW8QgU61vc3Rcz8UeC+bia5qCCpKy8 YTAw1nACaMxZAzvGMzsb7ExLnkMvcOL1e/igwZgBMIfHMVwDuStGH++LY4ReO7BWn59l Q1z7USRwbyHmo9brepNLcNrf+3F1rP4spn7QpWzmm27h8Zg7ZUuA1hooeQts269tl4Ym aI69l83gM7wanqbcAHehX/5p6s0e8J+0u0JJluRvqvjx4gIrnolvruu3VFqOcCPnc/cC cTuw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Q9iZQuJJ; spf=pass (google.com: domain of fm-51332-202603231053417e59dd3c4d00020735-ktmqe3@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-51332-202603231053417e59dd3c4d00020735-KtmQe3@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-227.siemens.flowmailer.net (mta-65-227.siemens.flowmailer.net. [185.136.65.227]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-486f8aacd4dsi2580435e9.0.2026.03.23.03.53.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Mar 2026 03:53:42 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-51332-202603231053417e59dd3c4d00020735-ktmqe3@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) client-ip=185.136.65.227; Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 202603231053417e59dd3c4d00020735 for ; Mon, 23 Mar 2026 11:53:41 +0100 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: isar-users@googlegroups.com Subject: [RFC PATCH 2/3] Add example of a rust hello world as isar recipe Date: Mon, 23 Mar 2026 11:52:29 +0100 Message-ID: <20260323105332.2721282-3-Quirin.Gylstorff@siemens.com> In-Reply-To: <20260323105332.2721282-1-Quirin.Gylstorff@siemens.com> References: <20260323105332.2721282-1-Quirin.Gylstorff@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-51332:519-21489:flowmailer X-Original-Sender: quirin.gylstorff@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Q9iZQuJJ; spf=pass (google.com: domain of fm-51332-202603231053417e59dd3c4d00020735-ktmqe3@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-51332-202603231053417e59dd3c4d00020735-KtmQe3@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Quirin Gylstorff Reply-To: Quirin Gylstorff Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Quirin Gylstorff Signed-off-by: Quirin Gylstorff --- .../recipes-app/rust-hello-isar/files/rules | 27 +++++++++++++++++++ .../files/rust-hello-isar/Cargo.toml | 6 +++++ .../files/rust-hello-isar/src/main.rs | 3 +++ .../rust-hello-isar/rust-hello-isar_0.1.bb | 22 +++++++++++++++ 4 files changed, 58 insertions(+) create mode 100755 meta-isar/recipes-app/rust-hello-isar/files/rules create mode 100644 meta-isar/recipes-app/rust-hello-isar/files/rust-hello-isar/Cargo.toml create mode 100644 meta-isar/recipes-app/rust-hello-isar/files/rust-hello-isar/src/main.rs create mode 100644 meta-isar/recipes-app/rust-hello-isar/rust-hello-isar_0.1.bb diff --git a/meta-isar/recipes-app/rust-hello-isar/files/rules b/meta-isar/recipes-app/rust-hello-isar/files/rules new file mode 100755 index 00000000..213cc876 --- /dev/null +++ b/meta-isar/recipes-app/rust-hello-isar/files/rules @@ -0,0 +1,27 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/default.mk +include /usr/share/rustc/architecture.mk +export DEB_HOST_RUST_TYPE +export PATH:=/usr/share/cargo/bin:$(PATH) +export CARGO=/usr/share/cargo/bin/cargo +export CARGO_HOME=$(CURDIR)/debian/cargo_home +export CARGO_REGISTRY=$(CURDIR)/debian/cargo_registry +export DEB_CARGO_CRATE=$(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM) + +%: + dh $@ --buildsystem=cargo + +execute_after_dh_auto_clean: + $(CARGO) clean + rm -rf $(CARGO_HOME) + rm -rf $(CARGO_REGISTRY) + rm -f debian/cargo-checksum.json + +execute_before_dh_auto_configure: + $(CARGO) prepare-debian $(CARGO_REGISTRY) --link-from-system + rm -f Cargo.lock + touch debian/cargo-checksum.json + diff --git a/meta-isar/recipes-app/rust-hello-isar/files/rust-hello-isar/Cargo.toml b/meta-isar/recipes-app/rust-hello-isar/files/rust-hello-isar/Cargo.toml new file mode 100644 index 00000000..f761691e --- /dev/null +++ b/meta-isar/recipes-app/rust-hello-isar/files/rust-hello-isar/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "rust-hello-isar" +version = "0.1.0" +edition = "2024" + +[dependencies] diff --git a/meta-isar/recipes-app/rust-hello-isar/files/rust-hello-isar/src/main.rs b/meta-isar/recipes-app/rust-hello-isar/files/rust-hello-isar/src/main.rs new file mode 100644 index 00000000..50469bdf --- /dev/null +++ b/meta-isar/recipes-app/rust-hello-isar/files/rust-hello-isar/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, isar!"); +} diff --git a/meta-isar/recipes-app/rust-hello-isar/rust-hello-isar_0.1.bb b/meta-isar/recipes-app/rust-hello-isar/rust-hello-isar_0.1.bb new file mode 100644 index 00000000..2d57b8c8 --- /dev/null +++ b/meta-isar/recipes-app/rust-hello-isar/rust-hello-isar_0.1.bb @@ -0,0 +1,22 @@ +# Sample application +# +# This software is a part of ISAR. +# Copyright (C) 2026 Siemens AG + +inherit dpkg + +DESCRIPTION = "Hello world example for Rust" +MAINTAINER = "isar-users " + +SRC_URI = "file://${PN} \ + file://rules" + +DEBIAN_BUILD_DEPENDS += "dh-cargo" + +S = "${WORKDIR}/${PN}" + +do_prepare_build() { + deb_debianize + install -m 644 ${WORKDIR}/rules ${S}/debian/rules +} + From patchwork Mon Mar 23 10:52:30 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 4988 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 23 Mar 2026 11:53:52 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wr1-f59.google.com (mail-wr1-f59.google.com [209.85.221.59]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 62NArqag030994 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 23 Mar 2026 11:53:52 +0100 Received: by mail-wr1-f59.google.com with SMTP id ffacd0b85a97d-43b4a9a3bf6sf1129291f8f.0 for ; Mon, 23 Mar 2026 03:53:52 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1774263225; cv=pass; d=google.com; s=arc-20240605; b=R+CTOSbUAW9NXo7ZbjqGBPEtCvU/GkQ6vzGIA4oSYrxdI9bed9EWB3Pv/kKfVyLyTa AmmxJaOsK7W+CIetG00Znfed/pvr+F+Z8jvmBDYSUjl5SFVRRUhMEggdxWfQ+zeL6qbE 2ElKjUJ91kdtgoHS9Jx8YpraoVYElxmMUHCXws2k605AofuEx2OmnmruCIw+3cbQZOyQ 0DVzMZTCAKU7sODYuVQVNcGnv9mowq8bmhPwiOkoMiY41z3cO4QstdGGyIqfKRIUdJqI vmMIeZ4NnEJXY1Ra3ipO4Sj2Y44sXLiZMxB28IkOW9jMZJgNOIfivnfvQ+Jo2Mbf2ylm rL1g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=liLVvEMsKaBFQzWkCS4fO8CbkAvd6Znvqgx/kf5zrn4=; fh=SylsekhwwY1kazYmax3ysh26JNpufMw/I8XGRIzXdKQ=; b=Y0+gfKs6rzL+icOw15vnirAgrdJk+tMICjNC8GuwzChjy/XkChFCvXapGQvgRp63n1 mdoJkEiBK4mukedde23r5qNlLxEU1prfkDBlvoVkuOSwy5YD/tMK6SAeBILvlLdURHdA dXI3hk4KdQTfAsiG0Dq4AE2POMEUhXUvA1jLodoplHfPqMJxd9Ko/FO/b/3y0pKTOr3i pV00QjMxnq2dIf56dCZglb6ogMV12gbTGWd7bdfybnHtMGmURAwjtz+B7zdYE5TLhkX7 E2sAlIRGx4PH1MO4+emLD8RiR79m0pPCh0J+7ncs3IQ2j2TPa/dGOwKM3Modzg2VF98K I36w==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=B+2kFMFJ; spf=pass (google.com: domain of fm-51332-202603231053424c47bd1a5900020784-ofhexo@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-51332-202603231053424c47bd1a5900020784-ofHeXO@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1774263225; x=1774868025; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:to:from :from:to:cc:subject:date:message-id:reply-to; bh=liLVvEMsKaBFQzWkCS4fO8CbkAvd6Znvqgx/kf5zrn4=; b=yFAy7G4UjGveM0KUwylLrzN3t8NDGlAsisiMN3UP9JFGdOxQBDD4uVSlBRVxGL4nIm oo6CWaMdkJzqaaSDfaPJbCy5gbztsNwoKJh/KjBifGfjTh/Zm29LzzREfDTEDleUtY42 kUMdEdQK5UDROAlaSzxusrBDH/di98TFn8rt6KsXQ+iMex3ZlCLUTLzXxwNciRppTDHf 5jjULoFyq77DM7IXpKhYm7JY9dMR82wLfG9ygXItfdFqG3Szg5wnmZGm3YUw2ZfKDKN1 zAEu9NVdgx8luKnDsecPqrl6HkBl0l1Sx4UUlxWAIYfy+8graaHWsjLYo1X5JCOzh+hO giHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774263225; x=1774868025; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:to:from :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=liLVvEMsKaBFQzWkCS4fO8CbkAvd6Znvqgx/kf5zrn4=; b=T872/8xi88Q1z7WLhjU3S73l0xd4WxCA/kmNMg0TLa96NvvJOUEaTOJEqaWlmVeUBs MlHIlHRRIxZSedQZ24PYQwrYLcu3/6gPZ/zdOE6D8y0VLA0XdIkh10CWQB3rmrhtzERq hU+z5ier39oGKra2OpiKaIMz7WALr2IMNBuv3/KKSQIQCnfcqd4znk5vqhbAs7jiA2K3 Ln21biMsnBZL2SV22hsFFgEl17vQKzLcRQU1nWSi1sIHfOLQ68KXxc5k/9jIEM+8cUUB ZVz44ji5KMvcgJyNOuykeHWcDbLWFcBvVBsr3GvGH6eAtBSqN1nsTRc8YVacAyFpJYDB KAIA== X-Forwarded-Encrypted: i=2; AJvYcCVC0EodPTdYEGeiu0pGWLGnhBzQ/yy2OHDPDxpald9IU/80NsjyvLkvHAjMAcIPWMJMoYPy6F8=@isar-build.org X-Gm-Message-State: AOJu0YztyGysn1Q8AElygq4wHMTp858IzqmSUNn+BAuTVHA2UNH3XQQy MnWGL5ryfXUv4OK5PVDmTXnT83WYaW0YUhlG+zFIUH+jHFzVTObzIUjq X-Received: by 2002:a05:600c:3b07:b0:486:af22:4a2a with SMTP id 5b1f17b1804b1-486febbc445mr162998115e9.7.1774263224820; Mon, 23 Mar 2026 03:53:44 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AV1CL+H1FBMjFJ3GpTuE38XbHw26VM7HwIKdVLbGyRf0gI1m5g==" Received: by 2002:a05:600c:4f42:b0:485:f1d6:2b15 with SMTP id 5b1f17b1804b1-486f93a7e6dls33540385e9.1.-pod-prod-04-eu; Mon, 23 Mar 2026 03:53:42 -0700 (PDT) X-Received: by 2002:a05:600c:3b07:b0:485:3193:6ddb with SMTP id 5b1f17b1804b1-486febbc65emr162585925e9.3.1774263222493; Mon, 23 Mar 2026 03:53:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774263222; cv=none; d=google.com; s=arc-20240605; b=WZAJYNHBTPcV0KgeBpJ/7p0UeiOe6uV2tw4xmuFpc0NZB2tX7fX1fjQHXC1yUozi2x 9fccKtZPivvWiF+AzXBvq0prPlUsCTZyTc1On+S3AyYhk5WIna6qkMQ4eZAttVx4hDJ7 d8OP1BtOGI+EBVku1R9Wkxo51NksPnJpOww/JEGvlLaKw2ZqsJ3JYhP9i+lfZWBnMhoe xCgQ86Gy+cwRmar0mW513GczSPvDYZ8nTx9ooJpEjRLbX+xYraFvpaksNlztru/05ojY KFLMtP9rSbdfpL6xIdandvq5U1JhXBXh5my2dOBDDom8N/Cj8SjNRL7fINs9ycJgommX 3iKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:to:from:dkim-signature; bh=bem2UvfQJxgxc4bTuU7Yg1BJpi8lDGJ5SOrRZvXIfwk=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=IrwN4rw7mKoAgBfLcGgF9ze0BsQOXfyWgkzWgXxuD8YZO3hSQhXqpn0F9MoPctVNzo cFgOSoe5DUYAKQsWXFF3Y2RCQxfVEeqAgp1fFCIC7sNozbRe8ULvb0r8DJ4t4HOpsS0k xK4RM78ow+5/+5mDlUHgGejaoOYtZLGKcTmU44j3gSJ8++VgJlSJ9pu88BfK3/qVXUxo /qkNUr9ljQtA9aZ7i3cyZbO0mgKlxu47x3ugKVEdsDapRlb8luhWH5DtLDZV2CPXMv4Y 2okwJrbRzVTIme1LqW/I+hv+7r7vnA+WCXMCboYFtRRe5QAm3M2xuAiALQIikQmAkc4q Pwkw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=B+2kFMFJ; spf=pass (google.com: domain of fm-51332-202603231053424c47bd1a5900020784-ofhexo@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-51332-202603231053424c47bd1a5900020784-ofHeXO@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-486fe861d95si655545e9.1.2026.03.23.03.53.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Mar 2026 03:53:42 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-51332-202603231053424c47bd1a5900020784-ofhexo@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 202603231053424c47bd1a5900020784 for ; Mon, 23 Mar 2026 11:53:42 +0100 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: isar-users@googlegroups.com Subject: [RFC PATCH 3/3] user_manual: add rust section Date: Mon, 23 Mar 2026 11:52:30 +0100 Message-ID: <20260323105332.2721282-4-Quirin.Gylstorff@siemens.com> In-Reply-To: <20260323105332.2721282-1-Quirin.Gylstorff@siemens.com> References: <20260323105332.2721282-1-Quirin.Gylstorff@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-51332:519-21489:flowmailer X-Original-Sender: quirin.gylstorff@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=B+2kFMFJ; spf=pass (google.com: domain of fm-51332-202603231053424c47bd1a5900020784-ofhexo@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-51332-202603231053424c47bd1a5900020784-ofHeXO@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Quirin Gylstorff Reply-To: Quirin Gylstorff Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Quirin Gylstorff Signed-off-by: Quirin Gylstorff --- doc/user_manual.md | 66 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/doc/user_manual.md b/doc/user_manual.md index 7520854b..75f72355 100644 --- a/doc/user_manual.md +++ b/doc/user_manual.md @@ -20,6 +20,7 @@ Copyright (C) 2016-2019, ilbers GmbH - [Customize and configure image](#customize-and-configure-image) - [Create a Custom Image Recipe](#create-a-custom-image-recipe) - [Add a Custom Application](#add-a-custom-application) + - [Rust in ISAR Builds](#rust-in-isar-builds) - [Build statistics collection](#build-statistics-collection) - [Isar Cross-compilation](#isar-cross-compilation) - [Examining and debugging package generation inside their schroot rootfs](#examining-and-debugging-package-generation-inside-their-schroot-rootfs) @@ -1039,6 +1040,71 @@ be installed via `IMAGE_INSTALL`. Have a look at `prebuilt-deb`. --- +## Rust in ISAR Builds + +This is a collection of recipes and links on how to +package rust crates. + +This document takes most of its input from https://rust-team.pages.debian.net/book +which contains the practices of the Debian rust team. + +### Crates on crates.io + +We provide a generator in `scripts/generate_cargo_crate.sh` which +generates the scaffold for these crates. This follows more or less +the approach of Debian with https://salsa.debian.org/rust-team/debcargo-conf. + +The user steps necessary are the following: + +1. Generate the package by calling: +`scripts/generate_cargo_crate.sh [CRATE_VERSION]`. + +2. Patch to build with the current Debian release, e.g. relax the dependencies +in `Cargo.toml` + + +### Crates not on crates.io + +There is currently no generator and it is recommended to follow the traditional +packaging approach, see also https://rust-team.pages.debian.net/book/process-workspace.html#general-setup. + +A working rules file could look like this: +``` +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/default.mk +include /usr/share/rustc/architecture.mk +export DEB_HOST_RUST_TYPE +export PATH:=/usr/share/cargo/bin:$(PATH) +export CARGO=/usr/share/cargo/bin/cargo +export CARGO_HOME=$(CURDIR)/debian/cargo_home +export CARGO_REGISTRY=$(CURDIR)/debian/cargo_registry +export DEB_CARGO_CRATE=$(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM) + +%: + dh $@ --buildsystem=cargo + +execute_after_dh_auto_clean: + $(CARGO) clean + rm -rf $(CARGO_HOME) + rm -rf $(CARGO_REGISTRY) + rm -f debian/cargo-checksum.json + +execute_before_dh_auto_configure: + $(CARGO) prepare-debian $(CARGO_REGISTRY) --link-from-system + rm -f Cargo.lock + touch debian/cargo-checksum.json + +``` +This example works for a cargo application and cannot be reused by other components +as the file `debian/cargo-checksum.json` is empty. + +An example for the initial cargo crate can be found at `meta-isar/recipes-app/rust-hello-isar/`. + +--- + ## Build statistics collection While isar is building the system, build statistics is collected in