[OS-BUILD PATCH] redhat: properly handle binary files in patches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Ondrej Mosnacek <omosnace@xxxxxxxxxx>

redhat: properly handle binary files in patches

Pass --binary to git diff when generating the patch-*-redhat.patch in
genspec.sh, so that the patch is applicable also when there are diffs in
binary files.

Furthermore, since the `patch` utility doesn't support applying binary
diffs, switch the spec file to use `git apply` instead of `patch`. This
is OK, since the spec already has `BuildRequires: git-core`. In fact,
this means we can now remove `patch` from BuildRequires in favor of
`git-core`.

Signed-off-by: Ondrej Mosnacek <omosnace@xxxxxxxxxx>

diff --git a/redhat/genspec.sh b/redhat/genspec.sh
index blahblah..blahblah 100755
--- a/redhat/genspec.sh
+++ b/redhat/genspec.sh
@@ -180,7 +180,7 @@ if [ "$DISTRO" == "fedora" ]; then
 
 	# May need to preserve word splitting in EXCLUDE_FILES
 	# shellcheck disable=SC2086
-	git diff -p --no-renames --stat "$MARKER"..  $EXCLUDE_FILES \
+	git diff -p --binary --no-renames --stat "$MARKER".. $EXCLUDE_FILES \
 		> ${SOURCES}/patch-${SPECKVERSION}.${SPECKPATCHLEVEL}-redhat.patch
 else
 	# The tarball in the SRPM contains both upstream sources and OS-specifc
diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template
index blahblah..blahblah 100755
--- a/redhat/kernel.spec.template
+++ b/redhat/kernel.spec.template
@@ -571,7 +571,7 @@ Requires: kernel-modules-uname-r = %{KVERREL}
 #
 # List the packages used during the kernel build
 #
-BuildRequires: kmod, patch, bash, coreutils, tar, git-core, which
+BuildRequires: kmod, bash, coreutils, tar, git-core, which
 BuildRequires: bzip2, xz, findutils, gzip, m4, perl-interpreter, perl-Carp, perl-devel, perl-generators, make, diffutils, gawk
 BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, bison, flex, gcc-c++
 BuildRequires: net-tools, hostname, bc, elfutils-devel
@@ -1387,7 +1387,7 @@ if [ "%{patches}" != "%%{patches}" ] ; then
   done
 fi 2>/dev/null
 
-patch_command='patch -p1 -F1 -s'
+patch_command='git apply'
 ApplyPatch()
 {
   local patch=$1

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1972
_______________________________________________
kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/kernel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora General Discussion]     [Older Fedora Users Archive]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [USB]     [Asterisk PBX]

  Powered by Linux