Skip to content

Only try falling back to mkfifoat() if it is available#901

Open
ribbons wants to merge 1 commit into
RsyncProject:masterfrom
ribbons:have-mkfifoat
Open

Only try falling back to mkfifoat() if it is available#901
ribbons wants to merge 1 commit into
RsyncProject:masterfrom
ribbons:have-mkfifoat

Conversation

@ribbons
Copy link
Copy Markdown

@ribbons ribbons commented May 20, 2026

If MKNOD_CREATES_FIFOS is not defined by configure (such as when cross-compiling), mkfifo() is available but mkfifoat() is not then compilation fails since 30656c5.

(I discovered this when trying to cross-compile v3.4.3 for Android, targeting API level 21 which provides mkfifo() but not mkfifoat()).

This PR adds a configure function check for mkfifoat and updates the preprocessor conditional that wraps the call to it in syscall.c to reference HAVE_MKFIFOAT.

If MKNOD_CREATES_FIFOS is not defined by configure (such as when
cross-compiling), mkfifo() is available but mkfifoat() is not then
compilation fails since 30656c5.

Add a function check for mkfifoat and update the preprocessor
conditional that wraps the call to it to reference HAVE_MKFIFOAT.
ribbons added a commit to ribbons/android-rsync that referenced this pull request May 21, 2026
Compilation of v3.4.3 fails due to mkfifoat() being referenced but it is
not available on Android until API level 23 (we are targeting 21 and
above).

Add patch (submitted at RsyncProject/rsync#901
for the consideration of upstream) to test specifically for the
existence of mkfifoat() before trying to call it.

Extend the build script and workflow to automatically apply patches in
the root of the repository to the fetched source and reference the
number of patches in the version number of the release.
ribbons added a commit to ribbons/android-rsync that referenced this pull request May 21, 2026
Compilation of v3.4.3 fails due to mkfifoat() being referenced but it is
not available on Android until API level 23 (we are targeting 21 and
above).

Add patch (submitted at RsyncProject/rsync#901
for the consideration of upstream) to test specifically for the
existence of mkfifoat() before trying to call it.

Extend the build script and workflow to automatically apply patches in
the root of the repository to the fetched source and reference the
number of patches in the version number of the release.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant