From mboxrd@z Thu Jan 1 00:00:00 1970 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-pg1-f187.google.com (mail-pg1-f187.google.com [209.85.215.187]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 63GFN9bW031908 (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-pg1-f187.google.com with SMTP id 41be03b00d2f7-c76bfd7b9cdsf3391344a12.3 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=GR1zvDDSYCk/bjbxOyfoEm14oCIjNDtLwW2bIT3theNL2X5QKtQhIZOyEP01F/aXzd ARL207ufdGq8l3kd+mLBSpDCNmhqeh7dlLi9HccjaOI4cHvLVSrH7TMr0mJLFnAiV/ie 7ZED5mXtdHmzr50JZcw80gonoqaioTHthc20a3HfsgZ2zvd7RJJe0mrl4h1LfFUGb6b+ qedCAiKrYHody5trdaSHYzZ3ic0rbONokOIwlEqwA4xe33XUTSPK+lrSFl3/XapazkZh XeL+mmAlbGMMSnZtizDoSeswclC108dyYl9QrfvuV0Kg9l3ObGwfms15fEeF/6eZtmRx Qr7w== 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=/1i8OmU6DppF1QooDQCAiKrytnJNv5HzbxuVZGS1k3w=; b=DPv6+jcmC+nL6RjQ2Wa3Rc3x8GI1Evooz9wGnNt/5L9bEUaqEOua5ei2voTQauw1nl ZavNy8ZLCQuKbfGnxJU+G1bFXB0pk+tuMW26oTFfI5FXVACeSqckIahRBCF5xmgyh2Ms /fWBvjC6vxiXQQirjnN514H5IFijTWqV0dGLH3EAVb90DvaKvJCF2CvzPmQu2DBckG00 BZwPaY7MgEXePVDSKuBZpfG3LPL/bmVw9kYuqSmwP9Jsgh9aJ8dEMYUIb9Q0xmBa3UDA 4ZuSz2kFnW+ZCuW1vQcxwU59I/p203mX3c77Ou7ZqGWwvCxcC23RawCk0D3Fy3G3EGmH KTSA==; darn=ilbers.de 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=ilbers.de; 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=TeY+/9hT5BZJ0Tt7s/EMXunQJXcEMP6mGCdWRoxO+P5FKSsA3T6xYV6dHm7JONo7Z/ T5NWY18q2JxViKKagBWc9fCISavUASTWbdEIXqV1GxlKwlxxqVQ6plFMShXQeU8FMJYz cLzZDYDfC1zk7lsv5Q2QzeDNhgwj6ckdeLJVLgm/bjN0iLARCqs1mVhwVNmky6hUXov8 Hp3Iyrn64jlQQZ7uAcZyqcCAFujsuYsGLvmutAC4A2YOrdfVd5tCAk4QpPfoWc7zkK3y FFxamOnqnh6OJlyrKJ42GMIqp8t5D6/D4pvz463Opdmnc4PPCJqQPClfIOgEFsGa1STi Q5JA== 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=smwPzMa8tqskY/QwRj2ctWmp1HuLZ1K1EerbK57WduM8pKT2RH7vkCXTmC4wP9uX02 pamJnNB+9i3jFaupACTEvlvqaLDRkTPnk/wG2xLn06qzl1xcCG10zGldCWmAJhZj/0oX OSDKioyduiZmJzTFFZEjbrk9vQJY4Em2yfCyGnn+Q6cFtFSOegcbTNlcebBcSnq5ELnZ /imsx4K2NNMs0Bj5BP3C6uPKIIW+IlgJyiomZZDaTWmI7GEGX4x00lgO2BfFgjAsR0tn sGwCA782A7hR2GJxXNbux+8s+rRpaNALz6zEkePCBIyoroCiOXVkjELG6E3lPn6+sKHi YXIA== X-Forwarded-Encrypted: i=2; AFNElJ/wUdfCSHcJzKpjf/pVp7K7XURY8SRzR7r1GrKeLPBSh6ZCuf8HIVlm6lVvP6UUv2gA6d3e@ilbers.de X-Gm-Message-State: AOJu0YxX6ZSoQqTkNbVXEMnYe1eZgFwuv9CfrqU/1wqoafpa/BnaFrLZ kY/gR5HjoqbDAJbEApEt/vk3USHj72tKrjwcHxTDiNwR6c/2QUvctap3 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 From: "'Quirin Gylstorff' via isar-users" 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 Content-Type: text/plain; charset="UTF-8" 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-TUID: Fyllj2G0Dwuo 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/" -- 2.53.0 -- You received this message because you are subscribed to the Google Groups "isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/isar-users/20260416152238.1651692-2-Quirin.Gylstorff%40siemens.com.