Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openafs for openSUSE:Factory checked 
in at 2025-04-10 21:59:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openafs (Old)
 and      /work/SRC/openSUSE:Factory/.openafs.new.1907 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openafs"

Thu Apr 10 21:59:55 2025 rev:53 rq:1268384 version:1.8.13.g20250116

Changes:
--------
--- /work/SRC/openSUSE:Factory/openafs/openafs.changes  2025-01-27 
20:56:37.058005644 +0100
+++ /work/SRC/openSUSE:Factory/.openafs.new.1907/openafs.changes        
2025-04-10 22:00:49.272540967 +0200
@@ -1,0 +2,16 @@
+Wed Apr  9 06:47:28 UTC 2025 - Christof Hanke <christof.ha...@mpcdf.mpg.de>
+
+- add perl-rpm-packaging to BuildRequires: to resolve
+  "Have Choice"-Error  for arch ppc64le 
+
+-------------------------------------------------------------------
+Wed Apr  9 05:28:26 UTC 2025 - Christof Hanke <christof.ha...@mpcdf.mpg.de>
+
+- update to latest git branch stable-1_8_x
+- add upstream-patches required for kernel 6.14
+  + 4702930f8dd87a6cad1d59ef8c127003fded1f31.patch
+    (LINUX: Refactor afs_linux_dentry_revalidate())
+  + 0306f3fdac736e15620f5802bdce510d25bb2450.patch 
+    (Linux-6.14: Handle dops.d_revalidate with parent)
+
+-------------------------------------------------------------------

New:
----
  0306f3fdac736e15620f5802bdce510d25bb2450.patch
  4702930f8dd87a6cad1d59ef8c127003fded1f31.patch

BETA DEBUG BEGIN:
  New:    (LINUX: Refactor afs_linux_dentry_revalidate())
  + 0306f3fdac736e15620f5802bdce510d25bb2450.patch 
    (Linux-6.14: Handle dops.d_revalidate with parent)
  New:- add upstream-patches required for kernel 6.14
  + 4702930f8dd87a6cad1d59ef8c127003fded1f31.patch
    (LINUX: Refactor afs_linux_dentry_revalidate())
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ openafs.spec ++++++
--- /var/tmp/diff_new_pack.iD7Zpb/_old  2025-04-10 22:00:50.152577718 +0200
+++ /var/tmp/diff_new_pack.iD7Zpb/_new  2025-04-10 22:00:50.156577886 +0200
@@ -103,6 +103,10 @@
 Source98:       kmp_only.files
 Source99:       openafs.changes
 
+# FIX build of kernel module for version 6.14
+Patch01:        4702930f8dd87a6cad1d59ef8c127003fded1f31.patch
+Patch02:        0306f3fdac736e15620f5802bdce510d25bb2450.patch
+
 #      GENERAL BuildRequires and Requires
 #
 
@@ -124,6 +128,9 @@
 BuildRequires:  ncurses-devel
 BuildRequires:  pkg-config
 BuildRequires:  swig
+%ifarch  ppc64le
+BuildRequires:  perl-rpm-packaging
+%endif
 
 Requires(post): %fillup_prereq
 
@@ -314,6 +321,9 @@
 
 %setup -q -n openafs-%{upstream_version} -T -b 0 -b 1
 
+%patch -P 01 -p1
+%patch -P 02 -p1
+
 ./regen.sh
 
 %build

++++++ 0306f3fdac736e15620f5802bdce510d25bb2450.patch ++++++
commit 0306f3fdac736e15620f5802bdce510d25bb2450
Author: Cheyenne Wills <cwi...@sinenomine.net>
Date:   Fri Feb 7 11:10:27 2025 -0700

    Linux-6.14: Handle dops.d_revalidate with parent
    
    The Linux 6.14 commit:
      '5be1fa8abd7b0 Pass parent directory inode and expected name to
        ->d_revalidate()'
    added 2 parameters to the dentry_operations.d_revalidate method.  These
    new parameters are being provided as a convenience so a filesystem's
    d_revalidate function can avoid some boilerplate code for obtaining the
    dentry's ->d_parent and ->d_name.  The caller ensures that these two
    values are stable.
    
    Add a new autoconf test to determine if dentry_operations.d_revalidate
    has the new parameters.
    
    Update afs_linux_dentry_revalidate() to accept the new parameters.
    
    Change-Id: I7676ce9ae6ac48e37c8d9fbb3fefc455f80c41e1
    Reviewed-on: https://gerrit.openafs.org/16253
    Reviewed-by: Michael Meffie <mmef...@sinenomine.net>
    Reviewed-by: Mark Vitale <mvit...@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwi...@sinenomine.net>
    Tested-by: Cheyenne Wills <cwi...@sinenomine.net>
    Tested-by: BuildBot <build...@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adea...@sinenomine.net>
    Tested-by: Andrew Deason <adea...@sinenomine.net>

diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
index afd2f8112..82c74c431 100644
--- a/src/afs/LINUX/osi_vnodeops.c
+++ b/src/afs/LINUX/osi_vnodeops.c
@@ -1592,32 +1592,43 @@ dentry_revalidate_common(struct vcache *pvcp, const 
char *name, struct dentry *d
 #endif
 }
 
-#if defined(DOP_REVALIDATE_TAKES_UNSIGNED)
+#if defined(DOP_REVALIDATE_TAKES_PARENT_INODE)
+static int
+afs_linux_dentry_revalidate(struct inode *parent_inode, const struct qstr 
*name,
+                           struct dentry *dp, unsigned int flags)
+{
+    if ((flags & LOOKUP_RCU) != 0) {
+       return -ECHILD;
+    }
+    return dentry_revalidate_common(VTOAFS(parent_inode), name->name, dp);
+}
+#else
+# if defined(DOP_REVALIDATE_TAKES_UNSIGNED)
 static int
 afs_linux_dentry_revalidate(struct dentry *dp, unsigned int flags)
-#elif defined(DOP_REVALIDATE_TAKES_NAMEIDATA)
+# elif defined(DOP_REVALIDATE_TAKES_NAMEIDATA)
 static int
 afs_linux_dentry_revalidate(struct dentry *dp, struct nameidata *nd)
-#else
+# else
 static int
 afs_linux_dentry_revalidate(struct dentry *dp, int flags)
-#endif
+# endif
 {
     int code;
     struct dentry *parent;
 
-#ifdef LOOKUP_RCU
+# ifdef LOOKUP_RCU
     /* We don't support RCU path walking */
-# if defined(DOP_REVALIDATE_TAKES_UNSIGNED)
+#  if defined(DOP_REVALIDATE_TAKES_UNSIGNED)
     if ((flags & LOOKUP_RCU) != 0) {
        return -ECHILD;
     }
-# else
+#  else
     if ((nd->flags & LOOKUP_RCU) != 0) {
        return -ECHILD;
     }
+#  endif
 # endif
-#endif
 
     parent = dget_parent(dp);
     code = dentry_revalidate_common(VTOAFS(parent->d_inode),
@@ -1626,6 +1637,7 @@ afs_linux_dentry_revalidate(struct dentry *dp, int flags)
 
     return code;
 }
+#endif /* DOP_REVALIDATE_TAKES_PARENT_INODE */
 
 static void
 afs_dentry_iput(struct dentry *dp, struct inode *ip)
diff --git a/src/cf/linux-kernel-assorted.m4 b/src/cf/linux-kernel-assorted.m4
index 88f9e1897..03459137f 100644
--- a/src/cf/linux-kernel-assorted.m4
+++ b/src/cf/linux-kernel-assorted.m4
@@ -17,6 +17,7 @@ LINUX_IOP_I_PERMISSION_TAKES_NAMEIDATA
 LINUX_IOP_I_PUT_LINK_TAKES_COOKIE
 LINUX_DOP_D_DELETE_TAKES_CONST
 LINUX_DOP_D_REVALIDATE_TAKES_NAMEIDATA
+LINUX_DOP_D_REVALIDATE_TAKES_PARENT_INODE
 LINUX_FOP_F_FLUSH_TAKES_FL_OWNER_T
 LINUX_FOP_F_FSYNC_TAKES_DENTRY
 LINUX_FOP_F_FSYNC_TAKES_RANGE
diff --git a/src/cf/linux-test4.m4 b/src/cf/linux-test4.m4
index b22930690..c7c0c2318 100644
--- a/src/cf/linux-test4.m4
+++ b/src/cf/linux-test4.m4
@@ -885,3 +885,21 @@ AC_DEFUN([LINUX_FILE_LOCK_CORE], [
                        [define if file_lock_core exists],
                        [])
 ])
+
+dnl linux 6.14 updated dentry_operations.d_revalidate with 2 additional
+dnl parameters, the inode of the parent directory and the name the dentry
+dnl is expected to have.  Using these are optional.  Both parameters are
+dnl stable.
+AC_DEFUN([LINUX_DOP_D_REVALIDATE_TAKES_PARENT_INODE], [
+  AC_CHECK_LINUX_BUILD([whether dop.d_revalidate takes inode and qstr],
+                       [ac_cv_linux_func_d_revalidate_takes_parent_inode],
+                       [#include <linux/fs.h>
+                       #include <linux/namei.h>
+                       static int reval(struct inode  *parent_inode, const 
struct qstr *name,
+                                       struct dentry *d, unsigned int flags) { 
return 0; }
+                       struct dentry_operations dops;],
+                       [dops.d_revalidate = reval;],
+                       [DOP_REVALIDATE_TAKES_PARENT_INODE],
+                       [define if your dops.d_revalidate takes a parent inode],
+                       [-Werror])
+])
\ No newline at end of file

++++++ 4702930f8dd87a6cad1d59ef8c127003fded1f31.patch ++++++
commit 4702930f8dd87a6cad1d59ef8c127003fded1f31
Author: Cheyenne Wills <cwi...@sinenomine.net>
Date:   Fri Feb 14 15:18:52 2025 -0700

    LINUX: Refactor afs_linux_dentry_revalidate()
    
    The signature for Linux's dentry_operations.d_revalidate method has
    undergone several changes, leading to increased use of #if directives in
    afs_linux_dentry_revalidate().
    
    To make the code more maintainable for future changes involving the
    parent inode and the dentry's name, split out most of our logic in
    afs_linux_dentry_revalidate() into a new function,
    dentry_revalidate_common(). Keep the logic for getting the parent and
    checking for LOOKUP_RCU in the caller, afs_linux_dentry_revalidate().
    
    Written in collaboration with adea...@sinenomine.net.
    
    Change-Id: Ic45ac12fceba8c5ba98d2b9c454ed28c44f3ece2
    Reviewed-on: https://gerrit.openafs.org/16258
    Reviewed-by: Michael Meffie <mmef...@sinenomine.net>
    Reviewed-by: Mark Vitale <mvit...@sinenomine.net>
    Tested-by: BuildBot <build...@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwi...@sinenomine.net>
    Tested-by: Cheyenne Wills <cwi...@sinenomine.net>
    Reviewed-by: Andrew Deason <adea...@sinenomine.net>

diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
index 91f7e76be..afd2f8112 100644
--- a/src/afs/LINUX/osi_vnodeops.c
+++ b/src/afs/LINUX/osi_vnodeops.c
@@ -1373,43 +1373,24 @@ check_dentry_race(struct dentry *dp)
 }
 #endif /* D_SPLICE_ALIAS_RACE */
 
-/* Validate a dentry. Return 1 if unchanged, 0 if VFS layer should re-evaluate.
- * In kernels 2.2.10 and above, we are passed an additional flags var which
- * may have either the LOOKUP_FOLLOW OR LOOKUP_DIRECTORY set in which case
- * we are advised to follow the entry if it is a link or to make sure that
- * it is a directory. But since the kernel itself checks these possibilities
- * later on, we shouldn't have to do it until later. Perhaps in the future..
+/*
+ * Validate a dentry. Return 1 if unchanged, 0 if VFS layer should re-evaluate.
  *
- * The code here assumes that on entry the global lock is not held
+ * @param[in] pvcp  vcache for the parent directory containing 'dp'
+ * @param[in] name  the name of the directory entry for 'dp'
+ * @param[in] dp    the dentry we are checking
  */
 static int
-#if defined(DOP_REVALIDATE_TAKES_UNSIGNED)
-afs_linux_dentry_revalidate(struct dentry *dp, unsigned int flags)
-#elif defined(DOP_REVALIDATE_TAKES_NAMEIDATA)
-afs_linux_dentry_revalidate(struct dentry *dp, struct nameidata *nd)
-#else
-afs_linux_dentry_revalidate(struct dentry *dp, int flags)
-#endif
+dentry_revalidate_common(struct vcache *pvcp, const char *name, struct dentry 
*dp)
 {
     cred_t *credp = NULL;
-    struct vcache *vcp, *pvcp, *tvc = NULL;
-    struct dentry *parent;
+    struct vcache *vcp, *tvc = NULL;
     int valid;
     struct afs_fakestat_state fakestate;
     int force_drop = 0;
     afs_uint32 parent_dv;
     int code = 0;
 
-#ifdef LOOKUP_RCU
-    /* We don't support RCU path walking */
-# if defined(DOP_REVALIDATE_TAKES_UNSIGNED)
-    if (flags & LOOKUP_RCU)
-# else
-    if (nd->flags & LOOKUP_RCU)
-# endif
-       return -ECHILD;
-#endif
-
 #ifdef D_SPLICE_ALIAS_RACE
     if (check_dentry_race(dp)) {
         valid = 0;
@@ -1437,7 +1418,7 @@ afs_linux_dentry_revalidate(struct dentry *dp, int flags)
                if (code) {
                    goto error;
                }
-               if ((strcmp(dp->d_name.name, ".directory") == 0)) {
+               if ((strcmp(name, ".directory") == 0)) {
                    tryEvalOnly = 1;
                }
                if (tryEvalOnly)
@@ -1453,13 +1434,11 @@ afs_linux_dentry_revalidate(struct dentry *dp, int 
flags)
                    goto bad_dentry;
                }
            }
-       } else if (vcp->mvstat == AFS_MVSTAT_ROOT && *dp->d_name.name != '/') {
+       } else if (vcp->mvstat == AFS_MVSTAT_ROOT && name[0] != '/') {
            osi_Assert(vcp->mvid.parent != NULL);
        }
 
-       parent = dget_parent(dp);
-       pvcp = VTOAFS(parent->d_inode);
-       parent_dv = parent_vcache_dv(parent->d_inode, credp);
+       parent_dv = parent_vcache_dv(AFSTOV(pvcp), credp);
 
        /* If the parent's DataVersion has changed or the vnode
         * is longer valid, we need to do a full lookup.  VerifyVCache
@@ -1472,7 +1451,7 @@ afs_linux_dentry_revalidate(struct dentry *dp, int flags)
            if (credp == NULL) {
                credp = crref();
            }
-           code = afs_lookup(pvcp, (char *)dp->d_name.name, &tvc, credp);
+           code = afs_lookup(pvcp, (char *)name, &tvc, credp);
             code = filter_enoent(code);
            if (code == ENOENT) {
                /* ENOENT is not an error here. */
@@ -1483,7 +1462,6 @@ afs_linux_dentry_revalidate(struct dentry *dp, int flags)
            if (code) {
                /* We couldn't perform the lookup, so we don't know if the
                 * dentry is valid or not. */
-               dput(parent);
                goto error;
            }
 
@@ -1506,19 +1484,16 @@ afs_linux_dentry_revalidate(struct dentry *dp, int 
flags)
                 * _not_ okay. Force it to be unhashed, since the given name
                 * doesn't point to this file anymore.
                 */
-               dput(parent);
                force_drop = 1;
                goto bad_dentry;
            }
 
            code = afs_CreateAttr(&vattr);
            if (code) {
-               dput(parent);
                goto error;
            }
 
            if (afs_getattr(vcp, vattr, credp)) {
-               dput(parent);
                afs_DestroyAttr(vattr);
                code = EIO;
                goto error;
@@ -1533,23 +1508,15 @@ afs_linux_dentry_revalidate(struct dentry *dp, int 
flags)
        /* should we always update the attributes at this point? */
        /* unlikely--the vcache entry hasn't changed */
 
-       dput(parent);
-
     } else {
-
        /* 'dp' represents a cached negative lookup. */
 
-       parent = dget_parent(dp);
-       pvcp = VTOAFS(parent->d_inode);
-       parent_dv = parent_vcache_dv(parent->d_inode, credp);
+       parent_dv = parent_vcache_dv(AFSTOV(pvcp), credp);
 
        if (parent_dv > dp->d_time || !(pvcp->f.states & CStatd)
            || afs_IsDynroot(pvcp)) {
-           dput(parent);
            goto bad_dentry;
        }
-
-       dput(parent);
     }
 
   good_dentry:
@@ -1625,6 +1592,41 @@ afs_linux_dentry_revalidate(struct dentry *dp, int flags)
 #endif
 }
 
+#if defined(DOP_REVALIDATE_TAKES_UNSIGNED)
+static int
+afs_linux_dentry_revalidate(struct dentry *dp, unsigned int flags)
+#elif defined(DOP_REVALIDATE_TAKES_NAMEIDATA)
+static int
+afs_linux_dentry_revalidate(struct dentry *dp, struct nameidata *nd)
+#else
+static int
+afs_linux_dentry_revalidate(struct dentry *dp, int flags)
+#endif
+{
+    int code;
+    struct dentry *parent;
+
+#ifdef LOOKUP_RCU
+    /* We don't support RCU path walking */
+# if defined(DOP_REVALIDATE_TAKES_UNSIGNED)
+    if ((flags & LOOKUP_RCU) != 0) {
+       return -ECHILD;
+    }
+# else
+    if ((nd->flags & LOOKUP_RCU) != 0) {
+       return -ECHILD;
+    }
+# endif
+#endif
+
+    parent = dget_parent(dp);
+    code = dentry_revalidate_common(VTOAFS(parent->d_inode),
+                                   dp->d_name.name, dp);
+    dput(parent);
+
+    return code;
+}
+
 static void
 afs_dentry_iput(struct dentry *dp, struct inode *ip)
 {

++++++ openafs-stable-1_8_x-doc.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openafs-stable-1_8_x/doc/man-pages/Makefile.in 
new/openafs-stable-1_8_x/doc/man-pages/Makefile.in
--- old/openafs-stable-1_8_x/doc/man-pages/Makefile.in  2024-08-14 
08:43:34.503803029 +0200
+++ new/openafs-stable-1_8_x/doc/man-pages/Makefile.in  2025-04-09 
06:44:22.554631822 +0200
@@ -43,9 +43,11 @@
        chmod +x install-man
        mkdir -p $(DEST)/man/man1 $(DEST)/man/man3 \
                 $(DEST)/man/man5 $(DEST)/man/man8
-       set -e; for M in man1/*.1 man3/*.3 man5/*.5 man8/*.8 ; do \
+       set -e; orig_pwd=`pwd` ; cd $(srcdir) ; \
+       for M in man1/*.1 man3/*.3 man5/*.5 man8/*.8 ; do \
+           cd $$orig_pwd ; \
            if ! [ -e $$M.noinstall ] ; then \
-               ./install-man $$M $(DEST)/man/$$M ; \
+               ./install-man $(srcdir)/$$M $(DEST)/man/$$M ; \
            fi ; \
        done
        set -e; for M in ${LINKEDPAGES}; do \
@@ -69,9 +71,11 @@
        chmod +x install-man
        mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man3 \
            $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8
-       set -e; for M in man1/*.1 man3/*.3 man5/*.5 man8/*.8 ; do \
+       set -e; orig_pwd=`pwd` ; cd $(srcdir) ; \
+       for M in man1/*.1 man3/*.3 man5/*.5 man8/*.8 ; do \
+           cd $$orig_pwd ; \
            if ! [ -e $$M.noinstall ] ; then \
-               ./install-man $$M $(DESTDIR)$(mandir)/$$M ; \
+               ./install-man $(srcdir)/$$M $(DESTDIR)$(mandir)/$$M ; \
            fi; \
        done
        set -e; for M in ${LINKEDPAGES}; do \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openafs-stable-1_8_x/doc/man-pages/pod1/rxgen.pod 
new/openafs-stable-1_8_x/doc/man-pages/pod1/rxgen.pod
--- old/openafs-stable-1_8_x/doc/man-pages/pod1/rxgen.pod       2024-08-14 
08:43:34.503803029 +0200
+++ new/openafs-stable-1_8_x/doc/man-pages/pod1/rxgen.pod       2025-04-09 
06:44:22.555631827 +0200
@@ -669,7 +669,7 @@
     vldb_list       linkedvldbs;
     vldblist        vllist, vllist1;
 
-    bzero(&linkedvldbs, sizeof(vldb_list));
+    memset(&linkedvldbs, 0, sizeof(vldb_list));
     code = VL_LinkedList(&attributes, &nentries, &linkedvldbs);
     if (!code) {
         printf("We got %d vldb entries\n", nentries);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openafs-stable-1_8_x/doc/protocol/rx-spec.h 
new/openafs-stable-1_8_x/doc/protocol/rx-spec.h
--- old/openafs-stable-1_8_x/doc/protocol/rx-spec.h     2024-08-14 
08:43:34.513803082 +0200
+++ new/openafs-stable-1_8_x/doc/protocol/rx-spec.h     2025-04-09 
06:44:22.556631831 +0200
@@ -4389,7 +4389,7 @@
  * \par
  * \#define rx_Read(call, buf, nbytes) 
  * \n ((call)->nLeft > (nbytes) ? 
- * \n bcopy((call)->bufPtr, (buf), (nbytes)), 
+ * \n memcpy((buf), (call)->bufPtr, (nbytes)),
  * \n (call)->nLeft -= (nbytes), (call)->bufPtr += (nbytes), (nbytes) 
  * \n : rx_ReadProc((call), (buf), (nbytes))) 
  * \par
@@ -4410,7 +4410,7 @@
  * \par
  * \#define rx_Write(call, buf, nbytes) 
  * \n ((call)->nFree > (nbytes) ? 
- * \n bcopy((buf), (call)->bufPtr, (nbytes)), 
+ * \n memcpy((call)->bufPtr, (buf), (nbytes)),
  * \n (call)->nFree -= (nbytes), 
  * \n (call)->bufPtr += (nbytes), (nbytes) 
  * \n : rx_WriteProc((call), (buf), (nbytes))) 
@@ -5269,7 +5269,7 @@
  *             pn, rn, hostEntP->h_length, sizeof(u_long)); 
  *             exit(1); 
  *     } 
- *     bcopy(hostEntP->h_addr, (char *)&hostIPAddr, sizeof(hostIPAddr)); 
+ *     memcpy(&hostIPAddr, hostEntP->h_addr, sizeof(hostIPAddr));
  *     return(hostIPAddr); 
  * } /* GetIpAddress */
  * \endcode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openafs-stable-1_8_x/doc/xml/AdminGuide/Makefile.in 
new/openafs-stable-1_8_x/doc/xml/AdminGuide/Makefile.in
--- old/openafs-stable-1_8_x/doc/xml/AdminGuide/Makefile.in     2024-08-06 
09:14:53.836907684 +0200
+++ new/openafs-stable-1_8_x/doc/xml/AdminGuide/Makefile.in     2025-04-09 
06:44:22.556631831 +0200
@@ -12,6 +12,7 @@
 #
 # HTML_XSL is possibly specific to Debian and may need to be modified on other
 # systems.
+srcdir=@srcdir@
 
 BOOK = auagd000
 
@@ -33,22 +34,29 @@
 KINDLEGEN = @KINDLEGEN@
 DBTOEPUB = $(DOCBOOK_STYLESHEETS)/epub/bin/dbtoepub
 
+XSL_FLAGS = --path '@abs_builddir@'
+
 index.html: $(SRCS)
-       $(XSLTPROC) --param navig.graphics 1 \
+       $(XSLTPROC) $(XSL_FLAGS) \
+           --param navig.graphics 1 \
            --param use.id.as.filename 1 \
-           --stringparam navig.graphics.path ../ 
$(DOCBOOK_STYLESHEETS)/$(HTML_XSL) $(BOOK).xml
+           --stringparam navig.graphics.path ../ 
$(DOCBOOK_STYLESHEETS)/$(HTML_XSL) \
+           $(srcdir)/$(BOOK).xml
 
 $(BOOK).pdf: $(SRCS)
        if test "x$(DOCBOOK2PDF)" = "xfop"; then \
-               $(XSLTPROC) $(DOCBOOK_STYLESHEETS)/fo/docbook.xsl $(BOOK).xml > 
$(BOOK).fo; \
+               $(XSLTPROC) $(DOCBOOK_STYLESHEETS)/fo/docbook.xsl \
+                   $(srcdir)/$(BOOK).xml > $(BOOK).fo; \
                $(DOCBOOK2PDF) $(BOOK).fo $(BOOK).pdf; \
        else \
-               $(DOCBOOK2PDF) $(BOOK).xml; \
+               $(DOCBOOK2PDF) --output=$@ --xslt-opts="$(XSL_FLAGS)" \
+                   $(srcdir)/$(BOOK).xml; \
        fi
 
 $(BOOK).epub: $(SRCS)
        if test -x "$(DBTOEPUB)" ; then \
-               $(DBTOEPUB) -s $(TOP_SRCDIR)/../doc/xml/mobi-fixup.xsl 
$(BOOK).xml; \
+               $(DBTOEPUB) -s $(TOP_SRCDIR)/../doc/xml/mobi-fixup.xsl \
+                   $(srcdir)/$(BOOK).xml; \
        fi
 
 $(BOOK).mobi: $(BOOK).epub
@@ -57,7 +65,7 @@
        fi
 
 check:
-       xmllint --noout --valid $(BOOK).xml
+       xmllint $(XSL_FLAGS) --noout --valid $(srcdir)/$(BOOK).xml
 
 clean:
        rm -f *.aux *.epub *.fo *.html *.log *.mobi *.out *.pdf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openafs-stable-1_8_x/doc/xml/AdminRef/.gitignore 
new/openafs-stable-1_8_x/doc/xml/AdminRef/.gitignore
--- old/openafs-stable-1_8_x/doc/xml/AdminRef/.gitignore        1970-01-01 
01:00:00.000000000 +0100
+++ new/openafs-stable-1_8_x/doc/xml/AdminRef/.gitignore        2025-04-09 
06:44:22.556631831 +0200
@@ -0,0 +1,19 @@
+# After changing this file, please run
+#     git ls-files -i --exclude-standard
+# to check that you haven't inadvertently ignored any tracked files.
+
+*.aux
+*.chm
+*.epub
+*.html
+*.fo
+*.log
+*.mobi
+*.out
+*.pdf
+
+Makefile
+version.xml
+entities.dtd
+sect*.xml
+sect*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openafs-stable-1_8_x/doc/xml/AdminRef/Makefile.in 
new/openafs-stable-1_8_x/doc/xml/AdminRef/Makefile.in
--- old/openafs-stable-1_8_x/doc/xml/AdminRef/Makefile.in       2024-08-06 
09:14:53.853574426 +0200
+++ new/openafs-stable-1_8_x/doc/xml/AdminRef/Makefile.in       2025-04-09 
06:44:22.556631831 +0200
@@ -1,4 +1,5 @@
 # Makefile to build the AFS Reference Guide for Unix.
+srcdir=@srcdir@
 
 BOOK = auarf000
 
@@ -9,27 +10,33 @@
 include @TOP_OBJDIR@/src/config/Makefile.version
 
 SRCS     = $(BOOK).xml preface.xml $(VERSION).xml \
-          entities.dtd sect1.xml sect5.xml sect8.xml
+          entities.dtd sect1.xml sect3.xml sect5.xml sect8.xml
 DOCBOOK_STYLESHEETS = @DOCBOOK_STYLESHEETS@
 XSLTPROC = @XSLTPROC@ --stringparam variablelist.as.blocks 1 --param 
use.id.as.filename 1
 DOCBOOK2PDF = @DOCBOOK2PDF@
 DBTOEPUB = $(DOCBOOK_STYLESHEETS)/epub/bin/dbtoepub
 KINDLEGEN = @KINDLEGEN@
 
-entities.dtd sect1.xml sect5.xml sect8.xml:
-       ./generate-xml.pl $(TOP_SRCDIR)
+XSL_FLAGS = --path '@abs_builddir@'
+
+entities.dtd sect1.xml sect3.xml sect5.xml sect8.xml:
+       $(srcdir)/generate-xml.pl $(TOP_SRCDIR)
 
 $(BOOK).pdf: $(SRCS)
        if test "x$(DOCBOOK2PDF)" = "xfop"; then \
-               $(XSLTPROC) $(DOCBOOK_STYLESHEETS)/fo/docbook.xsl $(BOOK).xml > 
$(BOOK).fo; \
+               $(XSLTPROC) $(XSL_FLAGS) \
+                   $(DOCBOOK_STYLESHEETS)/fo/docbook.xsl \
+                   $(srcdir)/$(BOOK).xml > $(BOOK).fo; \
                $(DOCBOOK2PDF) $(BOOK).fo $(BOOK).pdf; \
        else \
-               $(DOCBOOK2PDF) $(BOOK).xml; \
+               $(DOCBOOK2PDF) --output=$@ --xslt-opts="$(XSL_FLAGS)" \
+                   $(srcdir)/$(BOOK).xml; \
        fi
 
 $(BOOK).epub: $(SRCS)
        if test -x "$(DBTOEPUB)" ; then \
-               $(DBTOEPUB) -s $(TOP_SRCDIR)/../doc/xml/mobi-fixup.xsl 
$(BOOK).xml; \
+               $(DBTOEPUB) -s $(TOP_SRCDIR)/../doc/xml/mobi-fixup.xsl \
+                   $(srcdir)/$(BOOK).xml; \
        fi
 
 $(BOOK).mobi: $(BOOK).epub
@@ -38,9 +45,9 @@
        fi
 
 check:
-       xmllint --noout --valid $(BOOK).xml
+       xmllint $(XSL_FLAGS) --noout --valid $(srcdir)/$(BOOK).xml
 
 clean:
        rm -f $(BOOK).pdf $(BOOK).mobi $(BOOK).epub $(BOOK).fo \
-               entities.dtd sect1.xml sect5.xml sect8.xml $(VERSION).xml
-       rm -rf sect1 sect5 sect8
+               entities.dtd sect1.xml sect3.xml sect5.xml sect8.xml 
$(VERSION).xml
+       rm -rf sect1 sect3 sect5 sect8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openafs-stable-1_8_x/doc/xml/AdminRef/auarf000.xml 
new/openafs-stable-1_8_x/doc/xml/AdminRef/auarf000.xml
--- old/openafs-stable-1_8_x/doc/xml/AdminRef/auarf000.xml      2024-08-06 
09:14:53.853574426 +0200
+++ new/openafs-stable-1_8_x/doc/xml/AdminRef/auarf000.xml      2025-04-09 
06:44:22.556631831 +0200
@@ -4,6 +4,7 @@
 <!ENTITY version SYSTEM "version.xml">
 <!ENTITY preface SYSTEM "preface.xml">
 <!ENTITY sect1 SYSTEM "sect1.xml">
+<!ENTITY sect3 SYSTEM "sect3.xml">
 <!ENTITY sect5 SYSTEM "sect5.xml">
 <!ENTITY sect8 SYSTEM "sect8.xml">
 <!ENTITY % entities SYSTEM "entities.dtd">
@@ -62,6 +63,11 @@
   </reference>
 
   <reference>
+    <title>AFS Library Reference</title>
+    &sect3;
+  </reference>
+
+  <reference>
     <title>AFS System Files</title>
     &sect5;
   </reference>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openafs-stable-1_8_x/doc/xml/AdminRef/generate-xml.pl 
new/openafs-stable-1_8_x/doc/xml/AdminRef/generate-xml.pl
--- old/openafs-stable-1_8_x/doc/xml/AdminRef/generate-xml.pl   2024-06-12 
16:12:49.816116900 +0200
+++ new/openafs-stable-1_8_x/doc/xml/AdminRef/generate-xml.pl   2025-04-09 
06:44:22.556631831 +0200
@@ -2,35 +2,46 @@
     eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
        if $running_under_some_shell;
 
-@sections = ('1', '5', '8');
+@sections = ('1', '3', '5', '8');
 
 $TOP_SRCDIR = shift @ARGV;
+$srcdir = sprintf "%s/../doc/xml/AdminRef", $TOP_SRCDIR;
 $doc_man_pages = sprintf "%s/../doc/man-pages", $TOP_SRCDIR;
 
 open(ENTITIES, ">entities.dtd") || die;
 
 foreach $section (@sections) {
     printf "generating section %s...\n", $section;
+    my @entities = ();
 
     mkdir(sprintf "sect%d", $section);
     opendir($DIR, sprintf "%s/pod%d", $doc_man_pages, $section) || die;
-    open(SECT, sprintf ">sect%d.xml", $section) || die;
     while ($podfile = readdir($DIR)) {
        next unless $podfile =~ /\.pod$/;
 
        ($xmlfile = $podfile) =~ s/\.pod$/.xml/;
        ($entity = $xmlfile) =~ s/\.xml$//;
 
-       printf "pod2refentry < %s > %s\n", $podfile, $xmlfile;
+       printf "%s/pod2refentry < %s > %s\n", $srcdir, $podfile, $xmlfile;
 
-       system(sprintf "./pod2refentry --section=%d < %s/pod%d/%s > sect%d/%s",
-           $section, $doc_man_pages, $section, $podfile, $section, $xmlfile);
+       my $rc = system(sprintf "%s/pod2refentry --section=%d < %s/pod%d/%s > 
sect%d/%s",
+           $srcdir, $section, $doc_man_pages, $section, $podfile, $section, 
$xmlfile);
+       if ($rc != 0) {
+           die "Failed to generate sect${section}/${xmlfile}: $rc\n";
+       }
 
        printf ENTITIES "<!ENTITY %s%s SYSTEM \"sect%d/%s\">\n",
            $entity, $section, $section, $xmlfile;
-       printf SECT "&%s%s;\n", $entity, $section;
+
+       push(@entities, $entity);
     }
     closedir($DIR);
+
+    open(SECT, sprintf ">sect%d.xml", $section) || die;
+    foreach $entity (sort(@entities)) {
+       printf SECT "&%s%s;\n", $entity, $section;
+    }
+
     close(SECT);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openafs-stable-1_8_x/doc/xml/QuickStartUnix/Makefile.in 
new/openafs-stable-1_8_x/doc/xml/QuickStartUnix/Makefile.in
--- old/openafs-stable-1_8_x/doc/xml/QuickStartUnix/Makefile.in 2024-08-06 
09:14:53.853574426 +0200
+++ new/openafs-stable-1_8_x/doc/xml/QuickStartUnix/Makefile.in 2025-04-09 
06:44:22.556631831 +0200
@@ -12,6 +12,7 @@
 #
 # HTML_XSL is specific to Debian and will need to be modified on other
 # systems until we have a better mechanism for finding the correct path.
+srcdir=@srcdir@
 
 BOOK = auqbg000
 
@@ -31,22 +32,30 @@
 DBTOEPUB = $(DOCBOOK_STYLESHEETS)/epub/bin/dbtoepub
 KINDLEGEN = @KINDLEGEN@
 
+XSL_FLAGS = --path '@abs_builddir@'
+
 index.html: $(SRCS)
-       $(XSLTPROC) --param navig.graphics 1 \
+       $(XSLTPROC) $(XSL_FLAGS) \
+           --param navig.graphics 1 \
            --param use.id.as.filename 1 \
-           --stringparam navig.graphics.path ../ 
$(DOCBOOK_STYLESHEETS)/$(HTML_XSL) $(BOOK).xml
+           --stringparam navig.graphics.path ../ 
$(DOCBOOK_STYLESHEETS)/$(HTML_XSL) \
+           $(srcdir)/$(BOOK).xml
 
 $(BOOK).pdf: $(SRCS)
        if test "x$(DOCBOOK2PDF)" = "xfop"; then \
-               $(XSLTPROC) $(DOCBOOK_STYLESHEETS)/fo/docbook.xsl $(BOOK).xml > 
$(BOOK).fo; \
+               $(XSLTPROC) $(XSL_FLAGS) \
+                   $(DOCBOOK_STYLESHEETS)/fo/docbook.xsl \
+                   $(srcdir)/$(BOOK).xml > $(BOOK).fo; \
                $(DOCBOOK2PDF) $(BOOK).fo $(BOOK).pdf; \
        else \
-               $(DOCBOOK2PDF) $(BOOK).xml; \
+               $(DOCBOOK2PDF) --output=$@ --xslt-opts="$(XSL_FLAGS)" \
+                   $(srcdir)/$(BOOK).xml; \
        fi
 
 $(BOOK).epub: $(SRCS)
        if test -x "$(DBTOEPUB)" ; then \
-               $(DBTOEPUB) -s $(TOP_SRCDIR)/../doc/xml/mobi-fixup.xsl 
$(BOOK).xml; \
+               $(DBTOEPUB) -s $(TOP_SRCDIR)/../doc/xml/mobi-fixup.xsl \
+                   $(srcdir)/$(BOOK).xml; \
        fi
 
 $(BOOK).mobi: $(BOOK).epub
@@ -55,7 +64,7 @@
        fi
 
 check:
-       xmllint --noout --valid $(BOOK).xml
+       xmllint $(XSL_FLAGS) --noout --valid $(srcdir)/$(BOOK).xml
 
 clean:
        rm -f *.aux *.epub *.fo *.html *.log *.mobi *.out *.pdf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openafs-stable-1_8_x/doc/xml/UserGuide/Makefile.in 
new/openafs-stable-1_8_x/doc/xml/UserGuide/Makefile.in
--- old/openafs-stable-1_8_x/doc/xml/UserGuide/Makefile.in      2024-08-06 
09:14:53.866907820 +0200
+++ new/openafs-stable-1_8_x/doc/xml/UserGuide/Makefile.in      2025-04-09 
06:44:22.556631831 +0200
@@ -12,6 +12,7 @@
 #
 # HTML_XSL is possibly specific to Debian and may need to be modified on other
 # systems.
+srcdir=@srcdir@
 
 BOOK = auusg000
 
@@ -31,22 +32,30 @@
 DBTOEPUB = $(DOCBOOK_STYLESHEETS)/epub/bin/dbtoepub
 KINDLEGEN = @KINDLEGEN@
 
+XSL_FLAGS = --path '@abs_builddir@'
+
 index.html: $(SRCS)
-       $(XSLTPROC) --param navig.graphics 1 \
+       $(XSLTPROC) $(XSL_FLAGS) \
+           --param navig.graphics 1 \
            --param use.id.as.filename 1 \
-           --stringparam navig.graphics.path ../ 
$(DOCBOOK_STYLESHEETS)/$(HTML_XSL) $(BOOK).xml
+           --stringparam navig.graphics.path ../ 
$(DOCBOOK_STYLESHEETS)/$(HTML_XSL) \
+           $(srcdir)/$(BOOK).xml
 
 $(BOOK).pdf: $(SRCS)
        if test "x$(DOCBOOK2PDF)" = "xfop"; then \
-               $(XSLTPROC) $(DOCBOOK_STYLESHEETS)/fo/docbook.xsl $(BOOK).xml > 
$(BOOK).fo; \
+               $(XSLTPROC) $(XSL_FLAGS) \
+                   $(DOCBOOK_STYLESHEETS)/fo/docbook.xsl \
+                   $(srcdir)/$(BOOK).xml > $(BOOK).fo; \
                $(DOCBOOK2PDF) $(BOOK).fo $(BOOK).pdf; \
        else \
-               $(DOCBOOK2PDF) $(BOOK).xml; \
+               $(DOCBOOK2PDF) --output=$@ --xslt-opts="$(XSL_FLAGS)" \
+                   $(srcdir)/$(BOOK).xml; \
        fi
 
 $(BOOK).epub: $(SRCS)
        if test -x "$(DBTOEPUB)" ; then \
-               $(DBTOEPUB) -s $(TOP_SRCDIR)/../doc/xml/mobi-fixup.xsl 
$(BOOK).xml; \
+               $(DBTOEPUB) -s $(TOP_SRCDIR)/../doc/xml/mobi-fixup.xsl \
+                   $(srcdir)/$(BOOK).xml; \
        fi
 
 $(BOOK).mobi: $(BOOK).epub
@@ -55,7 +64,7 @@
        fi
 
 check:
-       xmllint --noout --valid $(BOOK).xml
+       xmllint $(XSL_FLAGS) --noout --valid $(srcdir)/$(BOOK).xml
 
 clean:
        rm -f *.aux *.epub *.fo *.html *.log *.mobi *.out *.pdf

++++++ openafs-stable-1_8_x-doc.tar.bz2.md5 ++++++
--- /var/tmp/diff_new_pack.iD7Zpb/_old  2025-04-10 22:00:51.512634516 +0200
+++ /var/tmp/diff_new_pack.iD7Zpb/_new  2025-04-10 22:00:51.516634683 +0200
@@ -1,2 +1,2 @@
-062fe23f3bd1c46786420373649e8414  
/home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-doc.tar.bz2
+6cce2b29b2027dcbed7911da86f2f5e5  
/home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-doc.tar.bz2
 

++++++ openafs-stable-1_8_x-doc.tar.bz2.sha256 ++++++
--- /var/tmp/diff_new_pack.iD7Zpb/_old  2025-04-10 22:00:51.536635518 +0200
+++ /var/tmp/diff_new_pack.iD7Zpb/_new  2025-04-10 22:00:51.536635518 +0200
@@ -1,2 +1,2 @@
-0069c920ea173ff34f729dce26788c9a55966a9b71cc76c53176b0017771f5be  
/home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-doc.tar.bz2
+05e7d966cffd6fe72fd6976065200e5573457aa35748874d57eec6ecbed23670  
/home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-doc.tar.bz2
 

++++++ openafs-stable-1_8_x-src.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/openafs/openafs-stable-1_8_x-src.tar.bz2 
/work/SRC/openSUSE:Factory/.openafs.new.1907/openafs-stable-1_8_x-src.tar.bz2 
differ: char 11, line 1

++++++ openafs-stable-1_8_x-src.tar.bz2.md5 ++++++
--- /var/tmp/diff_new_pack.iD7Zpb/_old  2025-04-10 22:00:51.572637022 +0200
+++ /var/tmp/diff_new_pack.iD7Zpb/_new  2025-04-10 22:00:51.576637188 +0200
@@ -1,2 +1,2 @@
-333aca22efa0c5fbdd522eee084d16d9  
/home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-src.tar.bz2
+c35b8393068ac020d8d0a3baa9ac7fc5  
/home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-src.tar.bz2
 

++++++ openafs-stable-1_8_x-src.tar.bz2.sha256 ++++++
--- /var/tmp/diff_new_pack.iD7Zpb/_old  2025-04-10 22:00:51.608638525 +0200
+++ /var/tmp/diff_new_pack.iD7Zpb/_new  2025-04-10 22:00:51.612638692 +0200
@@ -1,2 +1,2 @@
-764cfd8501ca2d8796c41ed588a9664d5e317fd8253757504df2bf136db65afe  
/home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-src.tar.bz2
+5088353cec7628b9ab0640e2ab8a228add749669ff3f7567b760ccedda64f830  
/home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-src.tar.bz2
 

Reply via email to