From 4b720691c45e1a803bdcc01567ac1ec52da62740 Mon Sep 17 00:00:00 2001 From: Fabian Raetz Date: Fri, 18 Jul 2014 13:50:05 -0700 Subject: [PATCH] Fix install_desktop_files non-portability and add out-of-tree support. Prepend $(srcdir)/ to the sources in install commands, and get rid of the -T flag, as it's GNU coreutils install-specific; some versions of install don't support -T at all, and FreeBSD's install has a -T flag that takes an argument and has a completely different meaning. Fixes bug 10292; fix came from http://marc.info/?l=openbsd-ports&m=140571104528980&w=2 Change-Id: I8e80d475a728a17848736be043f97d2b90a0be82 Reviewed-on: https://code.wireshark.org/review/3107 Reviewed-by: Guy Harris --- Makefile.am | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Makefile.am b/Makefile.am index 034c844504..c835d91966 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1119,19 +1119,24 @@ patch-bzip2: distdir # Yes, that violate's autofoo's principle of relocatability. # What we (probably) should do is check `pkg-config --variable=prefix gtk+-2.0` to know where # to install this stuff... +# +# Do not use the -T flag to the install command, as it's not portable. +# Some versions of install don't support a -T flag at all, and the +# FreeBSD install command has a -T flag that takes an argument and +# that has completely different semantics. install_desktop_files: mkdir -p $(DESTDIR)/usr/share/{mime/packages,applications} - install -m 644 -T wireshark-mime-package.xml $(DESTDIR)/usr/share/mime/packages/wireshark.xml + install -m 644 $(srcdir)/wireshark-mime-package.xml $(DESTDIR)/usr/share/mime/packages/wireshark.xml if test x$(DESKTOP_FILE_INSTALL) != x ; then \ - $(DESKTOP_FILE_INSTALL) --dir $(DESTDIR)/usr/share/applications wireshark.desktop; \ + $(DESKTOP_FILE_INSTALL) --dir $(DESTDIR)/usr/share/applications $(srcdir)/wireshark.desktop; \ else \ - install -m 644 -T wireshark.desktop $(DESTDIR)/usr/share/applications/wireshark.desktop; \ + install -m 644 $(srcdir)/wireshark.desktop $(DESTDIR)/usr/share/applications/wireshark.desktop; \ fi for size in 16 24 32 48 64 128 256; \ do \ mkdir -p $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/{apps,mimetypes} ; \ - install -m 644 image/wsicon$${size}.png $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps/wireshark.png ; \ - install -m 644 -T image/WiresharkDoc-$${size}.png $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/mimetypes/application-wireshark-doc.png ; \ + install -m 644 $(srcdir)/image/wsicon$${size}.png $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps/wireshark.png ; \ + install -m 644 $(srcdir)/image/WiresharkDoc-$${size}.png $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/mimetypes/application-wireshark-doc.png ; \ done mkdir -p $(DESTDIR)/usr/share/icons/hicolor/scalable/apps install -m 644 image/wsicon.svg $(DESTDIR)/usr/share/icons/hicolor/scalable/apps/wireshark.svg