mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 22:02:28 +00:00
05e96e96a3
Commit5c3d1d0abb
("kbuild: add a tool to list files ignored by git") added a new tool, scripts/list-gitignored. My intention was to create source packages without cleaning the source tree, without relying on git. Linus strongly objected to it, and suggested using 'git archive' instead. [1] [2] [3] This commit goes in that direction - Remove scripts/list-gitignored.c and rewrites Makefiles and scripts to use 'git archive' for building Debian and RPM source packages. It also makes 'make perf-tar*-src-pkg' use 'git archive' again. Going forward, building source packages is only possible in a git-managed tree. Building binary packages does not require git. [1]: https://lore.kernel.org/lkml/CAHk-=wi49sMaC7vY1yMagk7eqLK=1jHeHQ=yZ_k45P=xBccnmA@mail.gmail.com/ [2]: https://lore.kernel.org/lkml/CAHk-=wh5AixGsLeT0qH2oZHKq0FLUTbyTw4qY921L=PwYgoGVw@mail.gmail.com/ [3]: https://lore.kernel.org/lkml/CAHk-=wgM-W6Fu==EoAVCabxyX8eYBz9kNC88-tm9ExRQwA79UQ@mail.gmail.com/ Fixes:5c3d1d0abb
("kbuild: add a tool to list files ignored by git") Fixes:e0ca16749a
("kbuild: make perf-tar*-src-pkg work without relying on git") Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
45 lines
842 B
Bash
Executable File
45 lines
842 B
Bash
Executable File
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
diff_patch="${1}"
|
|
untracked_patch="${2}"
|
|
srctree=$(dirname $0)/../..
|
|
|
|
rm -f ${diff_patch} ${untracked_patch}
|
|
|
|
if ! ${srctree}/scripts/check-git; then
|
|
exit
|
|
fi
|
|
|
|
mkdir -p "$(dirname ${diff_patch})" "$(dirname ${untracked_patch})"
|
|
|
|
git -C "${srctree}" diff HEAD > "${diff_patch}"
|
|
|
|
if [ ! -s "${diff_patch}" ]; then
|
|
rm -f "${diff_patch}"
|
|
exit
|
|
fi
|
|
|
|
git -C ${srctree} status --porcelain --untracked-files=all |
|
|
while read stat path
|
|
do
|
|
if [ "${stat}" = '??' ]; then
|
|
|
|
if ! diff -u /dev/null "${srctree}/${path}" > .tmp_diff &&
|
|
! head -n1 .tmp_diff | grep -q "Binary files"; then
|
|
{
|
|
echo "--- /dev/null"
|
|
echo "+++ linux/$path"
|
|
cat .tmp_diff | tail -n +3
|
|
} >> ${untracked_patch}
|
|
fi
|
|
fi
|
|
done
|
|
|
|
rm -f .tmp_diff
|
|
|
|
if [ ! -s "${diff_patch}" ]; then
|
|
rm -f "${diff_patch}"
|
|
exit
|
|
fi
|