From 773467dee4e79e0dfd97c5ee98fc253dead3302c Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Thu, 13 May 2021 16:16:50 +0200 Subject: Refactor macOS bundle generation to avoid "quarantine" macOS Big Sur 11.3 introduced a new "security feature" such that app bundles created from existing bundle templates in downloaded files (tar distibutions, expanded) could no longer be executed without unsetting the "quarantine" attribute. This commit fixes this by creating all bundles from scratch. Known *workaround* for older tarballs and snapshots: $ xattr -d -r com.apple.quarantine xxx.app --- test/Makefile | 57 +++++++++++++++++---------------------------------------- 1 file changed, 17 insertions(+), 40 deletions(-) (limited to 'test/Makefile') diff --git a/test/Makefile b/test/Makefile index b3f213119..e7f71af46 100644 --- a/test/Makefile +++ b/test/Makefile @@ -1,7 +1,7 @@ # -# Test/example program makefile for the Fast Light Tool Kit (FLTK). +# Test/example program Makefile for the Fast Light Tool Kit (FLTK). # -# Copyright 1998-2020 by Bill Spitzak and others. +# Copyright 1998-2021 by Bill Spitzak and others. # # This library is free software. Distribution and use rights are outlined in # the file "COPYING" which should have been included with this file. If this @@ -208,35 +208,9 @@ depend: $(CPPFILES) # Automatically generated dependencies... include makedepend -# Additional dependencies... -cairo_test.o: ../FL/Fl_Bitmap.H -cairo_test.o: ../FL/Fl_Box.H -cairo_test.o: ../FL/Fl_Cairo_Window.H -cairo_test.o: ../FL/Fl_Device.H -cairo_test.o: ../FL/Fl_Double_Window.H -cairo_test.o: ../FL/fl_draw.H -cairo_test.o: ../FL/Fl_Graphics_Driver.H -cairo_test.o: ../FL/Fl_Group.H -cairo_test.o: ../FL/Fl.H -cairo_test.o: ../FL/Fl_Image.H -cairo_test.o: ../FL/Fl_Pixmap.H -cairo_test.o: ../FL/Fl_Plugin.H -cairo_test.o: ../FL/Fl_Preferences.H -cairo_test.o: ../FL/Fl_RGB_Image.H -cairo_test.o: ../FL/fl_utf8.h -cairo_test.o: ../FL/Fl_Widget.H -cairo_test.o: ../FL/Fl_Window.H -cairo_test.o: ../FL/math.h -cairo_test.o: ../FL/platform.H - clean: $(RM) $(ALL) $(GLALL) core - for file in $(ALL) $(GLALL); do \ - if [ $$file = "blocks" -o $$file = "checkers" -o $$file = "sudoku" ]; then \ - continue; \ - fi; \ - $(OSX_ONLY) rm -f -r $$file.app; \ - done + $(RMDIR) *.app $(RM) *.o core.* *~ *.bck *.bak $(RM) CubeViewUI.cxx CubeViewUI.h $(RM) checkers_pieces.cxx checkers_pieces.h @@ -250,9 +224,6 @@ clean: $(RM) tabs.cxx tabs.h $(RM) tree.cxx tree.h $(RM) valuators.cxx valuators.h - $(OSX_ONLY) $(RM) blocks.app/Contents/MacOS/blocks$(EXEEXT) - $(OSX_ONLY) $(RM) checkers.app/Contents/MacOS/checkers$(EXEEXT) - $(OSX_ONLY) $(RM) sudoku.app/Contents/MacOS/sudoku$(EXEEXT) install: all echo "Installing example programs to $(DESTDIR)$(docdir)/examples..." @@ -288,7 +259,6 @@ install-osx: $(INSTALL_DIR) $(DESTDIR)/Applications/$$game.app/Contents/Resources; \ fi; \ $(INSTALL_DATA) $$game.app/Contents/Info.plist $(DESTDIR)/Applications/$$game.app/Contents; \ - $(INSTALL_DATA) $$game.app/Contents/PkgInfo $(DESTDIR)/Applications/$$game.app/Contents; \ $(INSTALL_BIN) $$game.app/Contents/MacOS/$$game $(DESTDIR)/Applications/$$game.app/Contents/MacOS; \ $(INSTALL_DATA) $$game.app/Contents/Resources/$$game.icns $(DESTDIR)/Applications/$$game.app/Contents/Resources; \ done @@ -348,16 +318,21 @@ buttons$(EXEEXT): buttons.o blocks$(EXEEXT): blocks.o echo Linking $@... $(CXX) $(ARCHFLAGS) $(CXXFLAGS) $(LDFLAGS) blocks.o -o $@ $(AUDIOLIBS) $(LINKFLTK) $(LDLIBS) - $(OSX_ONLY) $(RM) -f -r blocks.app/Contents/MacOS - $(OSX_ONLY) mkdir blocks.app/Contents/MacOS + $(OSX_ONLY) $(RM) -f -r blocks.app + $(OSX_ONLY) mkdir -p blocks.app/Contents/MacOS blocks.app/Contents/Resources $(OSX_ONLY) $(INSTALL_BIN) blocks$(EXEEXT) blocks.app/Contents/MacOS + $(OSX_ONLY) $(INSTALL_BIN) mac-resources/blocks.icns blocks.app/Contents/Resources/ + $(OSX_ONLY) $(INSTALL_BIN) mac-resources/blocks.plist blocks.app/Contents/Info.plist checkers$(EXEEXT): checkers.o checkers_pieces.o echo Linking $@... $(CXX) $(ARCHFLAGS) $(CXXFLAGS) $(LDFLAGS) checkers.o checkers_pieces.o -o $@ $(LINKFLTKIMG) $(LDLIBS) - $(OSX_ONLY) $(RM) -f -r checkers.app/Contents/MacOS - $(OSX_ONLY) mkdir checkers.app/Contents/MacOS + $(OSX_ONLY) $(RM) -f -r checkers.app + $(OSX_ONLY) mkdir -p checkers.app/Contents/MacOS checkers.app/Contents/Resources $(OSX_ONLY) $(INSTALL_BIN) checkers$(EXEEXT) checkers.app/Contents/MacOS + $(OSX_ONLY) $(INSTALL_BIN) mac-resources/checkers.icns checkers.app/Contents/Resources/ + $(OSX_ONLY) $(INSTALL_BIN) mac-resources/checkers.plist checkers.app/Contents/Info.plist + checkers.cxx: checkers_pieces.h checkers_pieces.o: checkers_pieces.h checkers_pieces.h: checkers_pieces.fl @@ -396,7 +371,7 @@ editor$(EXEEXT): editor.o echo Linking $@... $(CXX) $(ARCHFLAGS) $(CXXFLAGS) $(LDFLAGS) editor.o -o $@ $(LINKFLTKIMG) $(LDLIBS) $(OSX_ONLY) ../fltk-config --post $@ - $(OSX_ONLY) cp -f editor-Info.plist editor.app/Contents/Info.plist + $(OSX_ONLY) cp -f mac-resources/editor.plist editor.app/Contents/Info.plist fast_slow$(EXEEXT): fast_slow.o fast_slow.cxx: fast_slow.fl ../fluid/fluid$(EXEEXT) @@ -548,9 +523,11 @@ subwindow$(EXEEXT): subwindow.o sudoku: sudoku.o echo Linking $@... $(CXX) $(ARCHFLAGS) $(CXXFLAGS) $(LDFLAGS) sudoku.o -o $@ $(AUDIOLIBS) $(LINKFLTKIMG) $(LDLIBS) - $(OSX_ONLY) $(RM) -r -f sudoku.app/Contents/MacOS - $(OSX_ONLY) mkdir sudoku.app/Contents/MacOS + $(OSX_ONLY) $(RM) -f -r sudoku.app + $(OSX_ONLY) mkdir -p sudoku.app/Contents/MacOS sudoku.app/Contents/Resources $(OSX_ONLY) $(INSTALL_BIN) sudoku$(EXEEXT) sudoku.app/Contents/MacOS + $(OSX_ONLY) $(INSTALL_BIN) mac-resources/sudoku.icns sudoku.app/Contents/Resources/ + $(OSX_ONLY) $(INSTALL_BIN) mac-resources/sudoku.plist sudoku.app/Contents/Info.plist sudoku.exe: sudoku.o sudoku.rc echo Linking $@... -- cgit v1.2.3