linux-yocto/scripts/package/gen-diff-patch
Masahiro Yamada c041441975 kbuild: package: add -e and -u options to some shell scripts
Set -e to make these scripts fail on the first error.

Set -u because these scripts are invoked by Makefile, and do not work
properly without necessary variables defined.

I tweaked mkdebian to cope with optional environment variables.

Remove the explicit "test -n ..." from install-extmod-build.

Both options are described in POSIX. [1]

[1]: https://pubs.opengroup.org/onlinepubs/009604499/utilities/set.html

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
2024-07-16 16:06:18 +09:00

1.4 KiB
Executable File

#!/bin/sh

SPDX-License-Identifier: GPL-2.0-only

set -eu

diff_patch=$1

mkdir -p "$(dirname "${diff_patch}")"

git -C "${srctree:-.}" diff HEAD > "${diff_patch}"

if [ ! -s "${diff_patch}" ] || [ -z "$(git -C "${srctree:-.}" ls-files --other --exclude-standard | head -n1)" ]; then exit fi

The source tarball, which is generated by 'git archive', contains everything

you committed in the repository. If you have local diff ('git diff HEAD'),

it will go into ${diff_patch}. If untracked files are remaining, the resulting

source package may not be correct.

Examples:

- You modified a source file to add #include "new-header.h"

but forgot to add new-header.h

- You modified a Makefile to add 'obj-$(CONFIG_FOO) += new-dirver.o'

but you forgot to add new-driver.c

You need to commit them, or at least stage them by 'git add'.

This script does not take care of untracked files because doing so would

introduce additional complexity. Instead, print a warning message here if

untracked files are found.

If all untracked files are just garbage, you can ignore this warning.

echo >&2 "============================ WARNING ============================" echo >&2 "Your working tree has diff from HEAD, and also untracked file(s)." echo >&2 "Please make sure you did 'git add' for all new files you need in" echo >&2 "the source package." echo >&2 "================================================================="