License-Update:  correct fsf address [1]

- Drop upstreamed autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch
- Forward port remaining patches
- Package libautofs.so which is new
- Add a patch to fix build on musl systems
- Detailed ChangeLog [2]

[1] 
https://git.kernel.org/pub/scm/linux/storage/autofs/autofs.git/commit/COPYING?id=b74dcdd3f6b05522388729141c29286829c302fc
[2] https://www.spinics.net/lists/autofs/msg02344.html

Signed-off-by: Khem Raj <[email protected]>
---
 ...001-Define-__SWORD_TYPE-if-undefined.patch | 124 ++++++++++++++++++
 ...0001-Do-not-hardcode-path-for-pkg.m4.patch |   7 +-
 .../0002-Replace-__S_IEXEC-with-S_IEXEC.patch |  19 +--
 ...lude-linux-nfs.h-directly-in-rpc_sub.patch |  30 -----
 ...-YACC-rule-to-fix-a-building-failure.patch |  43 +++---
 ...config-to-detect-libxml-2.0-and-krb5.patch |  28 ++--
 .../{autofs_5.1.6.bb => autofs_5.1.7.bb}      |  15 ++-
 7 files changed, 175 insertions(+), 91 deletions(-)
 create mode 100644 
meta-networking/recipes-daemons/autofs/autofs/0001-Define-__SWORD_TYPE-if-undefined.patch
 delete mode 100644 
meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch
 rename meta-networking/recipes-daemons/autofs/{autofs_5.1.6.bb => 
autofs_5.1.7.bb} (89%)

diff --git 
a/meta-networking/recipes-daemons/autofs/autofs/0001-Define-__SWORD_TYPE-if-undefined.patch
 
