[PATCH v6 06/12] kbuild: deb-pkg: make .orig tarball a hard link if possible

Masahiro Yamada
2023-02-15T01:22:19Z

If '..' belongs to the same filesystem, create a hard link instead of
a copy. In most cases, you can save disk space.

I do not want to use 'mv' because keeping linux.tar.gz is useful to
avoid unneeded rebuilding of the tarball.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

Changes in v6:
- New patch

scripts/Makefile.package | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/Makefile.package b/scripts/Makefile.package
index c207f4ec47ac..80a96eb61426 100644
--- a/scripts/Makefile.package
+++ b/scripts/Makefile.package
@@ -96,7 +96,11 @@ debian-orig: private source = $(shell dpkg-parsechangelog -S Source)
debian-orig: private version = $(shell dpkg-parsechangelog -S Version | sed 's/-[^-]*$$//')
debian-orig: private orig-name = $(source)_$(version).orig.tar.gz
debian-orig: linux.tar.gz debian
- $(Q)cp $< ../$(orig-name)
+ $(Q)if [ "$(df --output=target .. 2>/dev/null)" = "$(df --output=target $< 2>/dev/null)" ]; then \
+ ln -f $< ../$(orig-name); \
+ else \
+ cp $< ../$(orig-name); \
+ fi

PHONY += deb-pkg
deb-pkg: debian-orig
--
2.34.1