diff mbox series

[v2,08/44] patchelf: update 0.14.5 -> 0.15.0

Message ID 20220808064237.3975347-8-alex@linutronix.de
State Accepted, archived
Commit 0b2f8da3ff9cbbb6fc2ab75fbe09ad1fe745c53b
Headers show
Series [v2,01/44] rpm: update 4.17.0 -> 4.17.1 | expand

Commit Message

Alexander Kanavin Aug. 8, 2022, 6:42 a.m. UTC
Drop handle-read-only-files.patch: read only files should
be handled by making them writeable explicitly. See
the upstream discussion:
https://github.com/NixOS/patchelf/pull/89

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 .../patchelf/handle-read-only-files.patch     | 65 -------------------
 ...{patchelf_0.14.5.bb => patchelf_0.15.0.bb} |  6 +-
 2 files changed, 2 insertions(+), 69 deletions(-)
 delete mode 100644 meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch
 rename meta/recipes-devtools/patchelf/{patchelf_0.14.5.bb => patchelf_0.15.0.bb} (79%)

Comments

Khem Raj Aug. 8, 2022, 5:07 p.m. UTC | #1
On 8/7/22 11:42 PM, Alexander Kanavin wrote:
> Drop handle-read-only-files.patch: read only files should
> be handled by making them writeable explicitly. See
> the upstream discussion:
> https://github.com/NixOS/patchelf/pull/89

I agree with this. However, we have been carrying this for a while and 
there is a usecase which is addressed, maybe that is no longer a problem 
any more but needs to be checked

see 
https://git.openembedded.org/openembedded-core/commit/?id=18efcbcb896239c64fedd009ce57f3f0c668cbc0

       * Add patch handle-read-only-files.patch to fix error when 
building eSKD, the following error appears on task do_testsdkext


