From patchwork Tue Mar 31 08:10:04 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 4995 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 31 Mar 2026 10:10:31 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-qv1-f64.google.com (mail-qv1-f64.google.com [209.85.219.64]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 62V8AUop011175 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 31 Mar 2026 10:10:30 +0200 Received: by mail-qv1-f64.google.com with SMTP id 6a1803df08f44-89cd03be011sf136236606d6.0 for ; Tue, 31 Mar 2026 01:10:30 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1774944623; cv=pass; d=google.com; s=arc-20240605; b=TSOWE/ir+IREYJn79Riex52f9Yu6f70KmN2JJnRFCy4iGkebFr8DykHqLgXUNVQqeE ZO1FUDlP5u2Xeiw6wJE84mwuePySGlyRAEOln2InLWCRiswjIoJRR8teaQbhhk0FkL7B smZ2C3YeJ/+jdvbavuAcXxZm8RXA5V2SClQmcf8qrCWhDu2mXzJU5vegC5R66LD+exWP EK9lVuSmhj2+WM58EBdxZe1Lq6EsmuDIzkbW/1vaF3VGuOmXzZ0WNmA0C3zt3UpwTJ/q irjeB7kAa4e4UbzEFp3/yMmt5BoMesu2eNiLVgtuphDgzZjEovDn4f9yB+MuQMJsC197 GKuA== 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=gd7KiOYikWGIrbTUmaYIQl/NY3BP4kn/9Ho8el9HnSg=; fh=KN7jTWneyXEcgiL831K1suZmwkP/5zBTtOT92KEORqs=; b=GuJ8OlhpVds+G96jKeZ16gLUhf+v+gJA//Ga5c1TD9PNdONwCy2hrSIbaocjy5RNSU dGjYhiHcN8t7A19aoS9B6JZGem8LgBp2jnLXjavlIBHaxnkvm4SnlCuWHrZJhq++5mGT zmvB9gQAHnZ5CahlpqA5PCVWMKyQMBVy7IftXQ4u6YexbcDY9/dJN1JYnLMEGhYhpc1q 8Ybd0A0GnFdb6ZnOXs7xaSFTGvb+Lqx8Zhc6wbBXVh6LSV9Kg8ngeD2+yBaYoWlKjlbq 55YfCTry3dKO8qxDMqcA0oT24fvwy2gKS+Ts+u0BogQ+NsRHF9PifezXU8BtGRKsGWrp pZYQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=F5atknVv; spf=pass (google.com: domain of fm-51332-202603310810198492c36f0600020757-_ziwpu@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-51332-202603310810198492c36f0600020757-_ZiWPU@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=1774944623; x=1775549423; 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=gd7KiOYikWGIrbTUmaYIQl/NY3BP4kn/9Ho8el9HnSg=; b=I+Vl9hIrwWUL92Gz2qdgqqGdWpS2lBRO+igQG3J7rwB1DzPkg+zpmG5/Kf15itq22C jfk7dS23TyoDqLgOOpQYoNVq0mycaWh7lyoi9hRUbmuDQC4RTr/5BGWYSJe2uV3fGCaN ZqxwwDTBwKYMXveLnqormzST85X9+iGDH3UJ1f9GXfX1zMEeO4epRFaY2Q7C4H7c87i9 ecP31nWpGQ1FM4w4SoMV5EYxVqWuBbJFU57TEtGRcBB6zrJM4mICUraI6RoDP9hCiMOv wIsM7lluciLIHQ+dSzKrndJTpj8tC3v6S5U8ND7liBmkHiHqTeL2dZ4PvXADbOzqIIm1 1+0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774944623; x=1775549423; 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=gd7KiOYikWGIrbTUmaYIQl/NY3BP4kn/9Ho8el9HnSg=; b=jkjK2llERC+PziQ8vFLwENCoJaoVCYjOdBIYcXSIQi9i1sHPt5wubbNG+NZgjJpS8y 1yoYfP/EsmoqAIva5/h4/UqMckCrEbXfDBmhEyTh1WthhQJUSx3kVNTuaW+jZG/Ew1I2 McLVYWTdk/00mDsXQjrPVcbnaE4UfFZLY7NPI7I4s/v3stbKJYtRmdpx6/ryHqP7774j NOA2IkJfJaO9Q+bbLD+s3OxmQT9l4BaZOWjlTHSMJRUb0CIvZYP1fsolYGxaVyB7+lkG ohk9jKUKxkv6V/YtegpgYoBHE9zMzXnVougSVfo41fP5M6ppZ3laW229RHQdq5EAbut8 XBvQ== X-Forwarded-Encrypted: i=2; AJvYcCXG7DGlSh53lOUAo2PMjhPAab0mgJiA4wJy1I0roMjpiKOOI+iy+014oKvTy5QKeUpn0a+Ef9s=@isar-build.org X-Gm-Message-State: AOJu0YxFZb/buvmnsIL+T41hzg1qoVawOec8HEHGgxXhGchSUVXG+1ya pQMNxd4FOX08fhDqF2epNhGUqnyOZzwXc0jKuqXuz0tzqWcLfWl3Wnap X-Received: by 2002:a05:6214:4c43:b0:8a1:a36e:618b with SMTP id 6a1803df08f44-8a1a36e65e6mr75947446d6.25.1774944623628; Tue, 31 Mar 2026 01:10:23 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AYAyTiKg4nl8Zq2M2zcIMhTNQT3OsdC40LvnPlEQGNWePxlh8A==" Received: by 2002:a05:6214:3005:b0:89a:12a0:7ebc with SMTP id 6a1803df08f44-89cd7eaa8d9ls72123646d6.0.-pod-prod-05-us; Tue, 31 Mar 2026 01:10:22 -0700 (PDT) X-Received: by 2002:a05:620a:19a6:b0:8cd:8d74:cae6 with SMTP id af79cd13be357-8d01c7fc269mr2043183285a.38.1774944622417; Tue, 31 Mar 2026 01:10:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774944622; cv=none; d=google.com; s=arc-20240605; b=iabdwJ/yQHlnEj5Ibno9hfaGX0CrWjc6aWXxWi5+e5j330ktHEPCYFzSavBJCqhX4K 6xpbYS1rLGmnJmgmhJUtg6+ZipSTnrQO5dbCZx+fskYkhmXKkW9d5s4PbgBtx44QE4XX env+cOZaDnuMJqUIZ8zKXVPHgPMuMTgrjn8++biU9OFxQpMajHeRNdhm1i/Hqwt7sZ+0 I+uSB0jNGQ1+fh3VUEFUm7OknZkQMUqI4MJVvafKTM9GXiDFGyp/esCYFwPYTWnWxi8y zhBnjfgfABpVQ20xE/YGbnln1uDKHQVT9jORr974BrU6TQosflEdE2w06mpZ7SPUY04b 7Nmw== 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=FlUTvpA0s5R1sk8zuoy9dxAw02jFMb9OYQKYmTc5mUk=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=QyqIR7jaXQPA09nao+spEM6DKProy1RZ2mfKdm2+bJ23jnRlUfQQLki4PnSIBT37dD pV3c3umq6IXv1Wn9+h+j/9RyZpNru+l7qXDR1I3cZSslguLhRe89YIcCECX4jUu9yF3Y R2AlHJ64eb6b6Zf6D18SlKguDz3FMFFPkwT9zW3zpxC8sJySbdIvhNMUkJCJuUPA0jzi unXfpMefdIoDb4ogXw8wRybCkWavoxa582BmrckrWpQRlbPGihunCpylKLYQAOwlqtho g3uUgQIq0yKj6/gNk4X9Zarq0sUwXGyqexIHMd3TzkWNn727jvcwv/n8CeZHfUzcpuCw RVxA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=F5atknVv; spf=pass (google.com: domain of fm-51332-202603310810198492c36f0600020757-_ziwpu@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-51332-202603310810198492c36f0600020757-_ZiWPU@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net. [185.136.64.228]) by gmr-mx.google.com with ESMTPS id af79cd13be357-8d028028a03si31358385a.3.2026.03.31.01.10.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Mar 2026 01:10:22 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-51332-202603310810198492c36f0600020757-_ziwpu@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) client-ip=185.136.64.228; Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 202603310810198492c36f0600020757 for ; Tue, 31 Mar 2026 10:10:19 +0200 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: isar-users@googlegroups.com Subject: [PATCH v2 1/3] Add script to generate a recipe for cargo.io crates Date: Tue, 31 Mar 2026 10:10:04 +0200 Message-ID: <20260331081019.32111-2-Quirin.Gylstorff@siemens.com> In-Reply-To: <20260331081019.32111-1-Quirin.Gylstorff@siemens.com> References: <20260331081019.32111-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=F5atknVv; spf=pass (google.com: domain of fm-51332-202603310810198492c36f0600020757-_ziwpu@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-51332-202603310810198492c36f0600020757-_ZiWPU@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 | 88 +++++++++++++++++++++++++++++++++ 1 file changed, 88 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..727f7f0e --- /dev/null +++ b/scripts/generate_cargo_crate.sh @@ -0,0 +1,88 @@ +#!/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 +# Created by generate_cargo_crate.sh. +# SPDX-License-Identifier: MIT-0 + +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 Tue Mar 31 08:10:05 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 4996 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 31 Mar 2026 10:10:32 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-yx1-f60.google.com (mail-yx1-f60.google.com [74.125.224.60]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 62V8AUHW011186 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 31 Mar 2026 10:10:31 +0200 Received: by mail-yx1-f60.google.com with SMTP id 956f58d0204a3-64ffe451e14sf6005686d50.0 for ; Tue, 31 Mar 2026 01:10:31 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1774944624; cv=pass; d=google.com; s=arc-20240605; b=NglxPK9CnnCdWc4j2QV7y6g+yIdJCHAp05P8DD3bmAHO3sdnHszmJm+EIDX30dnuyE Lp4tYne6TGRT/ajOPb2dgjqUXs2kM3rdP8u+X/AEKVdK07UgqIhoauh3JGGCDr6uTGF0 WZV+L//3lcvSt0x5z93ilMObOjV85dzKXrbt3NVtWEl4nSgqUb2pBpRtlcQ7rGtf9xfN BgzuiolygedKYEs23Cj6huuFjBrdTbjS1EWDlJib/eL04dEMaVkdDAeo4zBzPD0qZOnK cgoRlwDk44s942zCE1eXQs5xqDZ8xCnd9PwbX2nnpDjn836haJlypRn/Bw+1F1f80bqd wQ2A== 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=C7O1KODfrgTbhzvRMXO2gH8Qa9yajCC+GaOGQ7SQ06c=; fh=rr95+8jndoZGAToKy1ool4K5nG6ryxNvvQvOseAiAWM=; b=jxSEIs1fsrL9evXZxSRLonAu/sg2OeQUTI4ajYhD0aPZcu19Jffji98K8GwH2qr8aQ KqJQQcHHmeltmh34lvuft7h90oa+S3dY2GE4paMOymgVAFPB8fmdw5lXVtf9SkuzBYD9 /uPXYK0/VuffK0m3soirGJO2UaYVjwF/ExO9iP41n45WP5XtrSa9b5wX45m/CMaR9oFc 22gi76cG+Ug4YEAolIDJL3L7ds277YUweezMylGkosP91WKGTQ52q4EkqByCL7SHlIha Srz+tyJvSoaA/bClsOQZNFUUX+UhH7Vp22DOX6eiyg1aFcyJePouwS/+sra1OjyFukhr HSKg==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Pl4Y1Sci; spf=pass (google.com: domain of fm-51332-2026033108101997e019aef90002073c-9krurl@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-51332-2026033108101997e019aef90002073c-9Krurl@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=1774944624; x=1775549424; 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=C7O1KODfrgTbhzvRMXO2gH8Qa9yajCC+GaOGQ7SQ06c=; b=MULuFBKiWRkoRnl7GuPAssnmPRAnNU19gqyOKJHAzQIXS4fJ2O3lAS8PxSNAhItgZJ brgguOv1GNXqjEuGA6eIFBfuFmH3txsYEW+ttDekOvu6O7uC+HSMXspsFVVz+4xFERaE 6CW2zJmkg6r6wS421quUjWSMb4MPWRGXaSJ8ZAjgAT7zWF6PM0oT/JyRaZsXxLOvnHv5 RKQD5KUQobrl1r2IwnhfzAz1BnQ4ge52HiTle+Bzo45d5adq2nq4xLaW+P5V2Bhc7bKK m1Tj8v4i97CLLRHcIXb/fVo+W+FE21RvwX0CO+Ezwwpio6EoEDWuSnYdfQHiw9O064k0 dkig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774944624; x=1775549424; 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=C7O1KODfrgTbhzvRMXO2gH8Qa9yajCC+GaOGQ7SQ06c=; b=fWT4a+QkXSGo/f0BzWkyt2+z5n9dDI2G/0aUyHpZvGK8fxZW8dt17ZNyK6k5oRcWdi lBKV+LaUj2UN/bWAZik2yi/lhY/cI1JF1y6Z54Ct4aHmJI+EUEUYMFtcCxsvj6ldZKUI HV0cE/qFIBSUIr77HF7ilKtooWy5/F+1jhxwYTI6oOxQMWXzoiwl4r2vMzvwk6MRamaD 5G36ga5LV4Yxp/068gZ1akf6swDfDKVbi8kDKI2tWR7FWr0rJGUStt26+3IbcyW0NqVh jTIoO68aNuUIhN/nNPd9d83XAiyP9LW7hd6iWL0kx710A9sx+trct7GXoTtXiy2878sp enzA== X-Forwarded-Encrypted: i=2; AJvYcCVgo42ebVJRJRqy1YPqO4dBpGMYQ38ywm21/GewOh3wsWfX6g+wX4957Lt1bSGvhZ5Tzxzv5gc=@isar-build.org X-Gm-Message-State: AOJu0Yyy8uVhoQaCjY0TtXxRRz/IdY6Ppi8Nq4svJx7RL33dZw5RqrY4 MywPc2aGRljxcunR4yFFuLn/IP7YXG9i5m8EtV38StUYKYT8Mj+J/UA5 X-Received: by 2002:a05:690e:12c4:b0:650:1b68:8753 with SMTP id 956f58d0204a3-6501b688e07mr7891622d50.20.1774944623720; Tue, 31 Mar 2026 01:10:23 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AYAyTiLh9bknSPaSYcMMZ4Sv6TEeCvaJK2dUkigVIQAIHe7kzQ==" Received: by 2002:a53:b783:0:b0:650:1cdb:5f4d with SMTP id 956f58d0204a3-6501cdb6634ls2970711d50.2.-pod-prod-02-us; Tue, 31 Mar 2026 01:10:22 -0700 (PDT) X-Received: by 2002:a05:6102:6047:b0:602:9900:8dd9 with SMTP id ada2fe7eead31-604f93bff92mr5597204137.35.1774944622702; Tue, 31 Mar 2026 01:10:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774944622; cv=none; d=google.com; s=arc-20240605; b=MfCX+mNg8VYxzQEG1yn8MjGTjDCXYmHiKtop+SqI0Ep16GvsCVDk6EkIsYUPjQJ/Lo Uhurw+pCGaIAVo30bVX/p0GCCc5Tii0bx66Di+eu46hA34y4RJoP5foLqHckn13EBHZ2 eMF0WV/B/qBkJKmI4VG4zw+1N+KDgVlA5Fgwh5Fkw8vIoT/yRJQUTkVdFMyKQnLsj0GY cQ4Pnw69iNANMpijGewSWnLx536DOsFlQX4JjsiUdTK73F6AA0sm1FRDFNimzmwbINhz UiurgjNHEttT+rfW2sp4HjWFE8vPQA2/GPJy/wZagSwahwV9fjJWX2EtsCB2iZTJ42j5 zkzw== 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=lAmeWWBP8Kdj3q+Zux1ljHBMLmIfX3/G4G1KOGkkOpZsH0hW2Ag2z/o6xtVtd8uAs8 sWky4Dt7NyYJaPgVsQzTtochdGBMWXcZ+EGcdG0zGT+VkA3pHpm42zprQXrUrdEoP7KQ ez7W+fBCab0vEBUhoQG6xU86gxKq2cxl2XnbnEK3VDW5g54QjoOTVZcTcTPll5RTCr5S IBS3ZOTeRgB/4h32upz/dtxYklvBFXiVPI8MxfQ1LuARoAi13sNKwD1TjVDbh/NUnmLm xloKH8WHwXsqMlbAUtuo+gayvNAv2i9AqrVc9aH+HWETvA3mSxiu1cEVXRe4Rztd/rJi 1wQw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Pl4Y1Sci; spf=pass (google.com: domain of fm-51332-2026033108101997e019aef90002073c-9krurl@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-51332-2026033108101997e019aef90002073c-9Krurl@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 ada2fe7eead31-60512594c9bsi272643137.1.2026.03.31.01.10.22 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Mar 2026 01:10:22 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-51332-2026033108101997e019aef90002073c-9krurl@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 2026033108101997e019aef90002073c for ; Tue, 31 Mar 2026 10:10:20 +0200 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: isar-users@googlegroups.com Subject: [PATCH v2 2/3] Add example of a rust hello world as isar recipe Date: Tue, 31 Mar 2026 10:10:05 +0200 Message-ID: <20260331081019.32111-3-Quirin.Gylstorff@siemens.com> In-Reply-To: <20260331081019.32111-1-Quirin.Gylstorff@siemens.com> References: <20260331081019.32111-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=Pl4Y1Sci; spf=pass (google.com: domain of fm-51332-2026033108101997e019aef90002073c-9krurl@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-51332-2026033108101997e019aef90002073c-9Krurl@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 Tue Mar 31 08:10:06 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 4994 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 31 Mar 2026 10:10:31 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-qv1-f61.google.com (mail-qv1-f61.google.com [209.85.219.61]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 62V8AUG1011174 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 31 Mar 2026 10:10:30 +0200 Received: by mail-qv1-f61.google.com with SMTP id 6a1803df08f44-89cc1d6dbe4sf37320726d6.3 for ; Tue, 31 Mar 2026 01:10:30 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1774944623; cv=pass; d=google.com; s=arc-20240605; b=JL4cEC6I4C/rPItDCYY7N0Rtl4x6RUjf2/zIbZP3rk68Lk7rszgXlQa+E0jIDw5jcs 7UuKIbGqQwNdP/HugzEyGCTi84npC3bAbMPWMWdF9FgLtchECm/vho9mO1HwxS7XoISy bllJGaB6T/iPI2vEmuNTq5tXP5+hzMzsmF48Q4KMjahYdsvmh1EroaXi53hPSaft35e/ 2cCGi09js2+bb0l4vXq9KrpjLcGFUYYAV6qj+9p2rr6bNKAb0hxZayfOH7ClCW4SfWFg 8ICA3+PeZ1eQMQQredWOYnASi4UIQvbxN+2s14PNu0cP2PZx/gQQOMvJ/Kmt+acjvCeJ KKIA== 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=iD9YG11neghaW/wMBoRsmBqTDjmzV2Ln0UDRO4nT6vw=; fh=t+nNMlHXvYpqZS3G3GUcyHNqearFrSyd7uudfs3irxA=; b=YpQ1LyVTGm8dEG3UEBcuEeWbYODFxepuR1+RoJziuY3bYSQY4ThV6zZ1tTqmU4FK24 9aGwI/nY+ApmolkkW1fciAW1h5H9XJ1pGYS2TTLYPTHdgSRoZ1Ix/KJeLZSFMJFnbQgC TBp1D85CQK/ctoh0sGvOfJHh3enlMcrx6pg0ltQu/0vV9COCo1T2dkcNuMLaVcTxMgJ4 3eGi4QsRCkT3pyGUVveYDpQ/mrqlXgbnCFFn5eEyX7GU5WQPci5i6Y3wMaU3nzBaz8qu lIKNtjS5m3AHqNQsUV+FqkYcQnhhVzsj5/zmkjKmKfp/4FJW+AA1EB76ie58OC0SpnuH 1spA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=XYv2raMl; spf=pass (google.com: domain of fm-51332-20260331081020835221066b00020700-fvrxim@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-51332-20260331081020835221066b00020700-fVRXIm@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=1774944623; x=1775549423; 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=iD9YG11neghaW/wMBoRsmBqTDjmzV2Ln0UDRO4nT6vw=; b=aTQGk4NaQe2TXfB00UQzTjsl8H8+ef0IZhZ5pLUrLpMEiqw9afSlEuat3uCrz69xOf 6BFysPZKMPG4TLbA3SVtSHrdK6mXmSh5R1skwRco1Y40GSyH+BdzsMXS2DAUfNG1iET1 dMBTcanL68JxJ+KqlFABizWdmeKkBv8SiyK1JpThmoWAYq5Xa+SGx4OGvdlUjkBO+uP8 ELH7YKuDU4bGoNawgfOcIW43NTYXVVOYV3kxNjmgrEVOGne2qs6+VQ95l9E4LpcMlAPo tPSe5J/fER5CRxlbFPCXUtwxMirhQjMQvjzifXZYIhMcuI7VYqzG3ELl1jdl8ymbZQkI cAvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774944623; x=1775549423; 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=iD9YG11neghaW/wMBoRsmBqTDjmzV2Ln0UDRO4nT6vw=; b=Tr7711eep8PgCxxQUc+zZjRJgGX7wEe0kTrsiINQ5yy0Nd4IIfwWaY4VHsEH+wFhPD qkbJe24dQylezSI44ViCE7UVNQITLA5sRN39YSzMcKIigc/koYP+5mfMRIXWDoc4zHVN XSKP12zXVJMMt41/y1DwErUCs0dpY4eD9M7Sy8k+DrJSuktcS84lfe4GTe7PROqN8gkk iCk+BC5GbrwTB7SdEYujpBaLvWpAQs2c6FTe+1kwHlOVe2kzycwKQaC21upFfwK29Pcn Yi3mRT7plqi3Ls/5x5oJMqbfLBU6CQzVI5hMx0pj5N6WZ6/HvcrTPZ8TQoe/diIZL96T 2eNw== X-Forwarded-Encrypted: i=2; AJvYcCUBhBhytt6pJx8nKJ/GfDEecbTtOAizcAwLfB1siU1TLmEpYfEvxoyZ9bwcW2ExcVewmAhf9ow=@isar-build.org X-Gm-Message-State: AOJu0YxnLYBtJmsA52JI+2x9i+pd+rvHsi1nDH7jiAmaPefxphOjhqNF kh7+kxskg38W3gRR/lOJd1ZQ9+fjJL82xZ+Ex71f6aCDonUteg8Cn+2B X-Received: by 2002:a05:6214:1bcd:b0:89c:618b:582c with SMTP id 6a1803df08f44-89ce8d3a3e1mr225853616d6.16.1774944623418; Tue, 31 Mar 2026 01:10:23 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AYAyTiLcmb6pRsAWMpgwJT0BY5yWn349z/zstalLCheVtRbsNA==" Received: by 2002:ad4:5cca:0:b0:89a:1a93:3389 with SMTP id 6a1803df08f44-89cd80cb955ls144098746d6.2.-pod-prod-06-us; Tue, 31 Mar 2026 01:10:22 -0700 (PDT) X-Received: by 2002:a05:620a:448b:b0:8c9:fb69:e708 with SMTP id af79cd13be357-8d01c60d494mr1935884485a.25.1774944622539; Tue, 31 Mar 2026 01:10:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774944622; cv=none; d=google.com; s=arc-20240605; b=K8aLdY/tIBo8SvPjG4g43bOOlFGsc2XNviAZlGXzS9iHRxCnAmW+KuaOA//PbW1DsA BjssSRNk9jHY5tQey2Mb6dc9V659irxGPeKGNSdGCc1NnduQEArXWE5BvoDOvzpCv11y +xF0Nvy7dPlLQhdX4ZAal9lw7PxiaA00UwMR9HAp93PSsrfrPeqUptFiRdN/yDdrm3Sx /+3NiQgVDUUQ5W5WFl4H84OHm4x21odnLNvPTlzwmC2Zr2hn1+r83+uxNKmrAbZF2D3C 0yvaYSD80EV6gpekRbeLPJsU0bmDAhwb3KhSEZy5qfLOzJZ2GLQDSB9S7cQwXE7PrL7L inbw== 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=pOR+GKf+K3N/ERQy1HrX1vepcWFz7hM2K1M8dpquE0c=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=Uq+0Jl5KqEETz0QQ2edqHg1vNlDDBZZ6olvcCdJPaFJ0x8MLTzs3qL/yBS9cRs3cBl 1/18wyJZYczD224OKVTGtCsYJV8AL8mcMqKr19IQzZeIi8QMq0FxgQbKaBXS018kN+9Y 169WTWrCRttGRoMrVblY/PBI4bA5T9rGurg+81pXrvPUBZg4pBmMR9DGFUxf/u/lDYUi OrmiKrVlNVT6kSDeJjRGEWZdOL/t/2hxYMRh2pYoLvTptuCu40/xOhifHcwT/SYF44eu 3MKGfxQrjdd8chrBrRiHAwckyQr48jlaolLbjyjfERJDIiLhlN4IR7avEGhNH8GKbZ0C DNBg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=XYv2raMl; spf=pass (google.com: domain of fm-51332-20260331081020835221066b00020700-fvrxim@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-51332-20260331081020835221066b00020700-fVRXIm@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 af79cd13be357-8d027f28d3bsi30058885a.2.2026.03.31.01.10.22 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Mar 2026 01:10:22 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-51332-20260331081020835221066b00020700-fvrxim@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 20260331081020835221066b00020700 for ; Tue, 31 Mar 2026 10:10:20 +0200 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: isar-users@googlegroups.com Subject: [PATCH v2 3/3] user_manual: add rust section Date: Tue, 31 Mar 2026 10:10:06 +0200 Message-ID: <20260331081019.32111-4-Quirin.Gylstorff@siemens.com> In-Reply-To: <20260331081019.32111-1-Quirin.Gylstorff@siemens.com> References: <20260331081019.32111-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=XYv2raMl; spf=pass (google.com: domain of fm-51332-20260331081020835221066b00020700-fvrxim@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-51332-20260331081020835221066b00020700-fVRXIm@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 | 68 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/doc/user_manual.md b/doc/user_manual.md index 7520854b..79580702 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