From patchwork Thu Apr 16 15:22: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: 5038 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 16 Apr 2026 17:23:10 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-pf1-f183.google.com (mail-pf1-f183.google.com [209.85.210.183]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 63GFN8uM031907 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 16 Apr 2026 17:23:09 +0200 Received: by mail-pf1-f183.google.com with SMTP id d2e1a72fcca58-82f504f6b75sf2047657b3a.1 for ; Thu, 16 Apr 2026 08:23:09 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1776352983; cv=pass; d=google.com; s=arc-20240605; b=aHZw97faWxz9dsfhmRbfIX/BylSJql97iy+WUXQ2E2bUYS5fHiPG3EzmQYecVHKgtX YWKZQk0siq5sPJrm/xAtwc2lIuPo2/q1EZR2ajp399XihS0mU0LfOr+eJ5mK36pqDrht TSHcbBKEzhrGVyyXCsE7ba+I5Wlx0T+QXuZR5j2MTeqnk1Lq7lH2u/OyJn+Pf4utns0W g40S/PNPE66fh7/Ak80tf1qIwP/R+hlUZ5LWJVPolqupWOxfBF+LlpVwi34SBcFJtd50 r1b+1D0akBMAgL+uTLqx8aYyoEicHOxeMO+jFMBk7krn/irwZBcop1YP/9yUZN+slN3F GLAQ== 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=/Q6ZQiTPs5IgUiBsFnDBIMoYkyCPi82B0VsRHlu47oY=; fh=/pIkNNBSR7tPhUbRcBJY4K10MiKTRP+LcttVWK6WzBA=; b=f//Q9nlr7TMaFde28iop+X42HIgDov0cB0Aghd5BQglBmXaaa5bg82HElT1PRImbgN ski3zWL9D16v6Lqgv9BuwZ4Y5lvHHqBjcWMZYedHAQBGBhQOQvrBivbuEzOVbKznOu2t QGFR7cEt5rVRimtSBvXY3QKnbGnVoCC38lCEb6/YK1AyMbRniCoNsu75V0O3Tguk6ZJx TfvNOpkSTLI5BwYjdFRP7Wlbg2mg77Ws3ziWslxaA8BqYAd0lAIBuESR84zn9WRTJrkL 8kuayfw7hbm0SBRIfeiDYE7M1+hdL0un7m3LnGUrvSJdKUugJYNHTiT24o76EGVxpFMP Xu+g==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=DrHnI6eu; spf=pass (google.com: domain of fm-51332-2026041615225843e31582c0000207db-rs9xij@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-51332-2026041615225843e31582c0000207db-rS9XIJ@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=1776352983; x=1776957783; 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=/Q6ZQiTPs5IgUiBsFnDBIMoYkyCPi82B0VsRHlu47oY=; b=Kf+ds/4LYFRb42J3jLCiT8pf/jCNoUwK7q7Gj13DWPQRJhqRITzvtTK+HOQwtzhyMU clQcZg9qBxvLE3u22drdEgFOOXa7B25tZsbVo/7fCw2SX1yhwSla+tJRhfvGR6/qLRkW 4jFK1MU6gwcep9VEyUb0K0ZBGojltFjMf6mLvb26XQzZdXXvB/kJcIkYfKy8A6SXaoqr hhfDXxoGadS3eyOeeb6G55LHhzimL3hXYeHaaIhNKxRAnkVw8/ay5ppbI/FUUumNeQDw JLEV+iiD6tyhZ3cHAyDPPOSF1HIQnByBMxtLBV3JaOVpj4Xx4nLdi50b1dGC6tWPEXMp Pp/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776352983; x=1776957783; 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=/Q6ZQiTPs5IgUiBsFnDBIMoYkyCPi82B0VsRHlu47oY=; b=c5Lgns5gQ2S4cERacAiHBhdUJeh3pw0+X4Af3fGHUjOkPz0FnDXtMah/a5kwSoX7Bn JatZaowy5TvD5I+fNltjyzfgOuKILuK1DHVI7tx/BcJGXnh5LkAxL7J6ZeYXSs+0BeGF JkD9bCSWkEgFozflyj5WqC59bEXQHavVEhjB51p7jjuH4p96oDbwiS3hbM+eBCvLq9u+ +d9Ukv3ceZWbO0jC3KBkTGxBbeIl71nYJHwxYkxcgpfUulgq4ZmyBDKMIyT0seKIJRfb i5X8TW6MSILxjCY2s6QPPtqMN1fqnH8152aDmeY/fsIVweQODTbwBaGD/7tcYsvLSRnV hKng== X-Forwarded-Encrypted: i=2; AFNElJ8NZWB1geMTEmXSkLogQRJ9cY2r1Vxnbuhi8BBPENY/hkmb4rUemR/UKTawsehY1obWQvXmz+U=@isar-build.org X-Gm-Message-State: AOJu0YwHSzn0BKiCaFiPGua00W6IrKQ7FbmSH7mL7KlOJUTfWbQVwDdu eKe0XHJA9U6pSAx9yx+rclwBXyONspNhkrts6BS3ZPFjbSphFM0tRdPW X-Received: by 2002:a05:6a00:bd8a:b0:82a:5d55:5807 with SMTP id d2e1a72fcca58-82f0c1c8bbdmr25890041b3a.6.1776352983013; Thu, 16 Apr 2026 08:23:03 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AYAyTiJUkvgP9AWuCH4iiJgtddZMj2mzP2yf3gGPa8kkexfohQ==" Received: by 2002:a05:6a00:8005:b0:822:747d:3af9 with SMTP id d2e1a72fcca58-82f771c2eb7ls1075245b3a.2.-pod-prod-09-us; Thu, 16 Apr 2026 08:23:01 -0700 (PDT) X-Received: by 2002:a05:6a00:302a:b0:82c:daa4:ce29 with SMTP id d2e1a72fcca58-82f0c2d93admr26975493b3a.47.1776352981373; Thu, 16 Apr 2026 08:23:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776352981; cv=none; d=google.com; s=arc-20240605; b=RobQCsCATGpRALhrMUboCrbujDle+J5GtZi3VRFvDB3ce+FFkUq3cTlnDjLytNDSos 0NXhnKVZrEV5IYjb1MhLqejdwbcX2UANulwyRPpAXX4P2Lwc35o4K3ZnghIrI/FEQoZC tmyfKLpDZL+wOLMMbUIQ06mzrelALn5Vnh8zYT2aKdKsItM8jI3Jkf8JP2ohy7bad34I QrIQyU1gDGJRuunaEYnladfpNtDDmxdsp0klT2ny+zt5cZUaTOcqTfBz04U95RpofDCE tGUsG657J6ancQkRjj8VlNFY6TxqdpY6h5JdRlBwZDEFA3i1ZhQzvQK8I/rPlkOOlWH6 X6Lw== 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=F2BmssPWv++JS5QZje42Aeo1YvoWQUZ5YzXAyP5olIc=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=TipL2I5PQDZmbZwGqdzo7ljT9WLkmjQrDC8PtXDNNqlG7Zbdg3SwR0IuZq3R7cet2d 6rl6XX3ayk0VlAz+jvYVBFvI7KI0eh4cPKLYSukE44030Q+0zQAL0+eR83B9xC28dzwi xO1ZDuUThOB5IIPWSP4gkAmkgUgHQvrEyaPXVUd3HLHFd0FoB6yNKH9j+IDy6Oh0kA0u 3pg/6VMwWBXlU3PCmOQr7ZQ8aSEF6WD/Ql21q0APwEVho8Y2mub62w8vaFPHCbgrkZG3 5ZwkGb9WJ6EfgVc87KxJmRPyL6A5Fslxl5Ysht6lyJfEyhOWyFzH3Nt/e9iJNcDsjX1g Rylg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=DrHnI6eu; spf=pass (google.com: domain of fm-51332-2026041615225843e31582c0000207db-rs9xij@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-51332-2026041615225843e31582c0000207db-rS9XIJ@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-228.siemens.flowmailer.net (mta-65-228.siemens.flowmailer.net. [185.136.65.228]) by gmr-mx.google.com with ESMTPS id d2e1a72fcca58-82f6739aa55si189253b3a.8.2026.04.16.08.23.00 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 16 Apr 2026 08:23:01 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-51332-2026041615225843e31582c0000207db-rs9xij@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) client-ip=185.136.65.228; Received: by mta-65-228.siemens.flowmailer.net with ESMTPSA id 2026041615225843e31582c0000207db for ; Thu, 16 Apr 2026 17:22:58 +0200 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: isar-users@googlegroups.com Subject: [PATCH v3 1/3] Add script to generate a recipe for cargo.io crates Date: Thu, 16 Apr 2026 17:22:29 +0200 Message-ID: <20260416152238.1651692-2-Quirin.Gylstorff@siemens.com> In-Reply-To: <20260416152238.1651692-1-Quirin.Gylstorff@siemens.com> References: <20260416152238.1651692-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=fm2 header.b=DrHnI6eu; spf=pass (google.com: domain of fm-51332-2026041615225843e31582c0000207db-rs9xij@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-51332-2026041615225843e31582c0000207db-rS9XIJ@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_H3,RCVD_IN_MSPIKE_WL, 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. Use the bitbake crate fetcher to download the crate. Set the variable `BP` to extract to ${WORKDIR} instead to cargo_home/bitbake/${package_name}. Signed-off-by: Quirin Gylstorff --- scripts/generate_cargo_crate.sh | 92 +++++++++++++++++++++++++++++++++ 1 file changed, 92 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..e2914a27 --- /dev/null +++ b/scripts/generate_cargo_crate.sh @@ -0,0 +1,92 @@ +#!/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 "$(pwd)")" +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 +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 +# Created by generate_cargo_crate.sh. +# SPDX-License-Identifier: MIT-0 + +inherit dpkg + +SRC_URI = "crate://crates.io/${package_name}/\${PV};downloadfilename=\${PN}_\${PV}.tar.gz" +SRC_URI += "file://debian" + +BP = "${package_name}-\${PV}" + +SRC_URI[${package_name}-${package_version}.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 +# clean up +find . -iname "$source_name*.orig.tar.*" -exec rm {} \; + -rf "$TMP_DIR" + +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 Thu Apr 16 15:22: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: 5036 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 16 Apr 2026 17:23:08 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-qv1-f60.google.com (mail-qv1-f60.google.com [209.85.219.60]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 63GFN71Y031879 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 16 Apr 2026 17:23:08 +0200 Received: by mail-qv1-f60.google.com with SMTP id 6a1803df08f44-8ac04b2fc4esf211220246d6.0 for ; Thu, 16 Apr 2026 08:23:07 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1776352982; cv=pass; d=google.com; s=arc-20240605; b=dA7tjmUAY838jubjRISUCpX9u6uzyc1pKxS/gj5/J1uuVJVQaOVyJJfz7I9Th7ubJm haGt/IWljBau5hfgsK0/rvx06micI8msONr9TfE2ouuZU+aoNtMdGyZ1MlEZ8ewbFO+2 UiX7TljocRBI+fzGrsmvgp389OeG/NT+IxkBZSJ/bvvjlU6hB8yBXkkMkgMSQUMtBwzd DYLd/3FPu8KPUqZUEpwBedI5BQjsjxuZMbkyNHfeRCmXxYs07eUK56nhTAvPK4NX+lCC zMkcDw60qz6eY3olio9fpf+vJzmtVJ4kASkW1lYlcyw9seY6VRS7xInez5VhIOMhGSTs t/Ow== 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=/I73kzZArb1vt2++3n4cFdQ5y84yl1ZsoKPsQWcz310=; fh=6sB5aexOnX1qL9DOfHEF915lI34JrX7R0SUpM8JbQNg=; b=JngTkjWlMT8Cmh3+erUnk26ZlPFpAE6pU8SnyyXwKa/ERaYu5bSEvgrxmiCyj3ZDc1 zws1XgP5Pb4NHtfvNTf+7qlTn6dH8F0gJC1e5cjzNEihr++UP1iI38GzL1Rr2gLjlahv 6cJdwG8dcYSkq32jj8ibDbq3LEo81i8i2QO6oT+/a80P9FY58vWLVmLWQQ2i1n+vnwmj MSoqQHWyfqkbmCnHgE13VXBoZuQZ3GuCHjSzeh162vdPODR9JYLjJvjDtcx9YQlARXWi YmFWy/XSqg9L5x+OWyne3av1KTR/BDOvvO6xnnBZBo93aHablAUvXi5qEBMzlyLvvKPz +SEQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=AzhKNmi+; spf=pass (google.com: domain of fm-51332-20260416152259d426a03c92000207a5-rfkbam@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-51332-20260416152259d426a03c92000207a5-RfKBam@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=1776352982; x=1776957782; 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=/I73kzZArb1vt2++3n4cFdQ5y84yl1ZsoKPsQWcz310=; b=bLqH2kY9SFmAFQ5rW5BO2ZBGRZ4rAZ0B7X1SCCtCjqwNt+k+jsU5Z6cC3QhZB7cjFH 8zKE9sgdVpJKNtY6DZ2ERTgUP6DAKA1zg4cxqzBgNSg1F/0WliYtKCFjtx12on8K9bc0 g35TSw4X8whkAbZvojX+Mvkyl2cROLRfefFzG9potBYhqCwHlHLLbDgeDGuXF04Ji1ln wv2xG2WU+1T88p6Cr4DUKp/J5gC/OgC2dJP9uFI7sxCU2h94xBUQfXo7hxGwRcjnfgUC NytTgXv/wxR0TSNULmsZ1AzZquhmMC8igVofhb9432rowpyVGJ0ezeXGO4klI029uxEs zQ8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776352982; x=1776957782; 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=/I73kzZArb1vt2++3n4cFdQ5y84yl1ZsoKPsQWcz310=; b=kGj+SoTSwx2h9WkwO7EHQGn+6ognPazm/dYUAkI+0sAso+Q1ZlbU0l+9Rj9BuZ+9EY 0zI4LAmg4gV1JnOIUVrKQbVobcY7NmwW8d31ZjvQAAnHuI2+kWRD/9fKL96n8V4FlCkx oDQXS8RnIS8jws/GzhVtr61OhVDvNAUpqyfUydgZBtW97+wIAa3grLrretRjHAS1p716 5vreWOROFbDp+/yfDTOOiwIaeCMpBzjvaDO9kyVbPF4qz2iedKDIVdfTNvn5Zui08Fg/ KOsNL6HPrttgwPkUDFvKqD4Bs4A/LGf6QlLc0suqCGrJXz3Ct8LeDg1cp0tjp5iamExU 9peA== X-Forwarded-Encrypted: i=2; AFNElJ9D2B8MuDC85QcdUzUs/qEi1jnKsSZSdw9L45zyDCDTNyaDCbKgo1obKaG2mIqVYB6b+8Mkm10=@isar-build.org X-Gm-Message-State: AOJu0Yw63cPb7AQg8i58AbS9WRvK/iGMj3iuKqUyWrrBYF0taA02Kc5C Tg2ovGfwA6LviNv1oaIB8cN23d7x76+tk0rUvMLUukuHBHVOYLmwhl3a X-Received: by 2002:a05:6214:5f09:b0:8ac:ab3b:39f7 with SMTP id 6a1803df08f44-8acab3b3e47mr311523996d6.4.1776352981523; Thu, 16 Apr 2026 08:23:01 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AYAyTiLX7vsKsIuxyr+Eir/fVezjJzyOi9Y/NAr6azRSTKwnRQ==" Received: by 2002:a05:6214:411c:b0:8ac:aec9:19ed with SMTP id 6a1803df08f44-8ae81d1d674ls15655316d6.0.-pod-prod-03-us; Thu, 16 Apr 2026 08:23:00 -0700 (PDT) X-Received: by 2002:a05:6122:1796:b0:56f:31e3:9445 with SMTP id 71dfb90a1353d-56f3b9e4996mr12436995e0c.0.1776352980309; Thu, 16 Apr 2026 08:23:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776352980; cv=none; d=google.com; s=arc-20240605; b=URkH3umZRZYb/mbN3SJ1KoZMLfyr4HFchAExA43T3QSVtqgMf7ahBh9Ki1OEhYTFRV GnukymEfuZi34KXAN6WGFV1WPRNFSoifklwUsBKiFVkY8KP6f/cM8ZALFdZqSNRgmAeA c2U1pjH0qqMmP2HN1o8g/BhIkQK2tkH47tTwRkUrrks38TqFd5eilpLR130T5SAPNXmm +vwQXl7vRn6HD+7dA9szW+LwnRXtuxhrpZp0SoeCiZoO8ITd9QRNnZ51sFYeXPKgldGN Cnh6EMCIehUDPQJupasYvCQ8lJAwtvK4XkB635zfPFPcgALu/uBQT0dyMALi92M3L33W 9afA== 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=L422cLStf50I4fcGnm4lyYU1+rgBCrQ/nGhb5PcoyPk=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=jPZtzq2JqH/oq7PqlVS5ZNW6dE+6qVIDX0jTulWcg1HlIzrMA2VVGP798YDLRcY+Jn zbEF80v2gt/Ze7Y5hVfAHOFF5kgKSuhY9/dttpkC8mqztie69WNghIo3vzVKeVDwGC1I cxUImVfDP6MjN0IZK9O1uzD5E7ZpaoZd+a7wfcmdImIb/ANsSlcLYnhArAon368zvZIn WNuY6gm25kJqhMK6rkkQhaote9bWPetSC0K6U5ifmz+AMhJH6zUtOMAnDV5tX35PI1mb 1oHGgcR7LbnuzxuCLAXaHpuOiI93uTZTi0/5sMbT4qJlSPxA3Q4ttLYBnKAni21EArRG QXog==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=AzhKNmi+; spf=pass (google.com: domain of fm-51332-20260416152259d426a03c92000207a5-rfkbam@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-51332-20260416152259d426a03c92000207a5-RfKBam@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-226.siemens.flowmailer.net (mta-64-226.siemens.flowmailer.net. [185.136.64.226]) by gmr-mx.google.com with ESMTPS id 6a1803df08f44-8ae6cb77391si1883506d6.4.2026.04.16.08.23.00 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 16 Apr 2026 08:23:00 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-51332-20260416152259d426a03c92000207a5-rfkbam@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) client-ip=185.136.64.226; Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 20260416152259d426a03c92000207a5 for ; Thu, 16 Apr 2026 17:22:59 +0200 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: isar-users@googlegroups.com Subject: [PATCH v3 2/3] Add example of a rust hello world as isar recipe Date: Thu, 16 Apr 2026 17:22:30 +0200 Message-ID: <20260416152238.1651692-3-Quirin.Gylstorff@siemens.com> In-Reply-To: <20260416152238.1651692-1-Quirin.Gylstorff@siemens.com> References: <20260416152238.1651692-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=fm2 header.b=AzhKNmi+; spf=pass (google.com: domain of fm-51332-20260416152259d426a03c92000207a5-rfkbam@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-51332-20260416152259d426a03c92000207a5-RfKBam@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..0a20bb4b --- /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://${BPN} \ + file://rules" + +DEBIAN_BUILD_DEPENDS += "dh-cargo" + +S = "${WORKDIR}/${BPN}" + +do_prepare_build() { + deb_debianize + install -m 644 ${WORKDIR}/rules ${S}/debian/rules +} + From patchwork Thu Apr 16 15:22:31 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 5037 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 16 Apr 2026 17:23:10 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-vs1-f64.google.com (mail-vs1-f64.google.com [209.85.217.64]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 63GFN8fh031905 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 16 Apr 2026 17:23:09 +0200 Received: by mail-vs1-f64.google.com with SMTP id ada2fe7eead31-611af0d600bsf1971557137.2 for ; Thu, 16 Apr 2026 08:23:09 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1776352982; cv=pass; d=google.com; s=arc-20240605; b=kDi9ldYlr8B8LvJ/K71h5lXWHROXHW+24u7zdawiKYaVuUSUKmY0o+KfQcQkDXzDrM 4W+j1COHzHs0rFfBo+U6hHSAOAa5IchJ3FpK75JkCiP3xHghhGmr9OsNxdJ8163TqJFJ lKHMDWzi8SJzFG3rSuec8lZFojw1AmxiskhjOuTImo2uJj0cdfESfuf8ZG8wukF5BrM5 36/fCNhq7KR13Mlyy6N3pXViB6uXSrysDGdygKSJu+3YWGw/LitJsHnxHF54rk/UiE6g DUJZQIGcBpZ7akwovuRG9JJKYoI4oy+gGamYf0n+LH2eYIBkTaDh4jsNntTn5sEngobr RYzA== 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=eY0AJj5Rqt2douaF4+AleWr+6eUoFTsjqqFfB0uzs+4=; fh=RP/gwBLDttVyENxYLdihpPUZa8Of/OMFJsJa7ZMTTLM=; b=Z+6cHmUvUUZB6hIVMJQPi5UD3QGFkDY4jfaw/P4N8uuGkwv0hKWvuhcq/y36+QtW6c bNPZWCCIcxeL9fEQ4mOn52LyW8AeJ8gVwleLx6g1UiSBoR2wLdUycxdxQD2NAMk9Jjg+ UUc+/qyu2PI7o9Q/LKgyyU938QJ8DBPLBOXjlnLEg4v8IPR5sHnIxaPsV2mlFWvlV2lX StBYuldsyCBjWpg5hvm8zIabCvEfVejYzcuuUOlhOVPTPnKqnYxiXdidSKgr7Fv5gvaI hBKfym8+9xNhdFdsNhO/d+ojCiXO+VN9keoj6OyAyW6zSeI3FoeWmjPb30Mh5SAtNpjC WAnA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=S+hwoWbK; spf=pass (google.com: domain of fm-51332-20260416152259912f91dccd0002074a-qxg0ca@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-51332-20260416152259912f91dccd0002074a-Qxg0Ca@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=1776352982; x=1776957782; 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=eY0AJj5Rqt2douaF4+AleWr+6eUoFTsjqqFfB0uzs+4=; b=kEt/9uzgSug+viLHkpMBxP7sarpzpYLqLny4LOTf/TT2nEfytjwRjgY+VgSg9ZkB0j ZyQZrBoI7wi34leRWMVTpz+hJNPMETt79tQJPEJhGzyQHVfx1bDIIj8MVzXOYtq3Wqsy 4vmGtQUZYfiMIRZ34wraEhZ3n9Cy/n1XV3JpQPiPH55AjFtg/CddAWbWrVMG/9MwYJpo 233p/nbFDalaUnlO3MuhOqTn9XJ07TJybOesPLa7x9O8b4Cc+2/Sgd5tLNG/LNh2dLk9 Xfj8kr+VVG4tSEp+u1dQqLDVn5a983xj6RROZQe0U5iQRsWb/xFuTpc0WLzregB/xxP6 f0xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776352982; x=1776957782; 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=eY0AJj5Rqt2douaF4+AleWr+6eUoFTsjqqFfB0uzs+4=; b=LVDMPhXB0BV35efLT2LkEcD6QKVwd/Bh4reXWIoyn1BAFtUz3nDAipNfMlB8O7Wx2a hGcd5PwnG9iplSdyWEdjbAW3XPghKzPiShjU9Q7yJ2vLN70RX7XRraMClhQFbQMsXuFP KTHZngnle1oJ0qtveSIq59+ywect6KqvfTG8/JslL1+kP3n3/nOA9cRW6rkF2SK3QkWy DXUDol/yvWYVzDP0FV3RJFzA48z/u2b5djw5np3iqzBmW9NvyGX0yBL2LqOCSTSsioMQ YWkgfSxe9CMTfCXwaRwK2VF7mxppgnvgUDafqU5aOw80+Au+hjdxM2E9YiQUMW8n7ivo X1JA== X-Forwarded-Encrypted: i=2; AFNElJ/IKllj89UA1HlrTICLdMQbLVF8AqTJdaFO+z4nqNvzElwTWlirOgRsjp6lXxDbW0a4yRbhs0c=@isar-build.org X-Gm-Message-State: AOJu0Yx8+3hvQgrx8b32sodM5hDNFbZQ10B1+9vOXqIdE6pDwwazHAVh bK84N2yJ5ToX73xTTiB0f0FMIx4Dz0ZM37XHRnKA1oE2yE5WgRdCvSt+ X-Received: by 2002:a05:6102:161e:b0:605:889a:89a1 with SMTP id ada2fe7eead31-60a00a2ea6cmr11884425137.23.1776352982497; Thu, 16 Apr 2026 08:23:02 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AYAyTiLFfmcfOaox7Fw3QeQ2PYd9XFgFE6IEgghWLmnmKoPs4Q==" Received: by 2002:a05:6214:1bce:b0:8a1:212c:e4a2 with SMTP id 6a1803df08f44-8ae8208dd40ls27845906d6.1.-pod-prod-06-us; Thu, 16 Apr 2026 08:23:01 -0700 (PDT) X-Received: by 2002:a05:6102:3e92:b0:609:5643:e9f2 with SMTP id ada2fe7eead31-609fe5840dfmr12816138137.6.1776352981253; Thu, 16 Apr 2026 08:23:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776352981; cv=none; d=google.com; s=arc-20240605; b=gwNN9B7e1wyLM32ecrj3XThh7RBOatOMhXL9fp/P3OGQOtAaA+jFliZFLdeKzt/yZ8 /YSeGmOjBLP69nhfL3CC4OBVzq67BSDste2hP0Y0Zvtl131fpA//zogfEBAeTCETKSej DWU4C0WGiwWXMf8t3yOoSPLu6jBP3R/7HRNUb+hJbgJl1q8SprxYTcYZx1Gqsnjdw1JF 2Pzby93PK0HWhlaqwL5MAiWCqq4ZvSJm7pcxnuVFvefxQkpOZpBiatopk1T3j10NxQVV YAVropaArU0hTIe6TfodVCKMCvhZVdUyfjL2xlpe/cKP5e2kghpqkBRkdeOuUdzzoAnZ h+4w== 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=n7FMpE3yFPuX8YdSC47V0rhja/TXxR9NmC1bURM/tm4=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=hr2y6HhWyDstlNUi1GX64nVKzlqYzq99ukj/CGMdcj/W2rUDIltV3KUJ+9Fr6nv0NO DF+o0+hfI58G2Isqeh6tKQ1WATuK5MR4eOQJ59DSkxNrXFn6n4UA2FOkz9o47Y6YEnv9 Qn6DR5etL0/rzQVnDA/OXbFZwrsxjf26GUkAytnPM2BgiXTLaa2HZGABi0D/wh3IqjTh rbZm5lctis96DXU+HhN24/XnWu9e1orXF18WYaAzWPs5+L+e0CWQUWkZjkO/sCILugz0 +Okxcqtrb6MeZblCEvBcV+75iuZYIAOzpNAKyEM6uHEVLP2yKxewPENoY656fCPXsbHC 6c8Q==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=S+hwoWbK; spf=pass (google.com: domain of fm-51332-20260416152259912f91dccd0002074a-qxg0ca@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-51332-20260416152259912f91dccd0002074a-Qxg0Ca@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-226.siemens.flowmailer.net (mta-65-226.siemens.flowmailer.net. [185.136.65.226]) by gmr-mx.google.com with ESMTPS id ada2fe7eead31-61675257cf6si5646137.1.2026.04.16.08.23.00 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 16 Apr 2026 08:23:01 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-51332-20260416152259912f91dccd0002074a-qxg0ca@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) client-ip=185.136.65.226; Received: by mta-65-226.siemens.flowmailer.net with ESMTPSA id 20260416152259912f91dccd0002074a for ; Thu, 16 Apr 2026 17:22:59 +0200 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: isar-users@googlegroups.com Subject: [PATCH v3 3/3] user_manual: add rust section Date: Thu, 16 Apr 2026 17:22:31 +0200 Message-ID: <20260416152238.1651692-4-Quirin.Gylstorff@siemens.com> In-Reply-To: <20260416152238.1651692-1-Quirin.Gylstorff@siemens.com> References: <20260416152238.1651692-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=fm2 header.b=S+hwoWbK; spf=pass (google.com: domain of fm-51332-20260416152259912f91dccd0002074a-qxg0ca@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-51332-20260416152259912f91dccd0002074a-Qxg0Ca@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_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 | 68 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/doc/user_manual.md b/doc/user_manual.md index 69e8dfef..396e1b90 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,73 @@ 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/`. + +Check which packages are already part of Debian by using the tool `cargo-debstatus`. + +--- + ## Build statistics collection While Isar is building the system, build statistics is collected in