git: 0c8d8ebb7b3e - main - Tools/scripts: Add new script update_crates to replace CARGO_CRATES block
Date: Sun, 14 Nov 2021 23:31:45 UTC
The branch main has been updated by rodrigo: URL: https://cgit.FreeBSD.org/ports/commit/?id=0c8d8ebb7b3e218ca8a8445785266d33b4d3c8ff commit 0c8d8ebb7b3e218ca8a8445785266d33b4d3c8ff Author: Rodrigo Osorio <rodrigo@FreeBSD.org> AuthorDate: 2021-11-12 22:22:31 +0000 Commit: Rodrigo Osorio <rodrigo@FreeBSD.org> CommitDate: 2021-11-14 22:45:25 +0000 Tools/scripts: Add new script update_crates to replace CARGO_CRATES block Simple shell script to help updating Makefile CARGO_CRATES variable returned by make cargo-crates. simplest way to use it : make cargo-crates | update_crates Makefile > NewMakefile --- Tools/scripts/README | 3 +++ Tools/scripts/update_crates | 62 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/Tools/scripts/README b/Tools/scripts/README index 1b7d2b838270..aa9b32f612e4 100644 --- a/Tools/scripts/README +++ b/Tools/scripts/README @@ -42,6 +42,9 @@ tindex - script used to build INDEXes for supported FreeBSD branches, which failure reports on ports@FreeBSD.org update-patches - generates updated patches. +update_crates - script used to generate an updated Makefile using make cargo-crates + output + ---------------------------------------------------------------------- gnomedepends is a script, which analyses pkg/PLIST and gives an advice as to diff --git a/Tools/scripts/update_crates b/Tools/scripts/update_crates new file mode 100755 index 000000000000..c95b4bbec6af --- /dev/null +++ b/Tools/scripts/update_crates @@ -0,0 +1,62 @@ +#!/bin/sh +# Copyright (c) 2021 Rodrigo Osorio +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# MAINTAINER= rodrigo@FreeBSD.org +# + +usage() { + echo "usage: update_crates <makefile>" + echo + exit 1 +} + +if [ "$#" -ne 1 ]; then + usage + exit 1 +fi + +newcrates() { + while IFS= read -r nline + do + echo "$nline" + done < "/dev/stdin" +} + +infile=$1 +incrates=0 +while IFS= read -r line <&3 +do + match=$(echo "${line}" | grep "^CARGO_CRATES=") + [ -n "${match}" ] && incrates=1 + if [ "${incrates}" -eq 1 ]; then + if [ -z "$line" ]; then + incrates=0 + newcrates + echo "$line" + fi + else + echo "${line}" + fi +done 3< "$infile"