Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation of man page via cp --preserve fails on NFS #3518

Closed
jzinn opened this issue Feb 2, 2019 · 1 comment
Closed

Installation of man page via cp --preserve fails on NFS #3518

jzinn opened this issue Feb 2, 2019 · 1 comment

Comments

@jzinn
Copy link
Contributor

jzinn commented Feb 2, 2019

I did this

Building curl on NFS gives this error message:

cp: preserving permissions for `/path/to/docs/curl.1': Operation not supported
cp: preserving ACL for `/path/to/docs/curl.1': Operation not supported

The failing cp command comes from docs/Makefile.am:

$(abs_builddir)/curl.1:
	if test "$(top_builddir)x" != "$(top_srcdir)x" -a -e "$(srcdir)/curl.1"; then \
		cp -fp "$(srcdir)/curl.1" $@; fi
	cd cmdline-opts && $(MAKE)

Perhaps using install with specified permissions instead of cp --preserve would be better.

I expected the following

The install command (cp) to succeed with error code 0.

curl/libcurl version

From my machine, not the build machine:

curl 7.63.0 (x86_64-pc-linux-gnu) libcurl/7.63.0 OpenSSL/1.0.2q zlib/1.2.3 c-ares/1.12.0
Release-Date: 2018-12-12
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IPv6 Largefile NTLM SSL libz UnixSockets HTTPS-proxy 

operating system

The build machine is CentOS 5 or 6.

@jzinn
Copy link
Contributor Author

jzinn commented Feb 3, 2019

This test patch to docs/Makefile.in worked for me.

diff --git a/curl-7.63.0/docs/Makefile.in b/curl-7.63.0/docs/Makefile.in
index 5abb20ac3..e7153493d 100644
--- a/curl-7.63.0/docs/Makefile.in
+++ b/curl-7.63.0/docs/Makefile.in
@@ -886,7 +886,7 @@ uninstall-man: uninstall-man1
 # have changed.
 $(abs_builddir)/curl.1:
        if test "$(top_builddir)x" != "$(top_srcdir)x" -a -e "$(srcdir)/curl.1"; then \
-               cp -fp "$(srcdir)/curl.1" $@; fi
+               $(INSTALL_DATA) "$(srcdir)/curl.1" $@; fi
        cd cmdline-opts && $(MAKE)

I'm not sure if it's copacetic to use $(INSTALL_DATA) in docs/Makefile.am (I don't know Autotools well enough), but it does work. I tried updating docs/Makefile.am to use $(INSTALL_DATA) instead of cp -fp. Then automake generated the correct docs/Makefile.in that I expected.

jzinn pushed a commit to jzinn/curl that referenced this issue Feb 4, 2019
@bagder bagder closed this as completed in 2568441 Feb 4, 2019
@lock lock bot locked as resolved and limited conversation to collaborators May 5, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging a pull request may close this issue.

1 participant