b/meta-networking/recipes-daemons/autofs/autofs/0001-Define-__SWORD_TYPE-if-undefined.patch
new file mode 100644
index 0000000000..117b1e58a9
--- /dev/null
+++ 
b/meta-networking/recipes-daemons/autofs/autofs/0001-Define-__SWORD_TYPE-if-undefined.patch
@@ -0,0 +1,124 @@
+From 9fe90ab1e333b2e2bed370ff13ba552eb54c3aaf Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sat, 17 Jul 2021 09:56:28 -0700
+Subject: [PATCH] Define __SWORD_TYPE if undefined
+
+These fixes are inspired when building autofs on musl
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <[email protected]>
+---
+ daemon/automount.c | 20 ++++++++++++++------
+ include/hash.h     |  5 +++++
+ lib/log.c          |  6 +++++-
+ 3 files changed, 24 insertions(+), 7 deletions(-)
+
+diff --git a/daemon/automount.c b/daemon/automount.c
+index e476f6b..3a1514b 100644
+--- a/daemon/automount.c
++++ b/daemon/automount.c
+@@ -1,7 +1,7 @@
+ /* ----------------------------------------------------------------------- *
+  *
+  *  automount.c - Linux automounter daemon
+- *
++ *
+  *   Copyright 1997 Transmeta Corporation - All Rights Reserved
+  *   Copyright 1999-2000 Jeremy Fitzhardinge <[email protected]>
+  *   Copyright 2001-2005 Ian Kent <[email protected]>
+@@ -11,7 +11,7 @@
+  *   the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+  *   USA; either version 2 of the License, or (at your option) any later
+  *   version.
+- *
++ *
+  *   This program is distributed in the hope that it will be useful,
+  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+@@ -40,6 +40,14 @@
+ #include <systemd/sd-daemon.h>
+ #endif
+
++#ifndef __SWORD_TYPE
++# if __WORDSIZE == 32  /* System word size */
++#  define __SWORD_TYPE int
++# else /* __WORDSIZE == 64 */
++#  define __SWORD_TYPE long int
++# endif
++#endif
++
+ #include "automount.h"
+ #if defined(LIBXML2_WORKAROUND) || defined(TIRPC_WORKAROUND)
+ #include <dlfcn.h>
+@@ -282,7 +290,7 @@ int rmdir_path(struct autofs_point *ap, const char *path, 
dev_t dev)
+                            dev, buf, st.st_dev);
+                       return -1;
+               }
+-
++
+               /*
+                * Last element of path may be a symbolic link; all others
+                * are directories (and the last directory element is
+@@ -455,7 +463,7 @@ int count_mounts(struct autofs_point *ap, const char 
*path, dev_t dev)
+
+       counter.count = 0;
+       counter.dev = dev;
+-
++
+       if (walk_tree(path, counter_fn, 1, ap, &counter) == -1)
+               return -1;
+
+@@ -811,7 +819,7 @@ static char *automount_path_to_fifo(unsigned logopt, const 
char *path)
+       /*
+        *  An automount path can be made up of subdirectories.  So, to
+        *  create the fifo name, we will just replace instances of '/' with
+-       *  '-'.
++       *  '-'.
+        */
+       p = fifo_name + strlen(fifodir);
+       while (*p != '\0') {
+@@ -1640,7 +1648,7 @@ static void return_start_status(void *arg)
+       sc->done = 1;
+
+       /*
+-       * Startup condition mutex must be locked during
++       * Startup condition mutex must be locked during
+        * the startup process.
+        */
+       status = pthread_cond_signal(&sc->cond);
+diff --git a/include/hash.h b/include/hash.h
+index 2447f29..6f0dee6 100644
+--- a/include/hash.h
++++ b/include/hash.h
+@@ -5,6 +5,11 @@
+
+ #include <sys/types.h>
+ #include <stdint.h>
++#include <linux/stddef.h>
++
++#ifndef __GLIBC__
++#include <sys/reg.h>
++#endif
+
+ /*
+  * The "GOLDEN_RATIO_PRIME" is used in ifs/btrfs/brtfs_inode.h and
+diff --git a/lib/log.c b/lib/log.c
+index 0cb47d7..39b1e3b 100644
+--- a/lib/log.c
++++ b/lib/log.c
+@@ -38,7 +38,11 @@ static char *prepare_attempt_prefix(const char *msg)
+       char buffer[ATTEMPT_ID_SIZE + 1];
+       char *prefixed_msg = NULL;
+
+-      attempt_id = pthread_getspecific(key_thread_attempt_id);
++        if (key_thread_attempt_id) {
++                attempt_id = pthread_getspecific(key_thread_attempt_id);
++        } else {
++                attempt_id = 0;
++        }
+       if (attempt_id) {
+               int len = sizeof(buffer) + 1 + strlen(msg) + 1;
+
+--
+2.32.0
+
diff --git 
a/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch
 
b/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch
index b991acad38..d5ea417fb2 100644
--- 
a/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch
+++ 
b/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch
@@ -15,12 +15,10 @@ Signed-off-by: Changqing Li <[email protected]>
  configure.in | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

-diff --git a/configure.in b/configure.in
-index 493b9f1..268d06b 100644
 --- a/configure.in
 +++ b/configure.in
 @@ -12,7 +12,7 @@ define([AC_CACHE_SAVE], )dnl
- AC_INIT(.autofs-5.1.6)
+ AC_INIT(.autofs-5.1.7)

  # for pkg-config macros
 -m4_include([/usr/share/aclocal/pkg.m4])
@@ -28,6 +26,3 @@ index 493b9f1..268d06b 100644

  #
  # autofs installs by default in /usr
---
-2.7.4
-
diff --git 
a/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
 
b/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
index e7fdd10aab..1a2eb4fc21 100644
--- 
a/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
+++ 
b/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
@@ -16,29 +16,27 @@ Signed-off-by: Changqing Li <[email protected]>
  modules/lookup_multi.c | 2 +-
  2 files changed, 4 insertions(+), 4 deletions(-)

-diff --git a/daemon/lookup.c b/daemon/lookup.c
-index 18df935..d35d484 100644
 --- a/daemon/lookup.c
 +++ b/daemon/lookup.c
-@@ -382,7 +382,7 @@ static int read_file_source_instance(struct autofs_point 
*ap, struct map_source
-       if (!S_ISREG(st.st_mode))
+@@ -397,7 +397,7 @@ static int read_file_source_instance(str
                return NSS_STATUS_NOTFOUND;
+       }

 -      if (st.st_mode & __S_IEXEC)
 +      if (st.st_mode & S_IEXEC)
                type = src_prog;
        else
                type = src_file;
-@@ -942,7 +942,7 @@ static int lookup_name_file_source_instance(struct 
autofs_point *ap, struct map_
-       if (!S_ISREG(st.st_mode))
+@@ -930,7 +930,7 @@ static int lookup_name_file_source_insta
                return NSS_STATUS_NOTFOUND;
+       }

 -      if (st.st_mode & __S_IEXEC)
 +      if (st.st_mode & S_IEXEC)
                type = src_prog;
        else
                type = src_file;
-@@ -1118,7 +1118,7 @@ static struct map_source *lookup_get_map_source(struct 
master_mapent *entry)
+@@ -1077,7 +1077,7 @@ static struct map_source *lookup_get_map
        if (!S_ISREG(st.st_mode))
                return NULL;

@@ -47,11 +45,9 @@ index 18df935..d35d484 100644
                type = "program";
        else
                type = "file";
-diff --git a/modules/lookup_multi.c b/modules/lookup_multi.c
-index bb9f88c..cf109de 100644
 --- a/modules/lookup_multi.c
 +++ b/modules/lookup_multi.c
-@@ -247,7 +247,7 @@ static struct lookup_mod *nss_open_lookup(const char 
*format, int argc, const ch
+@@ -247,7 +247,7 @@ static struct lookup_mod *nss_open_looku
                                continue;
                        }

@@ -60,6 +56,3 @@ index bb9f88c..cf109de 100644
                                type = src_prog;
                        else
                                type = src_file;
---
-2.7.4
-
diff --git 
a/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch
 
b/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch
deleted file mode 100644
index 9b0942ebf6..0000000000
--- 
a/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 2256b8aa98cff15ddf2a8d36496e6c9125927901 Mon Sep 17 00:00:00 2001
-From: Andreas Oberritter <[email protected]>
-Date: Wed, 13 Mar 2013 16:17:08 +0100
-Subject: [PATCH] autofs-5.0.7: include linux/nfs.h directly in rpc_subs.h
-
-Upstream-Status: Pending
-
-Fixes compile error with uclibc. Glibc's nfs/nfs.h contains
-nothing but "#include linux/nfs.h". rpc_subs.h already includes
-other linux/nfs*.h files directly.
-
-Signed-off-by: Andreas Oberritter <[email protected]>
-
----
- include/rpc_subs.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/rpc_subs.h b/include/rpc_subs.h
-index e744e89..83db47e 100644
---- a/include/rpc_subs.h
-+++ b/include/rpc_subs.h
-@@ -18,7 +18,7 @@
-
- #include <rpc/rpc.h>
- #include <rpc/pmap_prot.h>
--#include <nfs/nfs.h>
-+#include <linux/nfs.h>
- #include <linux/nfs2.h>
- #include <linux/nfs3.h>
-
diff --git 
a/meta-networking/recipes-daemons/autofs/autofs/fix-the-YACC-rule-to-fix-a-building-failure.patch
 
b/meta-networking/recipes-daemons/autofs/autofs/fix-the-YACC-rule-to-fix-a-building-failure.patch
index 21a97c8f5c..8ad3b22de5 100644
--- 
a/meta-networking/recipes-daemons/autofs/autofs/fix-the-YACC-rule-to-fix-a-building-failure.patch
+++ 
b/meta-networking/recipes-daemons/autofs/autofs/fix-the-YACC-rule-to-fix-a-building-failure.patch
@@ -23,21 +23,9 @@ Signed-off-by: Roy Li <[email protected]>
  modules/Makefile | 3 ++-
  2 files changed, 6 insertions(+), 3 deletions(-)

-diff --git a/lib/Makefile b/lib/Makefile
-index 4798a4b..c40cf86 100644
 --- a/lib/Makefile
 +++ b/lib/Makefile
-@@ -57,7 +57,8 @@ mount_xdr.o: mount_xdr.c
- master_tok.c: master_tok.l
-       $(LEX) -o$@ -Pmaster_ $?
-
--master_parse.tab.c master_parse.tab.h: master_parse.y
-+master_parse.tab.h: master_parse.tab.c
-+master_parse.tab.c: master_parse.y
-       $(YACC) -v -d -p master_ -b master_parse $?
-
- master_tok.o: master_tok.c master_parse.tab.h
-@@ -67,7 +68,8 @@ master_parse.tab.o: master_parse.tab.c master_parse.tab.h
+@@ -53,7 +53,8 @@ mount_xdr.o: mount_xdr.c
  nss_tok.c: nss_tok.l
        $(LEX) -o$@ -Pnss_ $?

@@ -47,8 +35,6 @@ index 4798a4b..c40cf86 100644
        $(YACC) -v -d -p nss_ -b nss_parse $?

  nss_tok.o: nss_tok.c nss_parse.tab.h
-diff --git a/modules/Makefile b/modules/Makefile
-index d9ab06c..abc7698 100644
 --- a/modules/Makefile
 +++ b/modules/Makefile
 @@ -103,7 +103,8 @@ amd_tok.c: amd_tok.l
@@ -61,3 +47,30 @@ index d9ab06c..abc7698 100644
        $(YACC) -v -d -p amd_ -b amd_parse $?

  amd_parse.tab.o: amd_parse.tab.c amd_parse.tab.h
+--- a/daemon/Makefile
++++ b/daemon/Makefile
+@@ -16,7 +16,7 @@ YACCSRC = master_tok.c master_parse.tab.
+ version := $(shell cat ../.version)
+
+ CFLAGS += -rdynamic $(DAEMON_CFLAGS) -D_GNU_SOURCE -I../include
+-CFLAGS += -DAUTOFS_LIB_DIR=\"$(autofslibdir)\"
++CFLAGS += -DAUTOFS_LIB_DIR=\"$(autofslibdir)\"
+ CFLAGS += -DAUTOFS_MAP_DIR=\"$(autofsmapdir)\"
+ CFLAGS += -DAUTOFS_CONF_DIR=\"$(autofsconfdir)\"
+ CFLAGS += -DAUTOFS_FIFO_DIR=\"$(autofsfifodir)\"
+@@ -44,7 +44,8 @@ automount: $(OBJS) $(AUTOFS_LIB)
+ master_tok.c: master_tok.l
+       $(LEX) -o$@ -Pmaster_ $?
+
+-master_parse.tab.c master_parse.tab.h: master_parse.y
++master_parse.tab.h: master_parse.tab.c
++master_parse.tab.c: master_parse.y
+       $(YACC) -v -d -p master_ -b master_parse $?
+
+ master_tok.o: master_tok.c master_parse.tab.h
+@@ -57,5 +58,3 @@ clean:
+ install: all
+       install -d -m 755 $(INSTALLROOT)$(sbindir)
+       install -c automount -m 755 $(INSTALLROOT)$(sbindir)
+-
+-
diff --git 
a/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
 
b/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
index d1f9f3493e..41de373fd4 100644
--- 
a/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
+++ 
b/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
@@ -16,33 +16,21 @@ Signed-off-by: Changqing Li <[email protected]>
  configure.in | 16 ++++++++++++++--
  1 file changed, 14 insertions(+), 2 deletions(-)

-diff --git a/configure.in b/configure.in
-index f5fbb35..76ecb40 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -211,8 +211,20 @@ fi
- AC_SUBST(ENABLE_FEDFS)
-
- # LDAP SASL auth needs libxml and Kerberos
--AF_CHECK_LIBXML()
+@@ -215,7 +215,14 @@ PKG_CHECK_MODULES([XML], [libxml-2.0], [
+   AC_DEFINE(LIBXML2_WORKAROUND, 1, [Use libxml2 tsd usage workaround])
+ ], [HAVE_LIBXML=0])
+
 -AF_CHECK_KRB5()
-+PKG_CHECK_MODULES(XML, [libxml-2.0],HAVE_LIBXML=1,HAVE_LIBXML=0)
-+AC_SUBST([HAVE_LIBXML])
-+XML_FLAGS=$XML_CFLAGS
-+
-+PKG_CHECK_MODULES(KRB5, [krb5],HAVE_KRB5=1,HAVE_KRB5=0)
-+AC_SUBST([HAVE_KRB5])
-+if test "x$HAVE_KRB5" = "x1"; then
++PKG_CHECK_MODULES(KRB5, [krb5], [
++  HAVE_KRB5=1
 +  SAVE_CFLAGS=$CFLAGS
 +  SAVE_LIBS=$LIBS
 +  CFLAGS="$CFLAGS $KRB5_FLAGS"
 +  LIBS="$LIBS $KRB5_LIBS"
-+
 +  AC_CHECK_FUNCS([krb5_principal_get_realm])
-+fi
-
++], [HAVE_KRB5=0])
+
  AC_SEARCH_LIBS([versionsort],[])
  if test "$ac_cv_search_versionsort" = "no"; then
---
-2.7.4
-
diff --git a/meta-networking/recipes-daemons/autofs/autofs_5.1.6.bb 
b/meta-networking/recipes-daemons/autofs/autofs_5.1.7.bb
similarity index 89%
rename from meta-networking/recipes-daemons/autofs/autofs_5.1.6.bb
rename to meta-networking/recipes-daemons/autofs/autofs_5.1.7.bb
index 54f0b99915..019b453c2c 100644
--- a/meta-networking/recipes-daemons/autofs/autofs_5.1.6.bb
+++ b/meta-networking/recipes-daemons/autofs/autofs_5.1.7.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Kernel based automounter for linux"
 SECTION = "utils"
 LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ee9324a6f564bb2376b63878ac396798"

 DEPENDS += "libtirpc flex-native bison-native e2fsprogs openssl libxml2 
util-linux cyrus-sasl libnsl2"

@@ -10,7 +10,6 @@ CFLAGS += "-I${STAGING_INCDIR}/tirpc"
 inherit autotools-brokensep systemd update-rc.d pkgconfig

 SRC_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/autofs-${PV}.tar.gz \
-           file://autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch \
            file://no-bash.patch \
            file://cross.patch \
            file://fix_disable_ldap.patch \
@@ -26,11 +25,9 @@ SRC_URI = 
"${KERNELORG_MIRROR}/linux/daemons/autofs/v5/autofs-${PV}.tar.gz \
            
file://0001-modules-lookup_multi.c-Replace-__S_IEXEC-with-S_IEXE.patch \
            file://0001-Do-not-hardcode-path-for-pkg.m4.patch \
            file://0001-Bug-fix-for-pid_t-not-found-on-musl.patch \
+           file://0001-Define-__SWORD_TYPE-if-undefined.patch \
            "
-
-
-SRC_URI[md5sum] = "e6800e0afd6009ecdff148088c564050"
-SRC_URI[sha256sum] = 
"82094cad44f4e5c4f93eff2789cd66b57d7ab3fa646b7722d97608571001e694"
+SRC_URI[sha256sum] = 
"a18619e5ad18960fe382354eef33f070e57e4e5711d484b010acde080a003312"

 UPSTREAM_CHECK_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/"

@@ -87,10 +84,14 @@ do_install_append () {
 }
 SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"

+# all the libraries are unversioned, so don't pack it on PN-dev
+SOLIBS = ".so"
+FILES_SOLIBSDEV = ""
+# Some symlinks are created in plugins dir e.g.
+# mount_nfs4.so -> mount_nfs.so
 INSANE_SKIP_${PN} = "dev-so"

 RPROVIDES_${PN} += "${PN}-systemd"
 RREPLACES_${PN} += "${PN}-systemd"
 RCONFLICTS_${PN} += "${PN}-systemd"
 SYSTEMD_SERVICE_${PN} = "autofs.service"
-
--
2.32.0
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#92258): 
https://lists.openembedded.org/g/openembedded-devel/message/92258
Mute This Topic: https://lists.openembedded.org/mt/84273520/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to