cifs-utils: Respect DESTDIR when installing smb3 stuff
authorMikhail Novosyolov <m.novosyolov@rosalinux.ru>
Fri, 24 Jan 2020 22:11:12 +0000 (01:11 +0300)
committerPavel Shilovsky <pshilov@microsoft.com>
Thu, 3 Sep 2020 17:35:18 +0000 (10:35 -0700)
When make install is run during package building, DESTDIR parameter is passed, e.g.:
$ rpm --eval %makeinstall_std
make DESTDIR=/root/rpmbuild/BUILDROOT/%{name}-%{version}-%{release}-rosa2016.1.x86_64-buildroot install

Without DESTDIR build scripts tried to create symlinks outside of the build root:
make[3]: Entering directory '/tmp/abf/rpmbuild/BUILD/cifs-utils-6.10'
(cd /sbin && ln -sf mount.cifs mount.smb3)
ln: failed to create symbolic link 'mount.smb3': Permission denied

The same fix was introduced in Arch Linux package when updating from 6.9 to 6.10:
https://git.archlinux.org/svntogit/packages.git/commit/trunk/PKGBUILD?h=packages/cifs-utils&id=c75b246a762ea9b90db404dfebc6d35d5b16972f

Makefile.am

index 8e376bec6f24b64c036da9c8668b19a5a072ea96..a2bb6119c3e6c3c531b91934f4594d5973c6c7f2 100644 (file)
@@ -118,11 +118,11 @@ endif
 SUBDIRS = contrib
 
 install-exec-hook:
-       (cd $(ROOTSBINDIR) && ln -sf mount.cifs mount.smb3)
+       (cd $(DESTDIR)$(ROOTSBINDIR) && ln -sf mount.cifs mount.smb3)
 
 install-data-hook:
-       (cd $(man8dir) && ln -sf mount.cifs.8 mount.smb3.8)
+       (cd $(DESTDIR)$(man8dir) && ln -sf mount.cifs.8 mount.smb3.8)
 
 uninstall-hook:
-       (cd $(ROOTSBINDIR) && rm -f $(ROOTSBINDIR)/mount.smb3)
-       (cd $(man8dir) && rm -f $(man8dir)/mount.smb3.8)
+       (cd $(DESTDIR)$(ROOTSBINDIR) && rm -f $(ROOTSBINDIR)/mount.smb3)
+       (cd $(DESTDIR)$(man8dir) && rm -f $(DESTDIR)$(man8dir)/mount.smb3.8)