diff mbox series

patch version support

Message ID CAOiXNkCC+kkmPBR4OMdTVpXXuSUZjT+P9_TRmitca2f0m9vBZg@mail.gmail.com
State Not Applicable
Headers show
Series patch version support | expand

Commit Message

Andrey Nechypurenko June 8, 2021, 9:19 a.m. UTC
Hi Buildrooters,

I am currently trying to add support for L-876e.A1 STM32MP1 board from Phytec.

https://www.phytec.de/en/produkte/single-board-computer/phyboard-sargas-stm32mp1/
https://www.phytec.de/cdocuments/?doc=d4PmEQ

There is Yocto-based BSP with a bunch of patches and required
configuration options. So I am trying to dig them out of Yocto and
pack them into Buildroot. One of the problems I've got is in the
Buildroot's support/scripts/apply-patches.sh script which actively
rejects patches in newer format ("Error: patch contains some renames,
not supported by old patch versions").

I found some old discussions about this decision and understand the
motivation (enterprises stuck with old distributions, etc.). However,
there has been quite some time since this discussion. If I am not
mistaken, this "newer" patch format is about 10 years old for now. So
my question is if it would make sense to remove this restriction?

My temporary solution is just to comment out corresponding lines in
the shell script as following:

     ${uncomp} "${path}/$patch" | patch -g0 -p1 -E
--no-backup-if-mismatch -d "${builddir}" -t -N $silent
     if [ $? != 0 ] ; then

Maybe it could be removed from mainline Buildroot as obsolete?

Regards,
Andrey.

Comments

Yann E. MORIN June 8, 2021, 4:17 p.m. UTC | #1
Andrey, All,

On 2021-06-08 11:19 +0200, Andrey Nechypurenko spake thusly:
> There is Yocto-based BSP with a bunch of patches and required
> configuration options. So I am trying to dig them out of Yocto and
> pack them into Buildroot. One of the problems I've got is in the
> Buildroot's support/scripts/apply-patches.sh script which actively
> rejects patches in newer format ("Error: patch contains some renames,
> not supported by old patch versions").
> 
> I found some old discussions about this decision and understand the
> motivation (enterprises stuck with old distributions, etc.). However,
> there has been quite some time since this discussion. If I am not
> mistaken, this "newer" patch format is about 10 years old for now. So
> my question is if it would make sense to remove this restriction?

This has already been done as of commit f46e13f05fa0 (support/dependencies,
scripts: accept patches with renames).

This commit is however not part of any released version; it is for the
moment only on the master branch of the repository.

So, if you are about to submit support for some new board based on
existing patches, you will benefit from this change when you rebase on
master. ;-)

Regards,
Yann E. MORIN.
Andrey Nechypurenko June 8, 2021, 5:10 p.m. UTC | #2
Hi Yann,

Thanks for the quick response!

> This has already been done as of commit f46e13f05fa0 (support/dependencies,
> scripts: accept patches with renames).

Great! Did not see that. This completely answers my question :-)

Regards,
Andrey.
Yann E. MORIN June 8, 2021, 5:15 p.m. UTC | #3
Andrey, All,

On 2021-06-08 19:10 +0200, Andrey Nechypurenko spake thusly:
> > This has already been done as of commit f46e13f05fa0 (support/dependencies,
> > scripts: accept patches with renames).
> Great! Did not see that. This completely answers my question :-)

Yeah, it was on the next branch until yesterday, when next was merged
back into master after the 2021.05 release.

Regards,
Yann E. MORIN.
diff mbox series

Patch

diff --git a/support/scripts/apply-patches.sh b/support/scripts/apply-patches.sh
index 9fb488c570..c3fad41189 100755
--- a/support/scripts/apply-patches.sh
+++ b/support/scripts/apply-patches.sh
@@ -113,11 +113,11 @@  function apply_patch {
         echo "  to be applied  : ${path}/${patch}"
         exit 1
     fi
-    if ${uncomp} "${path}/$patch" | grep -q "^rename from" && \
-       ${uncomp} "${path}/$patch" | grep -q "^rename to" ; then
-        echo "Error: patch contains some renames, not supported by
old patch versions"
-        exit 1
-    fi
+#    if ${uncomp} "${path}/$patch" | grep -q "^rename from" && \
+#       ${uncomp} "${path}/$patch" | grep -q "^rename to" ; then
+#        echo "Error: patch contains some renames, not supported by
old patch versions"
+#        exit 1
+#    fi
     echo "${path}/${patch}" >> ${builddir}/.applied_patches_list