1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
#!/usr/bin/make -f
#export DH_VERBOSE = 1
include /usr/share/GNUstep/debian/config.mk
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# Support for --GNU-Debug option.
export DEB_CPPFLAGS_MAINT_APPEND = -DDEBUG
# EOModeler is installed as private library; EOModelEditor and the
# GDL2 palette link with it. The adaptors are also installed as
# private; their login panels link with the corresponding framework.
private_dir := $(GNUSTEP_SYSTEM_LIBRARIES)/gnustep-dl2
export DEB_LDFLAGS_MAINT_APPEND = -Wl,-rpath,$(private_dir)
# Reset the docs variable if it's an arch:any build.
ifeq (,$(filter gnustep-dl2-doc,$(shell dh_listpackages)))
docs :=
palette := debian/gnustep-dl2/usr/share/GNUstep/Palettes/GDL2.palette
endif
# Define Debian-specific SONAME due to an ABI break.
soname := EOControl_INTERFACE_VERSION=0deb \
EOAccess_INTERFACE_VERSION=0deb \
EOInterface_INTERFACE_VERSION=0deb
%:
dh $@
override_dh_auto_build:
dh_auto_build -- $(verbose) $(optim) $(docs) $(soname) \
$(shell dpkg-buildflags --export=cmdline)
override_dh_auto_install:
dh_auto_install -- $(verbose) $(docs) $(soname) \
DESTDIR=$(CURDIR)/debian/tmp
# Reinstall EOModeler and the adaptors as private libraries.
dh_auto_install -- -C Apps/EOModeler $(verbose) \
GNUSTEP_SYSTEM_LIBRARIES=$(private_dir)
dh_auto_install -- -C EOAdaptors $(verbose) \
GNUSTEP_SYSTEM_LIBRARIES=$(private_dir)
rm debian/tmp$(GNUSTEP_SYSTEM_LIBRARIES)/libEOModeler*
rm debian/tmp$(GNUSTEP_SYSTEM_LIBRARIES)/libPostgreSQLEOAdaptor.so*
rm debian/tmp$(GNUSTEP_SYSTEM_LIBRARIES)/libSQLite3EOAdaptor.so*
rm debian/tmp$(GNUSTEP_SYSTEM_HEADERS)/SQLite3EOAdaptor
rm debian/tmp$(GNUSTEP_SYSTEM_FRAMEWORKS)/SQLite3EOAdaptor.framework/Headers
$(RM) -r debian/tmp$(GNUSTEP_SYSTEM_FRAMEWORKS)/SQLite3EOAdaptor.framework/Versions/0/Headers
# Convert the app icon to PNG as AppStream does not recognise TIFF.
convert Apps/EOModelEditor/Resources/EOModelEditor.tiff \
debian/tmp$(GNUSTEP_SYSTEM_APPS)/EOModelEditor.app/Resources/app-icon.png
ifneq (,$(docs))
cp debian/gnustep-dl2-doc.install.in debian/gnustep-dl2-doc.install
cp debian/gnustep-dl2-doc.links.in debian/gnustep-dl2-doc.links
endif
override_dh_auto_clean:
dh_auto_clean -- $(verbose) $(docs)
$(RM) debian/gnustep-dl2-doc.install debian/gnustep-dl2-doc.links
override_dh_auto_test:
dh_auto_install -- $(soname) DESTDIR=$(CURDIR)/test
./debian/tests/tools
$(RM) test.* example.db library.eomodel Examples/library.gsdoc
$(RM) -r test
# Cleaning is absolutely mandatory otherwise build artifacts sneak
# into the -doc package.
$(MAKE) -C Examples clean
execute_before_dh_link:
gsdh_gnustep -pgnustep-dl2 --app --appsupport --bug-script
gsdh_gnustep -pgnustep-dl2-postgresql-adaptor --no-move --bug-script
gsdh_gnustep -pgnustep-dl2-sqlite-adaptor --no-move --bug-script
gsdh_gnustep --remaining-packages
override_dh_fixperms-arch:
# Fix three lintian warnings executable-not-elf-or-script and
# I: image-file-has-conflicting-name.
find debian/gnustep-dl2/usr/share/GNUstep/EOModelEditor.app \
-type f -executable -exec chmod -x '{}' \;
mv $(palette)/GDL2Palette.tiff $(palette)/GDL2Palette.png
dh_fixperms
# Don't add ldconfig triggers for adaptors and EOModeler.
override_dh_makeshlibs:
dh_makeshlibs -n -pgnustep-dl2
dh_makeshlibs -n -pgnustep-dl2-sqlite-adaptor
dh_makeshlibs -n -pgnustep-dl2-postgresql-adaptor
dh_makeshlibs --remaining-packages
|