mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Cc: Christian Melki <christian.melki@t2data.com>
Subject: Re: [ptxdist] [APPLIED] fakeroot: Version bump. 1.29.0 -> 1.30.1
Date: Fri,  6 Jan 2023 17:01:34 +0100	[thread overview]
Message-ID: <20230106160134.3076168-1-m.olbrich@pengutronix.de> (raw)
In-Reply-To: <20230105113304.3493454-1-christian.melki@t2data.com>

Thanks, applied as 84fc4374287c1f664b085f59da4b60979ec71d71.

Michael

[sent from post-receive hook]

On Fri, 06 Jan 2023 17:01:34 +0100, Christian Melki <christian.melki@t2data.com> wrote:
> Minor bugfix release.
> 
> * Drop the stat hack patch for glibc-2.33+.
> Afaiu, it's not needed anymore?
> * Drop the openat patch, it's included.
> * Forward the ptxdist specific relocateable patch.
> 
> Signed-off-by: Christian Melki <christian.melki@t2data.com>
> Message-Id: <20230105113304.3493454-1-christian.melki@t2data.com>
> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> 
> diff --git a/patches/fakeroot-1.29/0001-Also-wrap-the-stat-library-call.patch b/patches/fakeroot-1.29/0001-Also-wrap-the-stat-library-call.patch
> deleted file mode 100644
> index daff7f347744..000000000000
> --- a/patches/fakeroot-1.29/0001-Also-wrap-the-stat-library-call.patch
> +++ /dev/null
> @@ -1,71 +0,0 @@
> -From: Christian Melki <christian.melki@t2data.com>
> -Date: Wed, 11 May 2022 10:23:40 +0200
> -Subject: [PATCH] Also wrap the "stat" library call
> -
> -Patch by: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
> -Bug-Debian: https://bugs.debian.org/1001961
> -
> -Seems changes in glibc 2.33 caused the stat() function to be mapped
> -into a stat() library call instead of __xstat() as it used to be.
> -
> -However, fakeroot does not wrap this, causing files to be reported
> -with the real owner, not 0 as expected.
> -
> -The fix for this got a bit ugly as the abstraction in configure.ac
> -would not allow wrapping both "stat" and "__xstat". So enhance the
> -search list capabilities with an optional symbol how the wrapped
> -function is named internally. Also hack the parser so "stat" gets
> -actually probed and not mistaken for __xstat.
> -
> -Using "realstat" as a symbol is not the best choice as it might be
> -confusing, but "statstat" seemed even worse.
> -
> -Signed-off-by: Christian Melki <christian.melki@t2data.com>
> ----
> - configure.ac | 18 ++++++++++++++----
> - 1 file changed, 14 insertions(+), 4 deletions(-)
> -
> -diff --git a/configure.ac b/configure.ac
> -index e7c1c7c484f3..3fa4756557af 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -362,9 +362,13 @@ dnl  Digital Unix: stat
> - 
> - :>fakerootconfig.h.tmp
> - 
> --for SEARCH in %stat f%stat l%stat f%statat %stat64 f%stat64 l%stat64 f%statat64 %mknod %mknodat; do
> --  FUNC=`echo $SEARCH|sed -e 's/.*%//'`
> -+for SEARCH in %stat s%tat@realstat f%stat l%stat f%statat %stat64 f%stat64 l%stat64 f%statat64 %mknod %mknodat; do
> -+  FUNC=`echo $SEARCH|sed -e 's/.*%// ; s/@.*//'`
> -   PRE=`echo $SEARCH|sed -e 's/%.*//'`
> -+  SYMBOL=`echo $SEARCH|sed -e 's/.*@//'`
> -+  if test "$SYMBOL" = "$SEARCH" ; then
> -+    SYMBOL="${PRE}${FUNC}"
> -+  fi
> -   FOUND=
> -   for WRAPPED in __${PRE}x${FUNC} _${PRE}x${FUNC} __${PRE}${FUNC}13 ${PRE}${FUNC}; do
> -     AC_CHECK_FUNCS($WRAPPED,FOUND=$WRAPPED)
> -@@ -375,8 +379,8 @@ dnl
> - dnl  for WRAPPED in _${PRE}${FUNC}; do
> - dnl    FOUND=$WRAPPED
> -     if test -n "$FOUND"; then
> --      PF=[`echo ${PRE}${FUNC}| tr '[a-z]' '[A-Z]'`]
> --      DEFINE_WRAP=[`echo wrap_${PRE}${FUNC}| tr '[a-z]' '[A-Z]'`]
> -+      PF=[`echo $SYMBOL | tr '[a-z]' '[A-Z]'`]
> -+      DEFINE_WRAP=[`echo wrap_${SYMBOL}| tr '[a-z]' '[A-Z]'`]
> -       DEFINE_NEXT=[`echo wrap_${FOUND}| tr '[a-z]' '[A-Z]'`]
> -       DEFINE_ARG=[`echo wrap_${FOUND}| tr '[a-z]' '[A-Z]'`]
> -       AC_DEFINE_UNQUOTED(WRAP_${PF}, $FOUND)
> -@@ -518,6 +522,12 @@ AH_VERBATIM([WRAP_STAT],
> - #define TMP_STAT  __astat
> - #define NEXT_STAT_NOARG  next___astat
> - 
> -+#define WRAP_REALSTAT  __astat
> -+#define WRAP_REALSTAT_QUOTE  __astat
> -+#define WRAP_REALSTAT_RAW  __astat
> -+#define TMP_REALSTAT  __astat
> -+#define NEXT_REALSTAT_NOARG  next___astat
> -+
> - #define WRAP_LSTAT_QUOTE  __astat
> - #define WRAP_LSTAT  __astat
> - #define WRAP_LSTAT_RAW  __astat
> diff --git a/patches/fakeroot-1.29/0002-Fix-prototype-generation-for-openat.patch b/patches/fakeroot-1.29/0002-Fix-prototype-generation-for-openat.patch
> deleted file mode 100644
> index 3e091379da0e..000000000000
> --- a/patches/fakeroot-1.29/0002-Fix-prototype-generation-for-openat.patch
> +++ /dev/null
> @@ -1,70 +0,0 @@
> -From: Christian Melki <christian.melki@t2data.com>
> -Date: Wed, 11 May 2022 10:25:59 +0200
> -Subject: [PATCH] Fix prototype generation for openat
> -
> -Patch by: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
> -Bug-Debian: https://bugs.debian.org/995393
> -
> -As jrtc27 pointed out in IRC, ppc64el is more strict than other
> -architectures when it comes to va_arg handling:
> -
> -    it's that ppc64le uses the elfv2 abi, and for variadic calls you
> -    must reserve space for a parameter save area
> -
> -So enhance wrapawk to create a proper prototype and argument
> -handling although it's specific to the openat call. Also add the
> -missing documentation for the sixth column to wrapfunc.inp.
> -
> -Signed-off-by: Christian Melki <christian.melki@t2data.com>
> ----
> - wrapawk      | 20 +++++++++++++++++++-
> - wrapfunc.inp |  4 +++-
> - 2 files changed, 22 insertions(+), 2 deletions(-)
> -
> -diff --git a/wrapawk b/wrapawk
> -index a2fd220a6fcb..9b2c285c257b 100644
> ---- a/wrapawk
> -+++ b/wrapawk
> -@@ -37,7 +37,25 @@ BEGIN{
> -   argtype=$3;
> -   argname=$4;
> -   MACRO=$5;
> --  if(MACRO){
> -+  openat_extra=$6;
> -+  if(openat_extra){
> -+    print "  {(void(*))&next_" name ", \"" name "\"},"  > structfile;
> -+    print "extern " ret " (*next_" name ")" openat_extra ";" > headerfile;
> -+    print ret " (*next_" name ")" openat_extra "=tmp_" name ";"> deffile;
> -+
> -+    print ret " tmp_" name,  openat_extra "{"           > tmpffile;
> -+    print "  mode_t mode = 0;"                          > tmpffile;
> -+    print "  if (flags & O_CREAT) {"                    > tmpffile;
> -+    print "    va_list args;"                           > tmpffile;
> -+    print "    va_start(args, flags);"                  > tmpffile;
> -+    print "    mode = va_arg(args, int);"               > tmpffile;
> -+    print "    va_end(args);"                           > tmpffile;
> -+    print "  }"                                         > tmpffile;
> -+    print "  load_library_symbols();"                   > tmpffile;
> -+    print "  return  next_" name,  argname ";"          > tmpffile;
> -+    print "}"                                           > tmpffile;
> -+    print ""                                            > tmpffile;
> -+  } else if(MACRO){
> -     print "  {(void(*))&NEXT_" MACRO "_NOARG, " name "_QUOTE},"  > structfile;
> -     print "extern " ret " (*NEXT_" MACRO "_NOARG)" argtype ";" > headerfile;
> -     print ret " (*NEXT_" MACRO "_NOARG)" argtype "=TMP_" MACRO ";"> deffile;
> -diff --git a/wrapfunc.inp b/wrapfunc.inp
> -index 556af34579b0..f5bd4063152c 100644
> ---- a/wrapfunc.inp
> -+++ b/wrapfunc.inp
> -@@ -9,8 +9,10 @@
> - /**/									  */
> - /* each line of this file lists 4 fields, seperated by a ";".		  */
> - /* The first field is the name of the wrapped function, then it's return  */
> --/* value. After that come the function arguments with types, and the last */
> -+/* value. After that come the function arguments with types, and the fifth */
> - /* field contains the function arguments without types.                   */
> -+/* A sixth field is a special needed when wrapping the openat syscall.    */
> -+/* Otherwise it's like the third (function arguments with types).         */
> - /**/
> - 
> - /* __*xstat are used on glibc systems instead of just *xstat. */
> diff --git a/patches/fakeroot-1.29/series b/patches/fakeroot-1.29/series
> deleted file mode 100644
> index 7cc751cd490a..000000000000
> --- a/patches/fakeroot-1.29/series
> +++ /dev/null
> @@ -1,6 +0,0 @@
> -# generated by git-ptx-patches
> -#tag:base --start-number 1
> -0001-Also-wrap-the-stat-library-call.patch
> -0002-Fix-prototype-generation-for-openat.patch
> -0003-make-fakeroot-relocatable.patch
> -# a15acfb9f130741fa53186998a6f6ee3  - git-ptx-patches magic
> diff --git a/patches/fakeroot-1.29/0003-make-fakeroot-relocatable.patch b/patches/fakeroot-1.30.1/0001-make-fakeroot-relocatable.patch
> similarity index 100%
> rename from patches/fakeroot-1.29/0003-make-fakeroot-relocatable.patch
> rename to patches/fakeroot-1.30.1/0001-make-fakeroot-relocatable.patch
> diff --git a/patches/fakeroot-1.29/autogen.sh b/patches/fakeroot-1.30.1/autogen.sh
> similarity index 100%
> rename from patches/fakeroot-1.29/autogen.sh
> rename to patches/fakeroot-1.30.1/autogen.sh
> diff --git a/patches/fakeroot-1.30.1/series b/patches/fakeroot-1.30.1/series
> new file mode 100644
> index 000000000000..bf6039484aa5
> --- /dev/null
> +++ b/patches/fakeroot-1.30.1/series
> @@ -0,0 +1,4 @@
> +# generated by git-ptx-patches
> +#tag:base --start-number 1
> +0001-make-fakeroot-relocatable.patch
> +# 997aab71aab23715410e9573ed7fb092  - git-ptx-patches magic
> diff --git a/rules/host-fakeroot.make b/rules/host-fakeroot.make
> index 2436f99d0d4d..b0764f0da54b 100644
> --- a/rules/host-fakeroot.make
> +++ b/rules/host-fakeroot.make
> @@ -15,12 +15,12 @@ HOST_PACKAGES-$(PTXCONF_HOST_FAKEROOT) += host-fakeroot
>  #
>  # Paths and names
>  #
> -HOST_FAKEROOT_VERSION	:= 1.29
> -HOST_FAKEROOT_MD5	:= cab9604a7dc1d58346e0d15bb285bd0f
> +HOST_FAKEROOT_VERSION	:= 1.30.1
> +HOST_FAKEROOT_MD5	:= ddbdacf3844cd26bd05e34346bb2f524
>  HOST_FAKEROOT_SUFFIX	:= tar.gz
>  HOST_FAKEROOT		:= fakeroot-$(HOST_FAKEROOT_VERSION)
>  HOST_FAKEROOT_TARBALL	:= fakeroot_$(HOST_FAKEROOT_VERSION).orig.$(HOST_FAKEROOT_SUFFIX)
> -HOST_FAKEROOT_URL	:= https://snapshot.debian.org/archive/debian/20220522T213641Z/pool/main/f/fakeroot/$(HOST_FAKEROOT_TARBALL)
> +HOST_FAKEROOT_URL	:= https://snapshot.debian.org/archive/debian/20221120T030258Z/pool/main/f/fakeroot/$(HOST_FAKEROOT_TARBALL)
>  HOST_FAKEROOT_SOURCE	:= $(SRCDIR)/$(HOST_FAKEROOT_TARBALL)
>  HOST_FAKEROOT_DIR	:= $(HOST_BUILDDIR)/$(HOST_FAKEROOT)
>  HOST_FAKEROOT_LICENSE	:= GPL-3.0-or-later



      reply	other threads:[~2023-01-06 16:03 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-05 11:33 [ptxdist] [PATCH] " Christian Melki
2023-01-06 16:01 ` Michael Olbrich [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230106160134.3076168-1-m.olbrich@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=christian.melki@t2data.com \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox