Debian Patches

Status for openafs/1.8.16~pre1-1

Patch Description Author Forwarded Bugs Origin Last update
0003-Catch-up-to-roken-s-rename-of-base64-symbols.patch Catch up to roken's rename of base64 symbols
Upstream roken (i.e., heimdal) renamed their base64 encode/decode
routines to have a rk_ prefix in 2014, but upstream OpenAFS hasn't
pulled in an update to their bundled heimdal files since then.
So, upstream is still using the old name, whereas we are trying
to link against a more modern libroken, and must use the new names.
Benjamin Kaduk <kaduk@mit.edu> no 2016-12-11
0007-Temporarily-disable-flaky-test.patch Temporarily disable flaky test
The volser test consistently fails on the armhf buildd but succeeds
on the porterbox. The nature of the test in question suggests that
the issue in the test triggers only on a machine with a specific
network configuration using specific addresses in 10.0.0.0/8, which
should help track down the issue causing the test to fail on the buildd.
Benjamin Kaduk <kaduk@mit.edu> no 2020-03-24
0014-build-clean-up-some-more-generated-files.patch build: clean up some more generated files
Commit c1d39153da00d5525b2f7874b2d214a7f1b1bb86 added a cc-wrapper
script to help generate CTF data for all objects, which is generated
by configure. Remove it in the distclean target so we don't leave
a stray file hanging around.

Commit 48ce41a447c354b8a20b769e4aa5b502ba5bcc09 added a pkgbuild.sh
script, to be used to build packages for newer versions of macOS,
supplementing the buildpkg.sh that was previously used. Clean it
up in distclean as well (buildpkg.sh was already listed).

Also clean up AFS_component_version_number.c in
libuafs/Makefile.common.in.

These issues were detected while resolving
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1048470 .
Benjamin Kaduk <kaduk@mit.edu> no 2023-12-22
0004-cf-Fix-check-for-ENABLE_FUSE_CLIENT.patch cf: Fix check for ENABLE_FUSE_CLIENT
Commit 2e5545342b (fuse: Autodetect Solaris 11 FUSE) checked if we
failed to detect fuse by checking for

[test x"ENABLE_FUSE_CLIENT" = x]

Which is always false, instead of:

[test x"$ENABLE_FUSE_CLIENT" = x]

As a result, if someone explicitly enabled the fuse client by passing
--enable-fuse-client to configure, and fuse headers are not installed,
the build would just continue without fuse support.

Fix this by adding the missing '$', and so now 'configure' fails if fuse
cannot be found and --enable-fuse-client was given.

(cherry picked from commit 35b6d49f75517840d978d2bc4e10a489aa752680)
Andrew Deason <adeason@sinenomine.net> no 2025-12-18
0005-cf-Report-fuse-errors-with-FUSE_PKG_ERRORS.patch cf: Report fuse errors with $FUSE_PKG_ERRORS
Commit 2e5545342b (fuse: Autodetect Solaris 11 FUSE) tries to report
errors detecting fuse by printing $FUSE_PACKAGE_ERRORS, but our pkg.m4
stores errors in variable $FUSE_PKG_ERRORS. As a result, if you run
configure with --enable-fuse-client and fuse is not installed, you get a
rather confusing error:

$ ./configure --enable-fuse-client
[...]
checking for FUSE... no
configure: error: ""

To fix this, print $FUSE_PKG_ERRORS instead, and remove the unnecessary
extra quotes. This gives us a better error message:

$ ./configure --enable-fuse-client
[...]
checking for FUSE... no
configure: error: Package 'fuse', required by 'virtual:world', not found

This is still maybe not the clearest error for unfamiliar users, but
this is what pkg.m4 gives us, and is certainly at least an improvement.

(cherry picked from commit edde6c542b44298651c60e5b5196a738d96e7981)
Andrew Deason <adeason@sinenomine.net> no 2025-12-18
0006-afsd-Support-fuse3.patch afsd: Support fuse3
Currently, we detect the 'fuse' pkg-config package to build afsd.fuse,
which looks for fuse version 2. Fuse version 3 lives under the 'fuse3'
package name instead, so fuse2 and fuse3 are co-installable.

Fuse 3 has been around for quite a while (released in 2016), so we
should support building against it. To do so, look for the 'fuse3'
package, falling back to 'fuse' if we can't find 'fuse3'.

Also make various changes to afsd_fuse.c so we can build against fuse3:

- Define FUSE_USE_VERSION to 31, to indicate we support the API from
version 3.1

- Accept the new argument 'cfg' in fuafsd_init(). We can ignore the
value of the arg for now, but in the future we may want to specify
some values (for example, we can set 'nullpath_ok' to indicate that we
don't need the full path for some operations, which lets fuse run
faster).

- Accept the new argument 'fi' in fuafsd_getattr(), fuafsd_chmod(), and
fuafsd_truncate(). We don't use any of the info in this arg for now;
we just use the given path instead.

- Accept new argument 'flags' in fuafsd_readdir(). We can just ignore
the value; we always call filler() without providing any extra stat
info.

- The 'fuse_fill_dir_t' callback function type has gained a new argument
'flags' (of type 'enum fuse_fill_dir_flags'), where we can specify
FUSE_FILL_DIR_PLUS to indicate we have provided additional stat info.
Pass 0 for the flags to indicate we haven't provided any extra info.

- Accept new argument 'flags' in fuafsd_rename(), which can be used to
indicate that the caller wants to not clobber the destination
(RENAME_NOREPLACE), or atomically exchange the destination
(RENAME_EXCHANGE). We don't support either of these, so return an
error if any non-zero flags are set.

(cherry picked from commit 1a0f62d8d7b62b78392fda1c29ccccff87379efc)
Andrew Deason <adeason@sinenomine.net> no 2025-12-03

All known versions for source package 'openafs'

Links