> 
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>   .../patchelf/handle-read-only-files.patch     | 65 -------------------
>   ...{patchelf_0.14.5.bb => patchelf_0.15.0.bb} |  6 +-
>   2 files changed, 2 insertions(+), 69 deletions(-)
>   delete mode 100644 meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch
>   rename meta/recipes-devtools/patchelf/{patchelf_0.14.5.bb => patchelf_0.15.0.bb} (79%)
> 
> diff --git a/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch b/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch
> deleted file mode 100644
> index b755a263a4..0000000000
> --- a/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch
> +++ /dev/null
> @@ -1,65 +0,0 @@
> -From 682fb48c137b687477008b68863c2a0b73ed47d1 Mon Sep 17 00:00:00 2001
> -From: Fabio Berton <fabio.berton@ossystems.com.br>
> -Date: Fri, 9 Sep 2016 16:00:42 -0300
> -Subject: [PATCH] handle read-only files
> -
> -Patch from:
> -https://github.com/darealshinji/patchelf/commit/40e66392bc4b96e9b4eda496827d26348a503509
> -
> -Upstream-Status: Denied [https://github.com/NixOS/patchelf/pull/89]
> -
> -Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
> -
> ----
> - src/patchelf.cc | 16 +++++++++++++++-
> - 1 file changed, 15 insertions(+), 1 deletion(-)
> -
> -Index: git/src/patchelf.cc
> -===================================================================
> ---- git.orig/src/patchelf.cc
> -+++ git/src/patchelf.cc
> -@@ -534,9 +534,19 @@ void ElfFile<ElfFileParamNames>::sortShd
> -
> - static void writeFile(const std::string & fileName, const FileContents & contents)
> - {
> -+    struct stat st;
> -+    int fd;
> -+
> -     debug("writing %s\n", fileName.c_str());
> -
> --    int fd = open(fileName.c_str(), O_CREAT | O_TRUNC | O_WRONLY, 0777);
> -+    if (stat(fileName.c_str(), &st) != 0)
> -+        error("stat");
> -+
> -+    if (chmod(fileName.c_str(), 0600) != 0)
> -+        error("chmod");
> -+
> -+    fd = open(fileName.c_str(), O_CREAT | O_TRUNC | O_WRONLY, 0777);
> -+
> -     if (fd == -1)
> -         error("open");
> -
> -@@ -551,8 +561,6 @@ static void writeFile(const std::string
> -         bytesWritten += portion;
> -     }
> -
> --    if (close(fd) >= 0)
> --        return;
> -     /*
> -      * Just ignore EINTR; a retry loop is the wrong thing to do.
> -      *
> -@@ -561,9 +569,11 @@ static void writeFile(const std::string
> -      * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR
> -      * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain
> -      */
> --    if (errno == EINTR)
> --        return;
> --    error("close");
> -+    if ((close(fd) < 0) && errno != EINTR)
> -+        error("close");
> -+
> -+    if (chmod(fileName.c_str(), st.st_mode) != 0)
> -+        error("chmod");
> - }
> -
> -
> diff --git a/meta/recipes-devtools/patchelf/patchelf_0.14.5.bb b/meta/recipes-devtools/patchelf/patchelf_0.15.0.bb
> similarity index 79%
> rename from meta/recipes-devtools/patchelf/patchelf_0.14.5.bb
> rename to meta/recipes-devtools/patchelf/patchelf_0.15.0.bb
> index 0fa2c00f1d..26abde2ed5 100644
> --- a/meta/recipes-devtools/patchelf/patchelf_0.14.5.bb
> +++ b/meta/recipes-devtools/patchelf/patchelf_0.15.0.bb
> @@ -4,10 +4,8 @@ HOMEPAGE = "https://github.com/NixOS/patchelf"
>   
>   LICENSE = "GPL-3.0-only"
>   
> -SRC_URI = "git://github.com/NixOS/patchelf;protocol=https;branch=master \
> -           file://handle-read-only-files.patch \
> -           "
> -SRCREV = "a35054504293f9ff64539850d1ed0bfd2f5399f2"
> +SRC_URI = "git://github.com/NixOS/patchelf;protocol=https;branch=master"
> +SRCREV = "49008002562355b0e35075cbc1c42c645ff04e28"
>   
>   S = "${WORKDIR}/git"
>   
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#169032): https://lists.openembedded.org/g/openembedded-core/message/169032
> Mute This Topic: https://lists.openembedded.org/mt/92887003/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin Aug. 8, 2022, 5:28 p.m. UTC | #2
On Mon, 8 Aug 2022 at 19:07, Khem Raj <raj.khem@gmail.com> wrote:
> > Drop handle-read-only-files.patch: read only files should
> > be handled by making them writeable explicitly. See
> > the upstream discussion:
> > https://github.com/NixOS/patchelf/pull/89
>
> I agree with this. However, we have been carrying this for a while and
> there is a usecase which is addressed, maybe that is no longer a problem
> any more but needs to be checked
>
> see
> https://git.openembedded.org/openembedded-core/commit/?id=18efcbcb896239c64fedd009ce57f3f0c668cbc0
>
>        * Add patch handle-read-only-files.patch to fix error when
> building eSKD, the following error appears on task do_testsdkext

Thanks, I did not see this. I suppose we can change the patch into a
tweak to uninative.bbclass where patchelf is invoked, as there's no
indication there is any other use case. The complication is in having
to produce new uninative to test any such changes, as RP mentioned.

Alex
diff mbox series

Patch

diff --git a/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch b/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch
deleted file mode 100644
index b755a263a4..0000000000
--- a/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch
+++ /dev/null
@@ -1,65 +0,0 @@ 
-From 682fb48c137b687477008b68863c2a0b73ed47d1 Mon Sep 17 00:00:00 2001
-From: Fabio Berton <fabio.berton@ossystems.com.br>
-Date: Fri, 9 Sep 2016 16:00:42 -0300
-Subject: [PATCH] handle read-only files
-
-Patch from:
-https://github.com/darealshinji/patchelf/commit/40e66392bc4b96e9b4eda496827d26348a503509
-
-Upstream-Status: Denied [https://github.com/NixOS/patchelf/pull/89]
-
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
-
----
- src/patchelf.cc | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
-Index: git/src/patchelf.cc
-===================================================================
---- git.orig/src/patchelf.cc
-+++ git/src/patchelf.cc
-@@ -534,9 +534,19 @@ void ElfFile<ElfFileParamNames>::sortShd
- 
- static void writeFile(const std::string & fileName, const FileContents & contents)
- {
-+    struct stat st;
-+    int fd;
-+
-     debug("writing %s\n", fileName.c_str());
- 
--    int fd = open(fileName.c_str(), O_CREAT | O_TRUNC | O_WRONLY, 0777);
-+    if (stat(fileName.c_str(), &st) != 0)
-+        error("stat");
-+
-+    if (chmod(fileName.c_str(), 0600) != 0)
-+        error("chmod");
-+
-+    fd = open(fileName.c_str(), O_CREAT | O_TRUNC | O_WRONLY, 0777);
-+
-     if (fd == -1)
-         error("open");
- 
-@@ -551,8 +561,6 @@ static void writeFile(const std::string
-         bytesWritten += portion;
-     }
- 
--    if (close(fd) >= 0)
--        return;
-     /*
-      * Just ignore EINTR; a retry loop is the wrong thing to do.
-      *
-@@ -561,9 +569,11 @@ static void writeFile(const std::string
-      * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR
-      * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain
-      */
--    if (errno == EINTR)
--        return;
--    error("close");
-+    if ((close(fd) < 0) && errno != EINTR)
-+        error("close");
-+
-+    if (chmod(fileName.c_str(), st.st_mode) != 0)
-+        error("chmod");
- }
- 
- 
diff --git a/meta/recipes-devtools/patchelf/patchelf_0.14.5.bb b/meta/recipes-devtools/patchelf/patchelf_0.15.0.bb
similarity index 79%
rename from meta/recipes-devtools/patchelf/patchelf_0.14.5.bb
rename to meta/recipes-devtools/patchelf/patchelf_0.15.0.bb
index 0fa2c00f1d..26abde2ed5 100644
--- a/meta/recipes-devtools/patchelf/patchelf_0.14.5.bb
+++ b/meta/recipes-devtools/patchelf/patchelf_0.15.0.bb
@@ -4,10 +4,8 @@  HOMEPAGE = "https://github.com/NixOS/patchelf"
 
 LICENSE = "GPL-3.0-only"
 
-SRC_URI = "git://github.com/NixOS/patchelf;protocol=https;branch=master \
-           file://handle-read-only-files.patch \
-           "
-SRCREV = "a35054504293f9ff64539850d1ed0bfd2f5399f2"
+SRC_URI = "git://github.com/NixOS/patchelf;protocol=https;branch=master"
+SRCREV = "49008002562355b0e35075cbc1c42c645ff04e28"
 
 S = "${WORKDIR}/git"