diff options
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | .pc/.quilt_patches | 1 | ||||
-rw-r--r-- | .pc/.quilt_series | 1 | ||||
-rw-r--r-- | .pc/.version | 1 | ||||
-rw-r--r-- | .pc/applied-patches | 2 | ||||
-rw-r--r-- | .pc/hardening.patch/Makefile | 742 | ||||
-rw-r--r-- | .pc/libexec.patch/Makefile | 742 | ||||
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | debian/changelog | 518 | ||||
-rw-r--r-- | debian/compat | 1 | ||||
-rw-r--r-- | debian/control | 75 | ||||
-rw-r--r-- | debian/copyright | 415 | ||||
-rw-r--r-- | debian/docs | 2 | ||||
-rw-r--r-- | debian/install | 2 | ||||
-rw-r--r-- | debian/manpages | 1 | ||||
-rw-r--r-- | debian/menu | 2 | ||||
-rw-r--r-- | debian/patches/hardening.patch | 25 | ||||
-rw-r--r-- | debian/patches/libexec.patch | 16 | ||||
-rw-r--r-- | debian/patches/series | 2 | ||||
-rwxr-xr-x | debian/rules | 16 | ||||
-rw-r--r-- | debian/shotwell-common.install | 1 | ||||
-rw-r--r-- | debian/shotwell.1 | 14 | ||||
-rw-r--r-- | debian/shotwell.lintian-overrides | 1 | ||||
-rw-r--r-- | debian/source/format | 1 | ||||
-rw-r--r-- | debian/source/options | 2 | ||||
-rw-r--r-- | debian/watch | 2 |
26 files changed, 2590 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c6795b5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.bzr +.bzrignore diff --git a/.pc/.quilt_patches b/.pc/.quilt_patches new file mode 100644 index 0000000..6857a8d --- /dev/null +++ b/.pc/.quilt_patches @@ -0,0 +1 @@ +debian/patches diff --git a/.pc/.quilt_series b/.pc/.quilt_series new file mode 100644 index 0000000..c206706 --- /dev/null +++ b/.pc/.quilt_series @@ -0,0 +1 @@ +series diff --git a/.pc/.version b/.pc/.version new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/.pc/.version @@ -0,0 +1 @@ +2 diff --git a/.pc/applied-patches b/.pc/applied-patches new file mode 100644 index 0000000..2535d18 --- /dev/null +++ b/.pc/applied-patches @@ -0,0 +1,2 @@ +hardening.patch +libexec.patch diff --git a/.pc/hardening.patch/Makefile b/.pc/hardening.patch/Makefile new file mode 100644 index 0000000..18f1e02 --- /dev/null +++ b/.pc/hardening.patch/Makefile @@ -0,0 +1,742 @@ +PROGRAM = shotwell +PROGRAM_THUMBNAILER = shotwell-video-thumbnailer +PROGRAM_MIGRATOR = shotwell-settings-migrator + +VERSION = 0.18.1 +GITVER := $(shell git log -n 1 2>/dev/null | head -n 1 | awk '{print $$2}') +GETTEXT_PACKAGE = $(PROGRAM) +BUILD_ROOT = 1 + +ifndef VALAC +VALAC := $(shell which valac) +else +VALAC := $(shell which $(VALAC)) +endif + +VALAC_VERSION := `$(VALAC) --version | awk '{print $$2}'` +MIN_VALAC_VERSION := 0.20.1 +INSTALL_PROGRAM := install +INSTALL_DATA := install -m 644 + +export MIN_GLIB_VERSION=2.30.0 + +# defaults that may be overridden by configure.mk +PREFIX=/usr/local +BUILD_RELEASE=1 +LIB=lib + +-include configure.mk +ifndef LIBEXECDIR +LIBEXECDIR=$(PREFIX)/libexec/shotwell +endif + +CORE_SUPPORTED_LANGUAGES=$(shell cat po/LINGUAS) + +LOCAL_LANG_DIR=locale-langpack +SYSTEM_LANG_DIR := $(DESTDIR)$(PREFIX)/share/locale + +VALAFLAGS := -g --enable-checking --target-glib=2.32 --thread --fatal-warnings --enable-experimental --enable-deprecated $(USER_VALAFLAGS) +ifdef UNITY_SUPPORT +VALAFLAGS := $(VALAFLAGS) --define UNITY_SUPPORT +endif + +ifdef WITH_GPHOTO_25 +VALAFLAGS := $(VALAFLAGS) --define WITH_GPHOTO_25 +endif + +DEFINES := _PREFIX='"$(PREFIX)"' _VERSION='"$(VERSION)"' GETTEXT_PACKAGE='"$(GETTEXT_PACKAGE)"' \ + _LANG_SUPPORT_DIR='"$(SYSTEM_LANG_DIR)"' _LIB='"${LIB}"' _LIBEXECDIR='"$(LIBEXECDIR)"' + +ifdef GITVER +DEFINES := $(DEFINES) _GIT_VERSION='"$(GITVER)"' +VALAFLAGS := $(VALAFLAGS) --define=_GITVERSION +endif + +EXPORT_FLAGS = -export-dynamic + +include units.mk +include plugins/plugins.mk + +UNUNITIZED_SRC_FILES = \ + main.vala \ + AppWindow.vala \ + CollectionPage.vala \ + Thumbnail.vala \ + ThumbnailCache.vala \ + CheckerboardLayout.vala \ + PhotoPage.vala \ + Page.vala \ + SortedList.vala \ + Dimensions.vala \ + Box.vala \ + Photo.vala \ + Orientation.vala \ + BatchImport.vala \ + Dialogs.vala \ + Resources.vala \ + Debug.vala \ + ColorTransformation.vala \ + Properties.vala \ + CustomComponents.vala \ + Event.vala \ + International.vala \ + AppDirs.vala \ + PixbufCache.vala \ + CommandManager.vala \ + Commands.vala \ + SlideshowPage.vala \ + LibraryFiles.vala \ + Printing.vala \ + Tag.vala \ + Screensaver.vala \ + Exporter.vala \ + DirectoryMonitor.vala \ + LibraryMonitor.vala \ + VideoSupport.vala \ + Tombstone.vala \ + MetadataWriter.vala \ + Application.vala \ + TimedQueue.vala \ + MediaPage.vala \ + MediaDataRepresentation.vala \ + DesktopIntegration.vala \ + MediaInterfaces.vala \ + MediaMetadata.vala \ + VideoMetadata.vala \ + MediaMonitor.vala \ + PhotoMonitor.vala \ + VideoMonitor.vala \ + SearchFilter.vala \ + MediaViewTracker.vala \ + UnityProgressBar.vala \ + Upgrades.vala + +THUMBNAILER_SRC_FILES = \ + shotwell-video-thumbnailer.vala + +VAPI_FILES = \ + ExtendedPosix.vapi \ + LConv.vapi \ + libexif.vapi \ + libraw.vapi \ + webkitgtk-3.0.vapi \ + unique-3.0.vapi \ + unity.vapi + +DEPS_FILES = \ + webkitgtk-3.0.deps \ + unique-3.0.deps \ + unity.deps + +ifdef WITH_GPHOTO_25 +GPHOTO_VAPI_FILE = vapi/gphoto-2.5/libgphoto2.vapi +else +GPHOTO_VAPI_FILE = vapi/gphoto-2.4/libgphoto2.vapi +endif + +RESOURCE_FILES = \ + collection.ui \ + direct.ui \ + direct_context.ui \ + events_directory.ui \ + event.ui \ + fullscreen.ui \ + import_queue.ui \ + import.ui \ + media.ui \ + offline.ui \ + photo.ui \ + photo_context.ui \ + savedsearch.ui \ + search_bar.ui \ + search_sidebar_context.ui \ + set_background_dialog.glade \ + shotwell.glade \ + shotwell.xml \ + sidebar_default_context.ui \ + tag_sidebar_context.ui \ + tags.ui \ + top.ui \ + trash.ui + +SYS_INTEGRATION_FILES = \ + shotwell.appdata.xml \ + shotwell.desktop.head \ + shotwell-viewer.desktop.head \ + org.yorba.shotwell.gschema.xml \ + org.yorba.shotwell-extras.gschema.xml \ + shotwell.convert + +SCHEMA_FILES := $(shell ls misc/*.gschema.xml) + +SRC_HEADER_FILES = \ + gphoto.h + +TEXT_FILES = \ + AUTHORS \ + COPYING \ + INSTALL \ + MAINTAINERS \ + NEWS \ + README \ + THANKS + +ICON_FILES = \ + all-rejected.png \ + crop-pivot-reticle.png \ + crop.svg \ + drag_nub.png \ + enhance.png \ + five-star-filter.svg \ + five-stars.svg \ + flag-page.png \ + flag-trinket.png \ + four-star-filter-plus.svg \ + four-stars.svg \ + image-adjust.svg \ + import-all.png \ + import.svg \ + make-primary.svg \ + merge.svg \ + multiple-events.png \ + multiple-tags.png \ + no-event.png \ + noninterpretable-video.png \ + one-event.png \ + one-star-filter-plus.svg \ + one-star.svg \ + one-tag.png \ + pin-toolbar.svg \ + publish.png \ + redeye.png \ + rejected.svg \ + shotwell-16.svg \ + shotwell-24.svg \ + shotwell.ico \ + shotwell-street.jpg \ + shotwell.svg \ + sprocket.png \ + straighten.svg \ + three-star-filter-plus.svg \ + three-stars.svg \ + two-star-filter-plus.svg \ + two-stars.svg \ + videos-page.png \ + zoom-in.png \ + zoom-out.png \ + slideshow-extension-point.png \ + generic-plugin.png \ + filter-raw.png \ + filter-photos.png \ + filter-videos.png \ + filter-flagged.png + +VAPI_DIRS = \ + ./vapi + +ifdef WITH_GPHOTO_25 +VAPI_DIRS += ./vapi/gphoto-2.5 +else +VAPI_DIRS += ./vapi/gphoto-2.4 +endif + + +HEADER_DIRS = \ + ./vapi + +LOCAL_PKGS = \ + ExtendedPosix \ + posix \ + LConv + +EXT_PKGS = \ + atk \ + gdk-3.0 \ + gee-0.8 \ + gexiv2 \ + gio-unix-2.0 \ + glib-2.0 \ + gmodule-2.0 \ + gstreamer-1.0 \ + gstreamer-base-1.0 \ + gstreamer-pbutils-1.0 \ + gtk+-3.0 \ + gudev-1.0 \ + libexif \ + libgphoto2 \ + json-glib-1.0 \ + libraw \ + libsoup-2.4 \ + libxml-2.0 \ + sqlite3 \ + webkitgtk-3.0 +ifdef UNITY_SUPPORT +EXT_PKGS += unity +endif + +THUMBNAILER_PKGS = \ + gtk+-3.0 \ + gee-0.8 \ + gstreamer-1.0 \ + gstreamer-base-1.0 + +DIRECT_LIBS = + +EXT_PKG_VERSIONS = \ + gee-0.8 >= 0.8.5 \ + gexiv2 >= 0.4.90 \ + gio-unix-2.0 >= 2.20 \ + glib-2.0 >= $(MIN_GLIB_VERSION) \ + gmodule-2.0 >= 2.24.0 \ + gstreamer-1.0 >= 1.0.0 \ + gstreamer-base-1.0 >= 1.0.0 \ + gstreamer-plugins-base-1.0 >= 1.0.0 \ + gstreamer-pbutils-1.0 >= 1.0.0 \ + gtk+-3.0 >= 3.6.0 \ + gudev-1.0 >= 145 \ + libexif >= 0.6.16 \ + libgphoto2 >= 2.4.2 \ + libraw >= 0.13.2 \ + libsoup-2.4 >= 2.26.0 \ + libxml-2.0 >= 2.6.32 \ + rest-0.7 >= 0.7 \ + sqlite3 >= 3.5.9 \ + webkitgtk-3.0 >= 1.4.0 \ + gnome-doc-utils + +DIRECT_LIBS_VERSIONS = + +VALA_PKGS = $(EXT_PKGS) $(LOCAL_PKGS) + +ifndef BUILD_DIR +BUILD_DIR=src +endif + +DESKTOP_APP_SHORT_NAME="Shotwell" +DESKTOP_APP_FULL_NAME="Shotwell Photo Manager" +DESKTOP_APPLICATION_COMMENT="Organize your photos" +DESKTOP_APPLICATION_CLASS="Photo Manager" +DESKTOP_APP_KEYWORDS="album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;organize;photo;photographs;photos;picture;pictures;photography;print;publish;rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo;" +DIRECT_EDIT_DESKTOP_APP_SHORT_NAME="Shotwell" +DIRECT_EDIT_DESKTOP_APP_FULL_NAME="Shotwell Photo Viewer" +DIRECT_EDIT_DESKTOP_APPLICATION_CLASS="Photo Viewer" +TEMPORARY_DESKTOP_FILES = misc/shotwell.desktop misc/shotwell-viewer.desktop + +# for help page and translation .po files +include help/Makefile.am + +# Process the units +UNIT_MKS := $(foreach unit,$(UNITS),src/$(unit)/mk/$(notdir $(unit)).mk) +include $(UNIT_MKS) + +UNITIZE_DIR := src/.unitize +UNITIZE_ENTRIES := $(foreach unit,$(APP_UNITS),$(UNITIZE_DIR)/_$(unit)_unitize_entry.vala) +UNITIZE_INITS := $(foreach nm,$(UNIT_NAMESPACES),$(UNITIZE_DIR)/_$(nm)Internals.vala) +UNITIZE_STAMP := $(UNITIZE_DIR)/.unitized + +PLUGINS_DIR := plugins +PLUGINS_SO := $(foreach plugin,$(PLUGINS),$(PLUGINS_DIR)/$(plugin)/$(plugin).so) +EXTRA_PLUGINS_SO := $(foreach plugin,$(EXTRA_PLUGINS),$(PLUGINS_DIR)/$(plugin)/$(plugin).so) +PLUGINS_DIST_FILES := `$(MAKE) --directory=plugins --no-print-directory listfiles` + +THUMBNAILER_DIR := thumbnailer +THUMBNAILER_BIN := $(THUMBNAILER_DIR)/$(PROGRAM_THUMBNAILER) +EXPANDED_THUMBNAILER_SRC_FILES := $(foreach file, $(THUMBNAILER_SRC_FILES), $(THUMBNAILER_DIR)/$(file)) + +MIGRATOR_DIR := settings-migrator +MIGRATOR_BIN := $(MIGRATOR_DIR)/$(PROGRAM_MIGRATOR) + +EXPANDED_CORE_PO_FILES := $(foreach po,$(CORE_SUPPORTED_LANGUAGES),po/$(po).po) + +EXPANDED_SRC_FILES := $(UNITIZED_SRC_FILES) $(foreach src,$(UNUNITIZED_SRC_FILES),src/$(src)) \ + $(UNITIZE_INITS) $(UNITIZE_ENTRIES) +EXPANDED_DIST_SRC_FILES := $(UNITIZED_SRC_FILES) $(foreach src,$(UNUNITIZED_SRC_FILES),src/$(src)) +EXPANDED_C_FILES := $(foreach file,$(subst src,$(BUILD_DIR),$(EXPANDED_SRC_FILES)),$(file:.vala=.c)) +EXPANDED_OBJ_FILES := $(foreach file,$(subst src,$(BUILD_DIR),$(EXPANDED_SRC_FILES)),$(file:.vala=.o)) +EXPANDED_SYS_INTEGRATION_FILES := $(foreach file,$(SYS_INTEGRATION_FILES),misc/$(file)) +EXPANDED_ICON_FILES := $(foreach file,$(ICON_FILES),icons/$(file)) +EXPANDED_VAPI_FILES := $(foreach vapi,$(VAPI_FILES),vapi/$(vapi)) +EXPANDED_DEPS_FILES := $(foreach deps,$(DEPS_FILES),vapi/$(deps)) +EXPANDED_SRC_HEADER_FILES := $(foreach header,$(SRC_HEADER_FILES),vapi/$(header)) +EXPANDED_RESOURCE_FILES := $(foreach res,$(RESOURCE_FILES),ui/$(res)) +EXPANDED_DOC_IMAGES := $(foreach file,$(DOC_IMAGES),help/C/figures/$(file)) +EXPANDED_DOC_PAGES := $(foreach page,$(DOC_PAGES),help/C/$(page)) +EXPANDED_DOC_PO := $(foreach lang,$(DOC_LINGUAS),help/$(lang)/$(lang).po) +EXPANDED_XLAT_DOC_PAGES := \ + $(foreach lang,$(DOC_LINGUAS),\ + $(foreach page,$(DOC_PAGES),help/$(lang)/$(page))) +VALA_STAMP := $(BUILD_DIR)/.stamp +LANG_STAMP := $(LOCAL_LANG_DIR)/.langstamp +DOC_LANG_STAMP := help/.langstamp +MAKE_FILES := Makefile $(CONFIG_IN) $(UNIT_MKS) unitize.mk units.mk +PC_INPUT := shotwell-plugin-dev-1.0.m4 +PC_FILE := $(PC_INPUT:.m4=.pc) + +DIST_FILES = Makefile configure chkver $(EXPANDED_DIST_SRC_FILES) $(EXPANDED_VAPI_FILES) \ + $(EXPANDED_DEPS_FILES) $(EXPANDED_SRC_HEADER_FILES) $(EXPANDED_RESOURCE_FILES) $(TEXT_FILES) \ + $(EXPANDED_ICON_FILES) $(EXPANDED_SYS_INTEGRATION_FILES) $(EXPANDED_CORE_PO_FILES) \ + po/LINGUAS po/POTFILES.in po/POTFILES.skip \ + $(EXPANDED_DOC_PAGES) $(EXPANDED_DOC_IMAGES) $(EXPANDED_DOC_PO) help/Makefile.am \ + apport/shotwell.py $(UNIT_RESOURCES) $(UNIT_MKS) \ + unitize.mk units.mk $(PC_INPUT) $(PLUGINS_DIST_FILES) \ + vapi/gphoto-2.5/libgphoto2.vapi vapi/gphoto-2.4/libgphoto2.vapi \ + $(EXPANDED_THUMBNAILER_SRC_FILES) $(MIGRATOR_BIN) + +DIST_TAR = $(PROGRAM)-$(VERSION).tar +DIST_TAR_XZ = $(DIST_TAR).xz +PACKAGE_ORIG_XZ = $(PROGRAM)_`parsechangelog | grep Version | sed 's/.*: //'`.orig.tar.xz + +VALAFLAGS := $(VALAFLAGS) $(VALA_DEFINES) --vapidir=plugins/ + +VALA_CFLAGS := `pkg-config --cflags $(EXT_PKGS) $(DIRECT_LIBS) gthread-2.0` \ + $(foreach hdir,$(HEADER_DIRS),-I$(hdir)) \ + $(foreach def,$(DEFINES),-D$(def)) + +VALA_LDFLAGS := `pkg-config --libs $(EXT_PKGS) $(DIRECT_LIBS) gthread-2.0` + +# REQUIRED_CFLAGS absolutely get appended to CFLAGS, whatever the +# the value of CFLAGS in the environment +REQUIRED_CFLAGS := -fPIC + +# setting CFLAGS in configure.mk overrides build type +ifndef CFLAGS +ifdef BUILD_DEBUG +CFLAGS = -O0 -g -pipe +PLUGIN_CFLAGS = -O0 -g -pipe +else +CFLAGS = -O2 -g -pipe +PLUGIN_CFLAGS = -O2 -g -pipe +endif +endif + +CFLAGS += $(PROFILE_FLAGS) $(REQUIRED_CFLAGS) +PLUGIN_CFLAGS += $(PROFILE_FLAGS) $(REQUIRED_CFLAGS) + +# Required for gudev-1.0 +CFLAGS += -DG_UDEV_API_IS_SUBJECT_TO_CHANGE + +all: pkgcheck valacheck desktop + +ifdef ENABLE_BUILD_FOR_GLADE +all: $(PLUGINS_DIR) lib$(PROGRAM).so $(PROGRAM) $(PC_FILE) +else +all: $(PLUGINS_DIR) $(PROGRAM) $(PC_FILE) +endif + + +include src/plugins/mk/interfaces.mk + +$(LANG_STAMP): $(EXPANDED_CORE_PO_FILES) + @$(foreach po,$(CORE_SUPPORTED_LANGUAGES),`mkdir -p $(LOCAL_LANG_DIR)/$(po)/LC_MESSAGES ; \ + msgfmt -c -o $(LOCAL_LANG_DIR)/$(po)/LC_MESSAGES/shotwell.mo po/$(po).po`) + @touch $(LANG_STAMP) + +clean: + rm -f $(EXPANDED_C_FILES) + rm -f $(EXPANDED_OBJ_FILES) + rm -f $(VALA_STAMP) + rm -rf $(PROGRAM)-$(VERSION) + rm -f $(PROGRAM) + rm -f $(THUMBNAILER_DIR)/$(PROGRAM_THUMBNAILER) + rm -rf $(LOCAL_LANG_DIR) + rm -f $(LANG_STAMP) + rm -f $(DOC_LANG_STAMP) + rm -f $(EXPANDED_XLAT_DOC_PAGES) + rm -f $(TEMPORARY_DESKTOP_FILES) + rm -f lib$(PROGRAM).so + rm -rf $(UNITIZE_DIR) + rm -f $(PLUGIN_VAPI) + rm -f $(PLUGIN_HEADER) + rm -f $(PLUGIN_DEPS) + rm -f $(PLUGINS_SO) + rm -f $(EXTRA_PLUGINS_SO) + @$(MAKE) --directory=plugins clean + rm -f $(PC_FILE) + +cleantemps: + rm -f $(EXPANDED_C_FILES) + rm -f $(EXPANDED_OBJ_FILES) + rm -f $(VALA_STAMP) + rm -f $(LANG_STAMP) + rm -f $(DOC_LANG_STAMP) + rm -f $(TEMPORARY_DESKTOP_FILES) + @$(MAKE) --directory=plugins cleantemps + rm -f misc/gschemas.compiled + +package: + $(MAKE) dist + cp $(DIST_TAR_XZ) $(PACKAGE_ORIG_XZ) + rm -f $(DIST_TAR_XZ) + +misc/shotwell.desktop: misc/shotwell.desktop.head $(EXPANDED_CORE_PO_FILES) + cp misc/shotwell.desktop.head misc/shotwell.desktop + @ $(foreach lang,$(CORE_SUPPORTED_LANGUAGES), echo X-GNOME-FullName[$(lang)]=`TEXTDOMAINDIR=locale-langpack \ + LANGUAGE=$(lang) gettext --domain=shotwell $(DESKTOP_APP_FULL_NAME)` \ + >> misc/shotwell.desktop ; \ + echo GenericName[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) \ + gettext --domain=shotwell $(DESKTOP_APPLICATION_CLASS)` >> misc/shotwell.desktop ; \ + echo Comment[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) gettext \ + --domain=shotwell $(DESKTOP_APPLICATION_COMMENT)` >> misc/shotwell.desktop ; \ + echo Keywords[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) gettext \ + --domain=shotwell $(DESKTOP_APP_KEYWORDS)` >> misc/shotwell.desktop ;) +ifndef DISABLE_DESKTOP_VALIDATE + @ desktop-file-validate misc/shotwell.desktop 1>misc/shotwell.desktop.errors 2>&1; \ + if test -s misc/shotwell.desktop.errors; then \ + echo -e "\nThe file misc/shotwell.desktop.head or one of the .po files contains errors and may need to be edited.\nPlease see the file misc/shotwell.desktop.errors for details."; \ + exit 1; \ + else rm -f misc/shotwell.desktop.errors; \ + fi +endif + +misc/shotwell-viewer.desktop: misc/shotwell-viewer.desktop.head $(EXPANDED_CORE_PO_FILES) + cp misc/shotwell-viewer.desktop.head misc/shotwell-viewer.desktop + $(foreach lang,$(CORE_SUPPORTED_LANGUAGES), echo X-GNOME-FullName[$(lang)]=`TEXTDOMAINDIR=locale-langpack \ + LANGUAGE=$(lang) gettext --domain=shotwell $(DESKTOP_APP_FULL_NAME)` \ + echo X-GNOME-FullName[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) gettext \ + --domain=shotwell $(DIRECT_EDIT_DESKTOP_APP_FULL_NAME)` >> misc/shotwell-viewer.desktop ; \ + echo GenericName[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) gettext \ + --domain=shotwell $(DIRECT_EDIT_DESKTOP_APPLICATION_CLASS)` >> misc/shotwell-viewer.desktop ;) +ifndef DISABLE_DESKTOP_VALIDATE + @ desktop-file-validate misc/shotwell-viewer.desktop 1>misc/shotwell-viewer.desktop.errors 2>&1; \ + if test -s misc/shotwell-viewer.desktop.errors; then \ + echo -e S"\nThe file misc/shotwell-viewer.desktop.head or one of the .po files contains errors and may need to be edited.\nPlease see the file misc/shotwell-viewer.desktop.errors for details."; \ + exit 1; \ + else rm -f misc/shotwell-viewer.desktop.errors; \ + fi +endif + +.PHONY: desktop +desktop: misc/shotwell.desktop misc/shotwell-viewer.desktop + +.PHONY: dist +dist: + mkdir -p $(PROGRAM)-$(VERSION) + cp --parents --preserve $(DIST_FILES) $(PROGRAM)-$(VERSION) + tar --xz -cvf $(DIST_TAR_XZ) $(PROGRAM)-$(VERSION) + rm -rf $(PROGRAM)-$(VERSION) + +distclean: clean + rm -f configure.mk + rm -f $(DIST_TAR_XZ) + @$(MAKE) --directory=plugins distclean + +.PHONY: install +install: + touch $(LANG_STAMP) + mkdir -p $(DESTDIR)$(PREFIX)/bin + $(INSTALL_PROGRAM) $(PROGRAM) $(DESTDIR)$(PREFIX)/bin + mkdir -p $(DESTDIR)$(LIBEXECDIR) + $(INSTALL_PROGRAM) $(THUMBNAILER_BIN) $(DESTDIR)$(LIBEXECDIR) + $(INSTALL_PROGRAM) $(MIGRATOR_BIN) $(DESTDIR)$(LIBEXECDIR) + mkdir -p $(DESTDIR)$(PREFIX)/share/shotwell/icons + $(INSTALL_DATA) icons/* $(DESTDIR)$(PREFIX)/share/shotwell/icons + mkdir -p $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps + $(INSTALL_DATA) icons/shotwell.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps + mkdir -p $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps + $(INSTALL_DATA) icons/shotwell-16.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/shotwell.svg + mkdir -p $(DESTDIR)$(PREFIX)/share/icons/hicolor/24x24/apps + $(INSTALL_DATA) icons/shotwell-24.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/24x24/apps/shotwell.svg + mkdir -p $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas + $(INSTALL_DATA) misc/org.yorba.shotwell.gschema.xml $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas + $(INSTALL_DATA) misc/org.yorba.shotwell-extras.gschema.xml $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas +ifndef DISABLE_SCHEMAS_COMPILE + glib-compile-schemas $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas +endif +ifndef DISABLE_GSETTINGS_CONVERT_INSTALL + mkdir -p $(DESTDIR)/usr/share/GConf/gsettings + $(INSTALL_DATA) misc/shotwell.convert $(DESTDIR)/usr/share/GConf/gsettings +endif +ifndef DISABLE_ICON_UPDATE + -gtk-update-icon-cache -t -f $(DESTDIR)$(PREFIX)/share/icons/hicolor || : +endif + mkdir -p $(DESTDIR)$(PREFIX)/share/shotwell/ui + $(INSTALL_DATA) ui/* $(DESTDIR)$(PREFIX)/share/shotwell/ui + mkdir -p $(DESTDIR)$(PREFIX)/share/applications + mkdir -p $(DESTDIR)$(PREFIX)/share/appdata + $(INSTALL_DATA) misc/shotwell.desktop $(DESTDIR)$(PREFIX)/share/applications + $(INSTALL_DATA) misc/shotwell-viewer.desktop $(DESTDIR)$(PREFIX)/share/applications + $(INSTALL_DATA) misc/shotwell.appdata.xml $(DESTDIR)$(PREFIX)/share/appdata +ifndef DISABLE_DESKTOP_UPDATE + -update-desktop-database || : +endif +ifdef ENABLE_APPORT_HOOK_INSTALL + mkdir -p $(DESTDIR)$(PREFIX)/share/apport/package-hooks + $(INSTALL_DATA) apport/shotwell.py $(DESTDIR)$(PREFIX)/share/apport/package-hooks +endif +ifndef DISABLE_HELP_INSTALL + mkdir -p $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C + $(INSTALL_DATA) $(EXPANDED_DOC_PAGES) $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C + mkdir -p $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C/figures + $(INSTALL_DATA) $(EXPANDED_DOC_IMAGES) $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C/figures + $(foreach lang,$(DOC_LINGUAS),`mkdir -p $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/$(lang)`) + $(foreach lang,$(DOC_LINGUAS),\ + $(foreach page,$(DOC_PAGES),\ + `$(INSTALL_DATA) help/$(lang)/$(page) $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/$(lang)`\ + )\ + ) +endif + -$(foreach lang,$(CORE_SUPPORTED_LANGUAGES),`mkdir -p $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES ; \ + $(INSTALL_DATA) $(LOCAL_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo \ + $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo`) + mkdir -p $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin + $(INSTALL_PROGRAM) $(PLUGINS_SO) $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin +ifdef PLUGINS_RC + $(INSTALL_DATA) $(PLUGINS_RC) $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin +endif +ifndef DISABLE_EXTRA_PLUGINS_INSTALL + $(INSTALL_PROGRAM) $(EXTRA_PLUGINS_SO) $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin +ifdef EXTRA_PLUGINS_RC + $(INSTALL_DATA) $(EXTRA_PLUGINS_RC) $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin +endif +endif +ifdef INSTALL_HEADERS + mkdir -p $(DESTDIR)$(PREFIX)/include/shotwell/plugins + $(INSTALL_DATA) $(PLUGIN_HEADER) $(DESTDIR)$(PREFIX)/include/shotwell/plugins + mkdir -p $(DESTDIR)$(PREFIX)/share/vala/vapi + $(INSTALL_DATA) $(PLUGIN_VAPI) $(DESTDIR)$(PREFIX)/share/vala/vapi + $(INSTALL_DATA) $(PLUGIN_DEPS) $(DESTDIR)$(PREFIX)/share/vala/vapi + test -d $(DESTDIR)$(PREFIX)/$(LIB)/pkgconfig || mkdir -p $(DESTDIR)$(PREFIX)/$(LIB)/pkgconfig + $(INSTALL_DATA) $(PC_FILE) $(DESTDIR)$(PREFIX)/$(LIB)/pkgconfig +endif + +# Old versions of Makefile installed util binaries to $(PREFIX)/bin, so uninstall from there for now +uninstall: + rm -f $(DESTDIR)$(PREFIX)/bin/$(PROGRAM) + rm -f $(DESTDIR)$(PREFIX)/bin/$(PROGRAM_THUMBNAILER) + rm -f $(DESTDIR)$(PREFIX)/bin/$(PROGRAM_MIGRATOR) + rm -f $(DESTDIR)$(LIBEXECDIR)/$(PROGRAM_THUMBNAILER) + rm -f $(DESTDIR)$(LIBEXECDIR)/$(PROGRAM_MIGRATOR) + rm -fr $(DESTDIR)$(PREFIX)/share/shotwell + rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/shotwell.svg + rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/shotwell.svg + rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/24x24/apps/shotwell.svg + rm -f $(DESTDIR)$(PREFIX)/share/applications/shotwell.desktop + rm -f $(DESTDIR)$(PREFIX)/share/applications/shotwell-viewer.desktop + rm -f $(DESTDIR)$(PREFIX)/share/appdata/shotwell.appdata.xml +ifndef DISABLE_DESKTOP_UPDATE + -update-desktop-database || : +endif +ifndef DISABLE_HELP_INSTALL + rm -rf $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell +endif +ifdef ENABLE_APPORT_HOOK_INSTALL + rm -f $(DESTDIR)$(PREFIX)/share/apport/package-hooks/shotwell.py +endif + $(foreach lang,$(CORE_SUPPORTED_LANGUAGES),`rm -f $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo`) + rm -rf $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin +ifdef INSTALL_HEADERS + rm -rf $(DESTDIR)$(PREFIX)/include/shotwell + rm -f $(foreach vapi,$(PLUGIN_VAPI),$(DESTDIR)$(PREFIX)/share/vala/vapi/$(notdir $(vapi))) + rm -f $(foreach dep,$(PLUGIN_DEPS),$(DESTDIR)$(PREFIX)/share/vala/vapi/$(notdir $(dep))) + rm -f $(DESTDIR)$(PREFIX)/$(LIB)/pkgconfig/$(PC_FILE) +endif + rm -f $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas/org.yorba.shotwell.gschema.xml + rm -f $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas/org.yorba.shotwell-extras.gschema.xml +ifndef DISABLE_SCHEMAS_COMPILE + glib-compile-schemas $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas +endif +ifndef DISABLE_GSETTINGS_CONVERT_INSTALL + rm -f $(DESTDIR)/usr/share/GConf/gsettings/shotwell.convert +endif + +$(PC_FILE): $(PC_INPUT) $(MAKE_FILES) + m4 '-D_VERSION_=$(VERSION)' '-D_PREFIX_=$(PREFIX)' '-D_REQUIREMENTS_=$(PLUGIN_PKG_REQS)' \ + '-D_LIB_=$(LIB)' $< > $@ + +$(UNITIZE_STAMP): $(MAKE_FILES) src/unit/rc/UnitInternals.m4 src/unit/rc/unitize_entry.m4 + @mkdir -p $(UNITIZE_DIR) + @$(foreach unit,$(APP_UNITS),\ + `m4 '-D_APP_UNIT_=$(unit)' src/unit/rc/unitize_entry.m4 > $(UNITIZE_DIR)/_$(unit)_unitize_entry.vala`) + @$(foreach nm,$(UNIT_NAMESPACES),\ + `m4 '-D_UNIT_NAME_=$(nm)' '-D_UNIT_USES_INITS_=$($(nm)_USES_INITS)' '-D_UNIT_USES_TERMINATORS_=$($(nm)_USES_TERMINATORS)' src/unit/rc/UnitInternals.m4 > $(UNITIZE_DIR)/_$(nm)Internals.vala`) + @touch $@ + +$(UNITIZE_INITS) $(UNITIZE_ENTRIES): $(UNITIZE_STAMP) + @ + +# EXPANDED_SRC_FILES includes UNITIZE_INITS and UNITIZE_ENTRY +$(VALA_STAMP): $(EXPANDED_SRC_FILES) $(EXPANDED_VAPI_FILES) $(GPHOTO_VAPI_FILE) $(EXPANDED_SRC_HEADER_FILES) + $(call check_valac_version) + @echo Compiling Vala code... + @mkdir -p $(BUILD_DIR) + $(VALAC) --ccode --directory=$(BUILD_DIR) --basedir=src \ + $(foreach pkg,$(VALA_PKGS),--pkg=$(pkg)) \ + $(foreach vapidir,$(VAPI_DIRS),--vapidir=$(vapidir)) \ + $(foreach def,$(DEFINES),-X -D$(def)) \ + $(foreach hdir,$(HEADER_DIRS),-X -I$(hdir)) \ + $(VALAFLAGS) \ + $(EXPANDED_SRC_FILES) + @touch $@ + +# Do not remove hard tab or at symbol; necessary for dependencies to complete. +$(EXPANDED_C_FILES): $(VALA_STAMP) + @ + +$(EXPANDED_OBJ_FILES): %.o: %.c $(CONFIG_IN) Makefile + $(CC) -c $(VALA_CFLAGS) $(CFLAGS) -o $@ $< + +$(PROGRAM): $(EXPANDED_OBJ_FILES) $(RESOURCES) $(LANG_STAMP) $(THUMBNAILER_BIN) misc/gschemas.compiled $(DOC_LANG_STAMP) + $(CC) $(EXPANDED_OBJ_FILES) $(CFLAGS) $(LDFLAGS) $(RESOURCES) $(VALA_LDFLAGS) $(EXPORT_FLAGS) -o $@ + +misc/gschemas.compiled: $(SCHEMA_FILES) + rm -f misc/gschemas.compiled + glib-compile-schemas misc + +$(DOC_LANG_STAMP): $(EXPANDED_DOC_PAGES) $(EXPANDED_DOC_PO) + $(foreach lang,$(DOC_LINGUAS), \ + $(foreach page,$(DOC_PAGES), `xml2po -m mallard -p help/$(lang)/$(lang).po -o help/$(lang)/$(page) help/C/$(page)`)) + @touch $(DOC_LANG_STAMP) + +$(THUMBNAILER_BIN): $(EXPANDED_THUMBNAILER_SRC_FILES) + $(VALAC) $(EXPANDED_THUMBNAILER_SRC_FILES) $(VALAFLAGS) -o $@ $(foreach pkg,$(THUMBNAILER_PKGS),--pkg=$(pkg)) + +$(PLUGINS_SO) $(EXTRA_PLUGINS_SO): $(PLUGINS_DIR) + @ + +.PHONY: $(PLUGINS_DIR) +$(PLUGINS_DIR): $(PLUGIN_VAPI) $(PLUGIN_HEADER) $(PLUGIN_DEPS) + $(call check_valac_version) + @$(MAKE) --directory=$@ PLUGINS_VERSION="$(VERSION)" USER_VALAFLAGS="$(USER_VALAFLAGS)" \ + PLUGIN_CFLAGS="$(PLUGIN_CFLAGS)" + +.PHONY: docs +docs: +# valadoc complains if the directory already exists + @rm -rf docs + valadoc --directory=docs --package-name=shotwell-plugin-dev --package-version=$(VERSION) --verbose \ + --no-protected \ + $(foreach def,$(DEFINES),--define=$(def)) \ + $(foreach pkg,$(VALA_PKGS),--pkg=$(pkg)) \ + $(foreach vapidir,$(VAPI_DIRS),--vapidir=$(vapidir)) \ + $(PLUGIN_INTERFACES) + +glade: lib$(PROGRAM).so + +lib$(PROGRAM).so: $(EXPANDED_OBJ_FILES) $(RESOURCES) $(LANG_STAMP) + $(CC) $(EXPANDED_OBJ_FILES) $(CFLAGS) $(LDFLAGS) $(RESOURCES) $(VALA_LDFLAGS) $(EXPORT_FLAGS) -shared -o $@ + +.PHONY: pkgcheck +pkgcheck: + @if ! test -f configure.mk; then echo "Please run ./configure first."; exit 2; fi + +.PHONY: valacheck +valacheck: + @ $(VALAC) --version >/dev/null 2>/dev/null || ( echo 'Shotwell requires Vala compiler $(MIN_VALAC_VERSION) or greater. No valac found in path or $$VALAC.'; exit 1 ) + @ ./chkver min $(VALAC_VERSION) $(MIN_VALAC_VERSION) || ( echo 'Shotwell requires Vala compiler $(MIN_VALAC_VERSION) or greater. You are running' $(VALAC_VERSION) '\b.'; exit 1 ) + $(if $(MAX_VALAC_VERSION),\ + @ ./chkver max $(VALAC_VERSION) $(MAX_VALAC_VERSION) || ( echo 'Shotwell cannot be built by Vala compiler $(MAX_VALAC_VERSION) or greater. You are running' $(VALAC_VERSION) '\b.'; exit 1 ),) + + + +ifndef ASSUME_PKGS +ifdef EXT_PKG_VERSIONS + @pkg-config --print-errors --exists '$(EXT_PKG_VERSIONS) $(DIRECT_LIBS_VERSIONS)' +endif +ifdef EXT_PKGS + @pkg-config --print-errors --exists $(EXT_PKGS) $(DIRECT_LIBS_VERSIONS) +endif +endif + @ type msgfmt > /dev/null || ( echo 'msgfmt (usually found in the gettext package) is missing and is required to build Shotwell. ' ; exit 1 ) +ifndef DISABLE_DESKTOP_VALIDATE + @ type desktop-file-validate > /dev/null || ( echo 'desktop-file-validate (usually found in the desktop-file-utils package) is missing and is required to build Shotwell. ' ; exit 1 ) +endif diff --git a/.pc/libexec.patch/Makefile b/.pc/libexec.patch/Makefile new file mode 100644 index 0000000..c2e41a4 --- /dev/null +++ b/.pc/libexec.patch/Makefile @@ -0,0 +1,742 @@ +PROGRAM = shotwell +PROGRAM_THUMBNAILER = shotwell-video-thumbnailer +PROGRAM_MIGRATOR = shotwell-settings-migrator + +VERSION = 0.18.1 +GITVER := $(shell git log -n 1 2>/dev/null | head -n 1 | awk '{print $$2}') +GETTEXT_PACKAGE = $(PROGRAM) +BUILD_ROOT = 1 + +ifndef VALAC +VALAC := $(shell which valac) +else +VALAC := $(shell which $(VALAC)) +endif + +VALAC_VERSION := `$(VALAC) --version | awk '{print $$2}'` +MIN_VALAC_VERSION := 0.20.1 +INSTALL_PROGRAM := install +INSTALL_DATA := install -m 644 + +export MIN_GLIB_VERSION=2.30.0 + +# defaults that may be overridden by configure.mk +PREFIX=/usr/local +BUILD_RELEASE=1 +LIB=lib + +-include configure.mk +ifndef LIBEXECDIR +LIBEXECDIR=$(PREFIX)/libexec/shotwell +endif + +CORE_SUPPORTED_LANGUAGES=$(shell cat po/LINGUAS) + +LOCAL_LANG_DIR=locale-langpack +SYSTEM_LANG_DIR := $(DESTDIR)$(PREFIX)/share/locale + +VALAFLAGS := $(foreach w,$(CPPFLAGS) $(CFLAGS) $(LDFLAGS),-X $(w)) --enable-checking --target-glib=2.32 --thread --fatal-warnings --enable-experimental --enable-deprecated $(USER_VALAFLAGS) +ifdef UNITY_SUPPORT +VALAFLAGS := $(VALAFLAGS) --define UNITY_SUPPORT +endif + +ifdef WITH_GPHOTO_25 +VALAFLAGS := $(VALAFLAGS) --define WITH_GPHOTO_25 +endif + +DEFINES := _PREFIX='"$(PREFIX)"' _VERSION='"$(VERSION)"' GETTEXT_PACKAGE='"$(GETTEXT_PACKAGE)"' \ + _LANG_SUPPORT_DIR='"$(SYSTEM_LANG_DIR)"' _LIB='"${LIB}"' _LIBEXECDIR='"$(LIBEXECDIR)"' + +ifdef GITVER +DEFINES := $(DEFINES) _GIT_VERSION='"$(GITVER)"' +VALAFLAGS := $(VALAFLAGS) --define=_GITVERSION +endif + +EXPORT_FLAGS = -export-dynamic + +include units.mk +include plugins/plugins.mk + +UNUNITIZED_SRC_FILES = \ + main.vala \ + AppWindow.vala \ + CollectionPage.vala \ + Thumbnail.vala \ + ThumbnailCache.vala \ + CheckerboardLayout.vala \ + PhotoPage.vala \ + Page.vala \ + SortedList.vala \ + Dimensions.vala \ + Box.vala \ + Photo.vala \ + Orientation.vala \ + BatchImport.vala \ + Dialogs.vala \ + Resources.vala \ + Debug.vala \ + ColorTransformation.vala \ + Properties.vala \ + CustomComponents.vala \ + Event.vala \ + International.vala \ + AppDirs.vala \ + PixbufCache.vala \ + CommandManager.vala \ + Commands.vala \ + SlideshowPage.vala \ + LibraryFiles.vala \ + Printing.vala \ + Tag.vala \ + Screensaver.vala \ + Exporter.vala \ + DirectoryMonitor.vala \ + LibraryMonitor.vala \ + VideoSupport.vala \ + Tombstone.vala \ + MetadataWriter.vala \ + Application.vala \ + TimedQueue.vala \ + MediaPage.vala \ + MediaDataRepresentation.vala \ + DesktopIntegration.vala \ + MediaInterfaces.vala \ + MediaMetadata.vala \ + VideoMetadata.vala \ + MediaMonitor.vala \ + PhotoMonitor.vala \ + VideoMonitor.vala \ + SearchFilter.vala \ + MediaViewTracker.vala \ + UnityProgressBar.vala \ + Upgrades.vala + +THUMBNAILER_SRC_FILES = \ + shotwell-video-thumbnailer.vala + +VAPI_FILES = \ + ExtendedPosix.vapi \ + LConv.vapi \ + libexif.vapi \ + libraw.vapi \ + webkitgtk-3.0.vapi \ + unique-3.0.vapi \ + unity.vapi + +DEPS_FILES = \ + webkitgtk-3.0.deps \ + unique-3.0.deps \ + unity.deps + +ifdef WITH_GPHOTO_25 +GPHOTO_VAPI_FILE = vapi/gphoto-2.5/libgphoto2.vapi +else +GPHOTO_VAPI_FILE = vapi/gphoto-2.4/libgphoto2.vapi +endif + +RESOURCE_FILES = \ + collection.ui \ + direct.ui \ + direct_context.ui \ + events_directory.ui \ + event.ui \ + fullscreen.ui \ + import_queue.ui \ + import.ui \ + media.ui \ + offline.ui \ + photo.ui \ + photo_context.ui \ + savedsearch.ui \ + search_bar.ui \ + search_sidebar_context.ui \ + set_background_dialog.glade \ + shotwell.glade \ + shotwell.xml \ + sidebar_default_context.ui \ + tag_sidebar_context.ui \ + tags.ui \ + top.ui \ + trash.ui + +SYS_INTEGRATION_FILES = \ + shotwell.appdata.xml \ + shotwell.desktop.head \ + shotwell-viewer.desktop.head \ + org.yorba.shotwell.gschema.xml \ + org.yorba.shotwell-extras.gschema.xml \ + shotwell.convert + +SCHEMA_FILES := $(shell ls misc/*.gschema.xml) + +SRC_HEADER_FILES = \ + gphoto.h + +TEXT_FILES = \ + AUTHORS \ + COPYING \ + INSTALL \ + MAINTAINERS \ + NEWS \ + README \ + THANKS + +ICON_FILES = \ + all-rejected.png \ + crop-pivot-reticle.png \ + crop.svg \ + drag_nub.png \ + enhance.png \ + five-star-filter.svg \ + five-stars.svg \ + flag-page.png \ + flag-trinket.png \ + four-star-filter-plus.svg \ + four-stars.svg \ + image-adjust.svg \ + import-all.png \ + import.svg \ + make-primary.svg \ + merge.svg \ + multiple-events.png \ + multiple-tags.png \ + no-event.png \ + noninterpretable-video.png \ + one-event.png \ + one-star-filter-plus.svg \ + one-star.svg \ + one-tag.png \ + pin-toolbar.svg \ + publish.png \ + redeye.png \ + rejected.svg \ + shotwell-16.svg \ + shotwell-24.svg \ + shotwell.ico \ + shotwell-street.jpg \ + shotwell.svg \ + sprocket.png \ + straighten.svg \ + three-star-filter-plus.svg \ + three-stars.svg \ + two-star-filter-plus.svg \ + two-stars.svg \ + videos-page.png \ + zoom-in.png \ + zoom-out.png \ + slideshow-extension-point.png \ + generic-plugin.png \ + filter-raw.png \ + filter-photos.png \ + filter-videos.png \ + filter-flagged.png + +VAPI_DIRS = \ + ./vapi + +ifdef WITH_GPHOTO_25 +VAPI_DIRS += ./vapi/gphoto-2.5 +else +VAPI_DIRS += ./vapi/gphoto-2.4 +endif + + +HEADER_DIRS = \ + ./vapi + +LOCAL_PKGS = \ + ExtendedPosix \ + posix \ + LConv + +EXT_PKGS = \ + atk \ + gdk-3.0 \ + gee-0.8 \ + gexiv2 \ + gio-unix-2.0 \ + glib-2.0 \ + gmodule-2.0 \ + gstreamer-1.0 \ + gstreamer-base-1.0 \ + gstreamer-pbutils-1.0 \ + gtk+-3.0 \ + gudev-1.0 \ + libexif \ + libgphoto2 \ + json-glib-1.0 \ + libraw \ + libsoup-2.4 \ + libxml-2.0 \ + sqlite3 \ + webkitgtk-3.0 +ifdef UNITY_SUPPORT +EXT_PKGS += unity +endif + +THUMBNAILER_PKGS = \ + gtk+-3.0 \ + gee-0.8 \ + gstreamer-1.0 \ + gstreamer-base-1.0 + +DIRECT_LIBS = + +EXT_PKG_VERSIONS = \ + gee-0.8 >= 0.8.5 \ + gexiv2 >= 0.4.90 \ + gio-unix-2.0 >= 2.20 \ + glib-2.0 >= $(MIN_GLIB_VERSION) \ + gmodule-2.0 >= 2.24.0 \ + gstreamer-1.0 >= 1.0.0 \ + gstreamer-base-1.0 >= 1.0.0 \ + gstreamer-plugins-base-1.0 >= 1.0.0 \ + gstreamer-pbutils-1.0 >= 1.0.0 \ + gtk+-3.0 >= 3.6.0 \ + gudev-1.0 >= 145 \ + libexif >= 0.6.16 \ + libgphoto2 >= 2.4.2 \ + libraw >= 0.13.2 \ + libsoup-2.4 >= 2.26.0 \ + libxml-2.0 >= 2.6.32 \ + rest-0.7 >= 0.7 \ + sqlite3 >= 3.5.9 \ + webkitgtk-3.0 >= 1.4.0 \ + gnome-doc-utils + +DIRECT_LIBS_VERSIONS = + +VALA_PKGS = $(EXT_PKGS) $(LOCAL_PKGS) + +ifndef BUILD_DIR +BUILD_DIR=src +endif + +DESKTOP_APP_SHORT_NAME="Shotwell" +DESKTOP_APP_FULL_NAME="Shotwell Photo Manager" +DESKTOP_APPLICATION_COMMENT="Organize your photos" +DESKTOP_APPLICATION_CLASS="Photo Manager" +DESKTOP_APP_KEYWORDS="album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;organize;photo;photographs;photos;picture;pictures;photography;print;publish;rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo;" +DIRECT_EDIT_DESKTOP_APP_SHORT_NAME="Shotwell" +DIRECT_EDIT_DESKTOP_APP_FULL_NAME="Shotwell Photo Viewer" +DIRECT_EDIT_DESKTOP_APPLICATION_CLASS="Photo Viewer" +TEMPORARY_DESKTOP_FILES = misc/shotwell.desktop misc/shotwell-viewer.desktop + +# for help page and translation .po files +include help/Makefile.am + +# Process the units +UNIT_MKS := $(foreach unit,$(UNITS),src/$(unit)/mk/$(notdir $(unit)).mk) +include $(UNIT_MKS) + +UNITIZE_DIR := src/.unitize +UNITIZE_ENTRIES := $(foreach unit,$(APP_UNITS),$(UNITIZE_DIR)/_$(unit)_unitize_entry.vala) +UNITIZE_INITS := $(foreach nm,$(UNIT_NAMESPACES),$(UNITIZE_DIR)/_$(nm)Internals.vala) +UNITIZE_STAMP := $(UNITIZE_DIR)/.unitized + +PLUGINS_DIR := plugins +PLUGINS_SO := $(foreach plugin,$(PLUGINS),$(PLUGINS_DIR)/$(plugin)/$(plugin).so) +EXTRA_PLUGINS_SO := $(foreach plugin,$(EXTRA_PLUGINS),$(PLUGINS_DIR)/$(plugin)/$(plugin).so) +PLUGINS_DIST_FILES := `$(MAKE) --directory=plugins --no-print-directory listfiles` + +THUMBNAILER_DIR := thumbnailer +THUMBNAILER_BIN := $(THUMBNAILER_DIR)/$(PROGRAM_THUMBNAILER) +EXPANDED_THUMBNAILER_SRC_FILES := $(foreach file, $(THUMBNAILER_SRC_FILES), $(THUMBNAILER_DIR)/$(file)) + +MIGRATOR_DIR := settings-migrator +MIGRATOR_BIN := $(MIGRATOR_DIR)/$(PROGRAM_MIGRATOR) + +EXPANDED_CORE_PO_FILES := $(foreach po,$(CORE_SUPPORTED_LANGUAGES),po/$(po).po) + +EXPANDED_SRC_FILES := $(UNITIZED_SRC_FILES) $(foreach src,$(UNUNITIZED_SRC_FILES),src/$(src)) \ + $(UNITIZE_INITS) $(UNITIZE_ENTRIES) +EXPANDED_DIST_SRC_FILES := $(UNITIZED_SRC_FILES) $(foreach src,$(UNUNITIZED_SRC_FILES),src/$(src)) +EXPANDED_C_FILES := $(foreach file,$(subst src,$(BUILD_DIR),$(EXPANDED_SRC_FILES)),$(file:.vala=.c)) +EXPANDED_OBJ_FILES := $(foreach file,$(subst src,$(BUILD_DIR),$(EXPANDED_SRC_FILES)),$(file:.vala=.o)) +EXPANDED_SYS_INTEGRATION_FILES := $(foreach file,$(SYS_INTEGRATION_FILES),misc/$(file)) +EXPANDED_ICON_FILES := $(foreach file,$(ICON_FILES),icons/$(file)) +EXPANDED_VAPI_FILES := $(foreach vapi,$(VAPI_FILES),vapi/$(vapi)) +EXPANDED_DEPS_FILES := $(foreach deps,$(DEPS_FILES),vapi/$(deps)) +EXPANDED_SRC_HEADER_FILES := $(foreach header,$(SRC_HEADER_FILES),vapi/$(header)) +EXPANDED_RESOURCE_FILES := $(foreach res,$(RESOURCE_FILES),ui/$(res)) +EXPANDED_DOC_IMAGES := $(foreach file,$(DOC_IMAGES),help/C/figures/$(file)) +EXPANDED_DOC_PAGES := $(foreach page,$(DOC_PAGES),help/C/$(page)) +EXPANDED_DOC_PO := $(foreach lang,$(DOC_LINGUAS),help/$(lang)/$(lang).po) +EXPANDED_XLAT_DOC_PAGES := \ + $(foreach lang,$(DOC_LINGUAS),\ + $(foreach page,$(DOC_PAGES),help/$(lang)/$(page))) +VALA_STAMP := $(BUILD_DIR)/.stamp +LANG_STAMP := $(LOCAL_LANG_DIR)/.langstamp +DOC_LANG_STAMP := help/.langstamp +MAKE_FILES := Makefile $(CONFIG_IN) $(UNIT_MKS) unitize.mk units.mk +PC_INPUT := shotwell-plugin-dev-1.0.m4 +PC_FILE := $(PC_INPUT:.m4=.pc) + +DIST_FILES = Makefile configure chkver $(EXPANDED_DIST_SRC_FILES) $(EXPANDED_VAPI_FILES) \ + $(EXPANDED_DEPS_FILES) $(EXPANDED_SRC_HEADER_FILES) $(EXPANDED_RESOURCE_FILES) $(TEXT_FILES) \ + $(EXPANDED_ICON_FILES) $(EXPANDED_SYS_INTEGRATION_FILES) $(EXPANDED_CORE_PO_FILES) \ + po/LINGUAS po/POTFILES.in po/POTFILES.skip \ + $(EXPANDED_DOC_PAGES) $(EXPANDED_DOC_IMAGES) $(EXPANDED_DOC_PO) help/Makefile.am \ + apport/shotwell.py $(UNIT_RESOURCES) $(UNIT_MKS) \ + unitize.mk units.mk $(PC_INPUT) $(PLUGINS_DIST_FILES) \ + vapi/gphoto-2.5/libgphoto2.vapi vapi/gphoto-2.4/libgphoto2.vapi \ + $(EXPANDED_THUMBNAILER_SRC_FILES) $(MIGRATOR_BIN) + +DIST_TAR = $(PROGRAM)-$(VERSION).tar +DIST_TAR_XZ = $(DIST_TAR).xz +PACKAGE_ORIG_XZ = $(PROGRAM)_`parsechangelog | grep Version | sed 's/.*: //'`.orig.tar.xz + +VALAFLAGS := $(VALAFLAGS) $(VALA_DEFINES) --vapidir=plugins/ + +VALA_CFLAGS := `pkg-config --cflags $(EXT_PKGS) $(DIRECT_LIBS) gthread-2.0` \ + $(foreach hdir,$(HEADER_DIRS),-I$(hdir)) \ + $(foreach def,$(DEFINES),-D$(def)) + +VALA_LDFLAGS := `pkg-config --libs $(EXT_PKGS) $(DIRECT_LIBS) gthread-2.0` + +# REQUIRED_CFLAGS absolutely get appended to CFLAGS, whatever the +# the value of CFLAGS in the environment +REQUIRED_CFLAGS := -fPIC + +# setting CFLAGS in configure.mk overrides build type +ifndef CFLAGS +ifdef BUILD_DEBUG +CFLAGS = -O0 -g -pipe +PLUGIN_CFLAGS = -O0 -g -pipe +else +CFLAGS = -O2 -g -pipe +PLUGIN_CFLAGS = -O2 -g -pipe +endif +endif + +CFLAGS += $(PROFILE_FLAGS) $(REQUIRED_CFLAGS) +PLUGIN_CFLAGS += $(PROFILE_FLAGS) $(REQUIRED_CFLAGS) + +# Required for gudev-1.0 +CFLAGS += -DG_UDEV_API_IS_SUBJECT_TO_CHANGE + +all: pkgcheck valacheck desktop + +ifdef ENABLE_BUILD_FOR_GLADE +all: $(PLUGINS_DIR) lib$(PROGRAM).so $(PROGRAM) $(PC_FILE) +else +all: $(PLUGINS_DIR) $(PROGRAM) $(PC_FILE) +endif + + +include src/plugins/mk/interfaces.mk + +$(LANG_STAMP): $(EXPANDED_CORE_PO_FILES) + @$(foreach po,$(CORE_SUPPORTED_LANGUAGES),`mkdir -p $(LOCAL_LANG_DIR)/$(po)/LC_MESSAGES ; \ + msgfmt -c -o $(LOCAL_LANG_DIR)/$(po)/LC_MESSAGES/shotwell.mo po/$(po).po`) + @touch $(LANG_STAMP) + +clean: + rm -f $(EXPANDED_C_FILES) + rm -f $(EXPANDED_OBJ_FILES) + rm -f $(VALA_STAMP) + rm -rf $(PROGRAM)-$(VERSION) + rm -f $(PROGRAM) + rm -f $(THUMBNAILER_DIR)/$(PROGRAM_THUMBNAILER) + rm -rf $(LOCAL_LANG_DIR) + rm -f $(LANG_STAMP) + rm -f $(DOC_LANG_STAMP) + rm -f $(EXPANDED_XLAT_DOC_PAGES) + rm -f $(TEMPORARY_DESKTOP_FILES) + rm -f lib$(PROGRAM).so + rm -rf $(UNITIZE_DIR) + rm -f $(PLUGIN_VAPI) + rm -f $(PLUGIN_HEADER) + rm -f $(PLUGIN_DEPS) + rm -f $(PLUGINS_SO) + rm -f $(EXTRA_PLUGINS_SO) + @$(MAKE) --directory=plugins clean + rm -f $(PC_FILE) + +cleantemps: + rm -f $(EXPANDED_C_FILES) + rm -f $(EXPANDED_OBJ_FILES) + rm -f $(VALA_STAMP) + rm -f $(LANG_STAMP) + rm -f $(DOC_LANG_STAMP) + rm -f $(TEMPORARY_DESKTOP_FILES) + @$(MAKE) --directory=plugins cleantemps + rm -f misc/gschemas.compiled + +package: + $(MAKE) dist + cp $(DIST_TAR_XZ) $(PACKAGE_ORIG_XZ) + rm -f $(DIST_TAR_XZ) + +misc/shotwell.desktop: misc/shotwell.desktop.head $(EXPANDED_CORE_PO_FILES) + cp misc/shotwell.desktop.head misc/shotwell.desktop + @ $(foreach lang,$(CORE_SUPPORTED_LANGUAGES), echo X-GNOME-FullName[$(lang)]=`TEXTDOMAINDIR=locale-langpack \ + LANGUAGE=$(lang) gettext --domain=shotwell $(DESKTOP_APP_FULL_NAME)` \ + >> misc/shotwell.desktop ; \ + echo GenericName[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) \ + gettext --domain=shotwell $(DESKTOP_APPLICATION_CLASS)` >> misc/shotwell.desktop ; \ + echo Comment[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) gettext \ + --domain=shotwell $(DESKTOP_APPLICATION_COMMENT)` >> misc/shotwell.desktop ; \ + echo Keywords[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) gettext \ + --domain=shotwell $(DESKTOP_APP_KEYWORDS)` >> misc/shotwell.desktop ;) +ifndef DISABLE_DESKTOP_VALIDATE + @ desktop-file-validate misc/shotwell.desktop 1>misc/shotwell.desktop.errors 2>&1; \ + if test -s misc/shotwell.desktop.errors; then \ + echo -e "\nThe file misc/shotwell.desktop.head or one of the .po files contains errors and may need to be edited.\nPlease see the file misc/shotwell.desktop.errors for details."; \ + exit 1; \ + else rm -f misc/shotwell.desktop.errors; \ + fi +endif + +misc/shotwell-viewer.desktop: misc/shotwell-viewer.desktop.head $(EXPANDED_CORE_PO_FILES) + cp misc/shotwell-viewer.desktop.head misc/shotwell-viewer.desktop + $(foreach lang,$(CORE_SUPPORTED_LANGUAGES), echo X-GNOME-FullName[$(lang)]=`TEXTDOMAINDIR=locale-langpack \ + LANGUAGE=$(lang) gettext --domain=shotwell $(DESKTOP_APP_FULL_NAME)` \ + echo X-GNOME-FullName[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) gettext \ + --domain=shotwell $(DIRECT_EDIT_DESKTOP_APP_FULL_NAME)` >> misc/shotwell-viewer.desktop ; \ + echo GenericName[$(lang)]=`TEXTDOMAINDIR=locale-langpack LANGUAGE=$(lang) gettext \ + --domain=shotwell $(DIRECT_EDIT_DESKTOP_APPLICATION_CLASS)` >> misc/shotwell-viewer.desktop ;) +ifndef DISABLE_DESKTOP_VALIDATE + @ desktop-file-validate misc/shotwell-viewer.desktop 1>misc/shotwell-viewer.desktop.errors 2>&1; \ + if test -s misc/shotwell-viewer.desktop.errors; then \ + echo -e S"\nThe file misc/shotwell-viewer.desktop.head or one of the .po files contains errors and may need to be edited.\nPlease see the file misc/shotwell-viewer.desktop.errors for details."; \ + exit 1; \ + else rm -f misc/shotwell-viewer.desktop.errors; \ + fi +endif + +.PHONY: desktop +desktop: misc/shotwell.desktop misc/shotwell-viewer.desktop + +.PHONY: dist +dist: + mkdir -p $(PROGRAM)-$(VERSION) + cp --parents --preserve $(DIST_FILES) $(PROGRAM)-$(VERSION) + tar --xz -cvf $(DIST_TAR_XZ) $(PROGRAM)-$(VERSION) + rm -rf $(PROGRAM)-$(VERSION) + +distclean: clean + rm -f configure.mk + rm -f $(DIST_TAR_XZ) + @$(MAKE) --directory=plugins distclean + +.PHONY: install +install: + touch $(LANG_STAMP) + mkdir -p $(DESTDIR)$(PREFIX)/bin + $(INSTALL_PROGRAM) $(PROGRAM) $(DESTDIR)$(PREFIX)/bin + mkdir -p $(DESTDIR)$(LIBEXECDIR) + $(INSTALL_PROGRAM) $(THUMBNAILER_BIN) $(DESTDIR)$(LIBEXECDIR) + $(INSTALL_PROGRAM) $(MIGRATOR_BIN) $(DESTDIR)$(LIBEXECDIR) + mkdir -p $(DESTDIR)$(PREFIX)/share/shotwell/icons + $(INSTALL_DATA) icons/* $(DESTDIR)$(PREFIX)/share/shotwell/icons + mkdir -p $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps + $(INSTALL_DATA) icons/shotwell.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps + mkdir -p $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps + $(INSTALL_DATA) icons/shotwell-16.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/shotwell.svg + mkdir -p $(DESTDIR)$(PREFIX)/share/icons/hicolor/24x24/apps + $(INSTALL_DATA) icons/shotwell-24.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/24x24/apps/shotwell.svg + mkdir -p $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas + $(INSTALL_DATA) misc/org.yorba.shotwell.gschema.xml $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas + $(INSTALL_DATA) misc/org.yorba.shotwell-extras.gschema.xml $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas +ifndef DISABLE_SCHEMAS_COMPILE + glib-compile-schemas $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas +endif +ifndef DISABLE_GSETTINGS_CONVERT_INSTALL + mkdir -p $(DESTDIR)/usr/share/GConf/gsettings + $(INSTALL_DATA) misc/shotwell.convert $(DESTDIR)/usr/share/GConf/gsettings +endif +ifndef DISABLE_ICON_UPDATE + -gtk-update-icon-cache -t -f $(DESTDIR)$(PREFIX)/share/icons/hicolor || : +endif + mkdir -p $(DESTDIR)$(PREFIX)/share/shotwell/ui + $(INSTALL_DATA) ui/* $(DESTDIR)$(PREFIX)/share/shotwell/ui + mkdir -p $(DESTDIR)$(PREFIX)/share/applications + mkdir -p $(DESTDIR)$(PREFIX)/share/appdata + $(INSTALL_DATA) misc/shotwell.desktop $(DESTDIR)$(PREFIX)/share/applications + $(INSTALL_DATA) misc/shotwell-viewer.desktop $(DESTDIR)$(PREFIX)/share/applications + $(INSTALL_DATA) misc/shotwell.appdata.xml $(DESTDIR)$(PREFIX)/share/appdata +ifndef DISABLE_DESKTOP_UPDATE + -update-desktop-database || : +endif +ifdef ENABLE_APPORT_HOOK_INSTALL + mkdir -p $(DESTDIR)$(PREFIX)/share/apport/package-hooks + $(INSTALL_DATA) apport/shotwell.py $(DESTDIR)$(PREFIX)/share/apport/package-hooks +endif +ifndef DISABLE_HELP_INSTALL + mkdir -p $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C + $(INSTALL_DATA) $(EXPANDED_DOC_PAGES) $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C + mkdir -p $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C/figures + $(INSTALL_DATA) $(EXPANDED_DOC_IMAGES) $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C/figures + $(foreach lang,$(DOC_LINGUAS),`mkdir -p $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/$(lang)`) + $(foreach lang,$(DOC_LINGUAS),\ + $(foreach page,$(DOC_PAGES),\ + `$(INSTALL_DATA) help/$(lang)/$(page) $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/$(lang)`\ + )\ + ) +endif + -$(foreach lang,$(CORE_SUPPORTED_LANGUAGES),`mkdir -p $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES ; \ + $(INSTALL_DATA) $(LOCAL_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo \ + $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo`) + mkdir -p $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin + $(INSTALL_PROGRAM) $(PLUGINS_SO) $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin +ifdef PLUGINS_RC + $(INSTALL_DATA) $(PLUGINS_RC) $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin +endif +ifndef DISABLE_EXTRA_PLUGINS_INSTALL + $(INSTALL_PROGRAM) $(EXTRA_PLUGINS_SO) $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin +ifdef EXTRA_PLUGINS_RC + $(INSTALL_DATA) $(EXTRA_PLUGINS_RC) $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin +endif +endif +ifdef INSTALL_HEADERS + mkdir -p $(DESTDIR)$(PREFIX)/include/shotwell/plugins + $(INSTALL_DATA) $(PLUGIN_HEADER) $(DESTDIR)$(PREFIX)/include/shotwell/plugins + mkdir -p $(DESTDIR)$(PREFIX)/share/vala/vapi + $(INSTALL_DATA) $(PLUGIN_VAPI) $(DESTDIR)$(PREFIX)/share/vala/vapi + $(INSTALL_DATA) $(PLUGIN_DEPS) $(DESTDIR)$(PREFIX)/share/vala/vapi + test -d $(DESTDIR)$(PREFIX)/$(LIB)/pkgconfig || mkdir -p $(DESTDIR)$(PREFIX)/$(LIB)/pkgconfig + $(INSTALL_DATA) $(PC_FILE) $(DESTDIR)$(PREFIX)/$(LIB)/pkgconfig +endif + +# Old versions of Makefile installed util binaries to $(PREFIX)/bin, so uninstall from there for now +uninstall: + rm -f $(DESTDIR)$(PREFIX)/bin/$(PROGRAM) + rm -f $(DESTDIR)$(PREFIX)/bin/$(PROGRAM_THUMBNAILER) + rm -f $(DESTDIR)$(PREFIX)/bin/$(PROGRAM_MIGRATOR) + rm -f $(DESTDIR)$(LIBEXECDIR)/$(PROGRAM_THUMBNAILER) + rm -f $(DESTDIR)$(LIBEXECDIR)/$(PROGRAM_MIGRATOR) + rm -fr $(DESTDIR)$(PREFIX)/share/shotwell + rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/shotwell.svg + rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/shotwell.svg + rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/24x24/apps/shotwell.svg + rm -f $(DESTDIR)$(PREFIX)/share/applications/shotwell.desktop + rm -f $(DESTDIR)$(PREFIX)/share/applications/shotwell-viewer.desktop + rm -f $(DESTDIR)$(PREFIX)/share/appdata/shotwell.appdata.xml +ifndef DISABLE_DESKTOP_UPDATE + -update-desktop-database || : +endif +ifndef DISABLE_HELP_INSTALL + rm -rf $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell +endif +ifdef ENABLE_APPORT_HOOK_INSTALL + rm -f $(DESTDIR)$(PREFIX)/share/apport/package-hooks/shotwell.py +endif + $(foreach lang,$(CORE_SUPPORTED_LANGUAGES),`rm -f $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo`) + rm -rf $(DESTDIR)$(PREFIX)/$(LIB)/shotwell/plugins/builtin +ifdef INSTALL_HEADERS + rm -rf $(DESTDIR)$(PREFIX)/include/shotwell + rm -f $(foreach vapi,$(PLUGIN_VAPI),$(DESTDIR)$(PREFIX)/share/vala/vapi/$(notdir $(vapi))) + rm -f $(foreach dep,$(PLUGIN_DEPS),$(DESTDIR)$(PREFIX)/share/vala/vapi/$(notdir $(dep))) + rm -f $(DESTDIR)$(PREFIX)/$(LIB)/pkgconfig/$(PC_FILE) +endif + rm -f $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas/org.yorba.shotwell.gschema.xml + rm -f $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas/org.yorba.shotwell-extras.gschema.xml +ifndef DISABLE_SCHEMAS_COMPILE + glib-compile-schemas $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas +endif +ifndef DISABLE_GSETTINGS_CONVERT_INSTALL + rm -f $(DESTDIR)/usr/share/GConf/gsettings/shotwell.convert +endif + +$(PC_FILE): $(PC_INPUT) $(MAKE_FILES) + m4 '-D_VERSION_=$(VERSION)' '-D_PREFIX_=$(PREFIX)' '-D_REQUIREMENTS_=$(PLUGIN_PKG_REQS)' \ + '-D_LIB_=$(LIB)' $< > $@ + +$(UNITIZE_STAMP): $(MAKE_FILES) src/unit/rc/UnitInternals.m4 src/unit/rc/unitize_entry.m4 + @mkdir -p $(UNITIZE_DIR) + @$(foreach unit,$(APP_UNITS),\ + `m4 '-D_APP_UNIT_=$(unit)' src/unit/rc/unitize_entry.m4 > $(UNITIZE_DIR)/_$(unit)_unitize_entry.vala`) + @$(foreach nm,$(UNIT_NAMESPACES),\ + `m4 '-D_UNIT_NAME_=$(nm)' '-D_UNIT_USES_INITS_=$($(nm)_USES_INITS)' '-D_UNIT_USES_TERMINATORS_=$($(nm)_USES_TERMINATORS)' src/unit/rc/UnitInternals.m4 > $(UNITIZE_DIR)/_$(nm)Internals.vala`) + @touch $@ + +$(UNITIZE_INITS) $(UNITIZE_ENTRIES): $(UNITIZE_STAMP) + @ + +# EXPANDED_SRC_FILES includes UNITIZE_INITS and UNITIZE_ENTRY +$(VALA_STAMP): $(EXPANDED_SRC_FILES) $(EXPANDED_VAPI_FILES) $(GPHOTO_VAPI_FILE) $(EXPANDED_SRC_HEADER_FILES) + $(call check_valac_version) + @echo Compiling Vala code... + @mkdir -p $(BUILD_DIR) + $(VALAC) --ccode --directory=$(BUILD_DIR) --basedir=src \ + $(foreach pkg,$(VALA_PKGS),--pkg=$(pkg)) \ + $(foreach vapidir,$(VAPI_DIRS),--vapidir=$(vapidir)) \ + $(foreach def,$(DEFINES),-X -D$(def)) \ + $(foreach hdir,$(HEADER_DIRS),-X -I$(hdir)) \ + $(VALAFLAGS) \ + $(EXPANDED_SRC_FILES) + @touch $@ + +# Do not remove hard tab or at symbol; necessary for dependencies to complete. +$(EXPANDED_C_FILES): $(VALA_STAMP) + @ + +$(EXPANDED_OBJ_FILES): %.o: %.c $(CONFIG_IN) Makefile + $(CC) -c $(VALA_CFLAGS) $(CPPFLAGS) $(CFLAGS) -o $@ $< + +$(PROGRAM): $(EXPANDED_OBJ_FILES) $(RESOURCES) $(LANG_STAMP) $(THUMBNAILER_BIN) misc/gschemas.compiled $(DOC_LANG_STAMP) + $(CC) $(EXPANDED_OBJ_FILES) $(CFLAGS) $(LDFLAGS) $(RESOURCES) $(VALA_LDFLAGS) $(EXPORT_FLAGS) -o $@ + +misc/gschemas.compiled: $(SCHEMA_FILES) + rm -f misc/gschemas.compiled + glib-compile-schemas misc + +$(DOC_LANG_STAMP): $(EXPANDED_DOC_PAGES) $(EXPANDED_DOC_PO) + $(foreach lang,$(DOC_LINGUAS), \ + $(foreach page,$(DOC_PAGES), `xml2po -m mallard -p help/$(lang)/$(lang).po -o help/$(lang)/$(page) help/C/$(page)`)) + @touch $(DOC_LANG_STAMP) + +$(THUMBNAILER_BIN): $(EXPANDED_THUMBNAILER_SRC_FILES) + $(VALAC) $(EXPANDED_THUMBNAILER_SRC_FILES) $(VALAFLAGS) -o $@ $(foreach pkg,$(THUMBNAILER_PKGS),--pkg=$(pkg)) + +$(PLUGINS_SO) $(EXTRA_PLUGINS_SO): $(PLUGINS_DIR) + @ + +.PHONY: $(PLUGINS_DIR) +$(PLUGINS_DIR): $(PLUGIN_VAPI) $(PLUGIN_HEADER) $(PLUGIN_DEPS) + $(call check_valac_version) + @$(MAKE) --directory=$@ PLUGINS_VERSION="$(VERSION)" USER_VALAFLAGS="$(USER_VALAFLAGS)" \ + PLUGIN_CFLAGS="$(PLUGIN_CFLAGS)" + +.PHONY: docs +docs: +# valadoc complains if the directory already exists + @rm -rf docs + valadoc --directory=docs --package-name=shotwell-plugin-dev --package-version=$(VERSION) --verbose \ + --no-protected \ + $(foreach def,$(DEFINES),--define=$(def)) \ + $(foreach pkg,$(VALA_PKGS),--pkg=$(pkg)) \ + $(foreach vapidir,$(VAPI_DIRS),--vapidir=$(vapidir)) \ + $(PLUGIN_INTERFACES) + +glade: lib$(PROGRAM).so + +lib$(PROGRAM).so: $(EXPANDED_OBJ_FILES) $(RESOURCES) $(LANG_STAMP) + $(CC) $(EXPANDED_OBJ_FILES) $(CFLAGS) $(LDFLAGS) $(RESOURCES) $(VALA_LDFLAGS) $(EXPORT_FLAGS) -shared -o $@ + +.PHONY: pkgcheck +pkgcheck: + @if ! test -f configure.mk; then echo "Please run ./configure first."; exit 2; fi + +.PHONY: valacheck +valacheck: + @ $(VALAC) --version >/dev/null 2>/dev/null || ( echo 'Shotwell requires Vala compiler $(MIN_VALAC_VERSION) or greater. No valac found in path or $$VALAC.'; exit 1 ) + @ ./chkver min $(VALAC_VERSION) $(MIN_VALAC_VERSION) || ( echo 'Shotwell requires Vala compiler $(MIN_VALAC_VERSION) or greater. You are running' $(VALAC_VERSION) '\b.'; exit 1 ) + $(if $(MAX_VALAC_VERSION),\ + @ ./chkver max $(VALAC_VERSION) $(MAX_VALAC_VERSION) || ( echo 'Shotwell cannot be built by Vala compiler $(MAX_VALAC_VERSION) or greater. You are running' $(VALAC_VERSION) '\b.'; exit 1 ),) + + + +ifndef ASSUME_PKGS +ifdef EXT_PKG_VERSIONS + @pkg-config --print-errors --exists '$(EXT_PKG_VERSIONS) $(DIRECT_LIBS_VERSIONS)' +endif +ifdef EXT_PKGS + @pkg-config --print-errors --exists $(EXT_PKGS) $(DIRECT_LIBS_VERSIONS) +endif +endif + @ type msgfmt > /dev/null || ( echo 'msgfmt (usually found in the gettext package) is missing and is required to build Shotwell. ' ; exit 1 ) +ifndef DISABLE_DESKTOP_VALIDATE + @ type desktop-file-validate > /dev/null || ( echo 'desktop-file-validate (usually found in the desktop-file-utils package) is missing and is required to build Shotwell. ' ; exit 1 ) +endif @@ -27,7 +27,7 @@ LIB=lib -include configure.mk ifndef LIBEXECDIR -LIBEXECDIR=$(PREFIX)/libexec/shotwell +LIBEXECDIR=$(PREFIX)/share/shotwell endif CORE_SUPPORTED_LANGUAGES=$(shell cat po/LINGUAS) @@ -35,7 +35,7 @@ CORE_SUPPORTED_LANGUAGES=$(shell cat po/LINGUAS) LOCAL_LANG_DIR=locale-langpack SYSTEM_LANG_DIR := $(DESTDIR)$(PREFIX)/share/locale -VALAFLAGS := -g --enable-checking --target-glib=2.32 --thread --fatal-warnings --enable-experimental --enable-deprecated $(USER_VALAFLAGS) +VALAFLAGS := $(foreach w,$(CPPFLAGS) $(CFLAGS) $(LDFLAGS),-X $(w)) --enable-checking --target-glib=2.32 --thread --fatal-warnings --enable-experimental --enable-deprecated $(USER_VALAFLAGS) ifdef UNITY_SUPPORT VALAFLAGS := $(VALAFLAGS) --define UNITY_SUPPORT endif @@ -673,7 +673,7 @@ $(EXPANDED_C_FILES): $(VALA_STAMP) @ $(EXPANDED_OBJ_FILES): %.o: %.c $(CONFIG_IN) Makefile - $(CC) -c $(VALA_CFLAGS) $(CFLAGS) -o $@ $< + $(CC) -c $(VALA_CFLAGS) $(CPPFLAGS) $(CFLAGS) -o $@ $< $(PROGRAM): $(EXPANDED_OBJ_FILES) $(RESOURCES) $(LANG_STAMP) $(THUMBNAILER_BIN) misc/gschemas.compiled $(DOC_LANG_STAMP) $(CC) $(EXPANDED_OBJ_FILES) $(CFLAGS) $(LDFLAGS) $(RESOURCES) $(VALA_LDFLAGS) $(EXPORT_FLAGS) -o $@ diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..c610c56 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,518 @@ +shotwell (0.18.1-2) unstable; urgency=medium + + * New Maintainer (Closes: #755416). + * rewrite debian/copyright into machine-readable format. + * Add Vcs-Browser & Vcs-Git + + -- Jörg Frings-Fürst <debian@jff-webhosting.net> Tue, 22 Jul 2014 18:45:55 +0200 + +shotwell (0.18.1-1) unstable; urgency=medium + + * New upstream release. + * debian/control: + - Set Homepage field to the new home page. + * debian/control: + - Set download reference to the new site. + + -- Luca Falavigna <dktrkranz@debian.org> Sun, 20 Jul 2014 17:15:28 +0200 + +shotwell (0.18.0-1) unstable; urgency=medium + + * New upstream release. + * Upload to unstable. + * debian/patches/hardening.patch: + - Refresh for new upstream release. + * debian/patches/thumbnailer_path.patch: + - Removed, not needed. + * debian/control: + - Re-add myself as Uploader. + - Add gnome-doc-utils to Build-Depends. + - Replace libgphoto2-2-dev with libgphoto2-dev (Closes: #739355). + * debian/manpages: + - Do not install shotwell-video-thumbnailer anymore. + * debian/shotwell-video-thumbnailer.1: + - Removed, no longer needed. + * debian/rules: + - Explicitly set libexecdir to /usr/lib (Closes: #742083). + * debian/watch: + - Point to the GNOME FTP server. + + -- Luca Falavigna <dktrkranz@debian.org> Thu, 27 Mar 2014 14:02:25 +0100 + +shotwell (0.17.0-1) experimental; urgency=low + + * Team upload. + * New upstream release. + * debian/patches/format_string.patch: + - Removed, applied upstream. + * debian/patches/hardening.patch: + - Refresh for new upstream release. + * debian/patches/libexec.patch + - Refresh for new upstream release. + * debian/patches/thumbnailer_path.patch: + - Refresh for new upstream release. + * debian/shotwell.lintian-overrides: + - Remove useless library-not-linked-against-libc tag. + + -- Luca Falavigna <dktrkranz@debian.org> Sun, 16 Feb 2014 14:10:50 +0100 + +shotwell (0.15.0-2) unstable; urgency=medium + + * Team upload to unstable. + * debian/control: + - Bump Standards-Version to 3.9.5. + + -- Luca Falavigna <dktrkranz@debian.org> Sun, 16 Feb 2014 14:02:15 +0100 + +shotwell (0.15.0-1) experimental; urgency=low + + * Team upload. + * New upstream release (Closes: #726594). + - Fix FTBFS with vala 0.22 (Closes: #726510). + * debian/patches/document-mode.patch: + - Removed, applied upstream. + * debian/patches/hardening.patch: + - Refresh for new upstream release. + * debian/patches/libexec.patch + - Refresh for new upstream release. + * debian/patches/thumbnailer_path.patch: + - Install shotwell-video-thumbnailer under /usr/bin. + * debian/control: + - Build-depend against desktop-file-utils. + - Refresh build-dependency miminum versions. + + -- Luca Falavigna <dktrkranz@debian.org> Thu, 17 Oct 2013 22:04:11 +0200 + +shotwell (0.14.1-3) unstable; urgency=low + + * Team upload. + * debian/patches/document-mode.patch: + - Remove reference to document-mode processing APIs (Closes: #710141). + + -- Luca Falavigna <dktrkranz@debian.org> Thu, 11 Jul 2013 10:59:32 +0200 + +shotwell (0.14.1-2) unstable; urgency=low + + * Team upload. + * Upload to unstable. + * debian/patches/libexec.patch: + - Do not install files in libexec directory (Closes: #706430). + * debian/control: + - Build-depend on valac (>= 0.18.0). + * debian/shotwell-common.lintian-overrides: + - Removed, no longer needed. + + -- Luca Falavigna <dktrkranz@debian.org> Sun, 12 May 2013 23:22:52 +0200 + +shotwell (0.14.1-1) experimental; urgency=low + + * New upstream release. + * Update debian/copyright file. + * Install shotwell-settings-migrator script in shotwell-common package + (Closes: #705423). + * Fix hardening-no-fortify-functions lintian warnings. + * Fix hardening-no-relro lintian warning. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Sun, 28 Apr 2013 15:10:11 +0200 + +shotwell (0.14.0-1) experimental; urgency=low + + * Team upload. + * New upstream release. + - Fixes strftime strings that generated bogus dates in the + Catalan translation (Closes: #675102). + - Fix assertion error on startup (Closes: #683883). + * debian/control: + - Bump build-dependencies minimum requirements. + - valac-0.18 (>= 0.18.0) + - libgexiv2-dev (>= 0.4.90) + - libgstreamer1.0-dev (>= 1.0.0) + - libgstreamer-plugins-base1.0-dev (>= 1.0.0) + - Drop libunique-3.0-dev and libusb-dev, no longer needed. + * debian/rules: + - Explicitly call configure instead of dh_auto_configure. + * debian/watch: + - Do not list preview versions. + + -- Luca Falavigna <dktrkranz@debian.org> Thu, 21 Mar 2013 20:14:36 +0100 + +shotwell (0.13.1-1) experimental; urgency=low + + * Team upload. + * New upstream release. + - Fix crash on invalid piwigo response (Closes: #687930). + * debian/control: + - Remove DM-Upload-Allowed field. + + -- Luca Falavigna <dktrkranz@debian.org> Wed, 28 Nov 2012 11:26:02 +0100 + +shotwell (0.13.0-1) experimental; urgency=low + + * Team upload. + * New upstream release (Closes: #688365). + - Fix French localization (Closes: #684578, #684579). + * debian/patches/gettext.patch: + - Removed, applied upstream. + * debian/patches/metadata.patch: + - Removed, applied upstream. + * debian/patches/openmp.patch: + - Removed, no longer needed. + * debian/control: + - Build-depend on valac-0.18 (>= 0.17.2) and libjson-glib-dev. + - Mention CR2 format in package description (Closes: #685300). + - Bump Standards-Version to 3.9.4. + * debian/watch: + - Track xz tarballs. + + -- Luca Falavigna <dktrkranz@debian.org> Sat, 29 Sep 2012 14:58:49 +0200 + +shotwell (0.12.3-2) unstable; urgency=low + + * Team upload. + * debian/patches/metadata.patch: + - Cherry-pick patches from upstream repository to fix crashes while + managing metadata (Closes: #665498). + + -- Luca Falavigna <dktrkranz@debian.org> Sun, 22 Jul 2012 11:56:51 +0200 + +shotwell (0.12.3-1) unstable; urgency=low + + * Team upload. + * New upstream release (Closes: #674720). + * debian/patches/sidebar-bg-color.patch: + - Removed, applied upstream. + * debian/patches/openmp.patch: + - Refresh for new upstream release. + * debian/control: + - Move architecture-independent data into shotwell-common package. + - Let shotwell binary depend on the new shotwell-common package. + - Provide shotwell-dbg packaage. + * debian/rules: + - Pass --dbg-package=shotwell-dbg to dh sequencer. + + -- Luca Falavigna <dktrkranz@debian.org> Sun, 03 Jun 2012 12:19:04 +0200 + +shotwell (0.12.2-1) unstable; urgency=low + + * Team upload to unstable + * New upstream release. + * debian/patches/gcc_format_string.patch: + - Removed, applied upstream. + * debian/patches/format_string.patch: + - Fix FTBFS with missing format string parameter. + * debian/patches/openmp.patch: + - Pass -fopenmp to gcc flags. + + -- Luca Falavigna <dktrkranz@debian.org> Sun, 06 May 2012 19:50:17 +0200 + +shotwell (0.12.1-1) experimental; urgency=low + + * Team upload. + * New upstream release (Closes: #666053). + - Login into flickr with OpenID (Closes: #641472). + - In view mode, when deleting a photo, do not switch back to + thumbnail mode (Closes: #655100). + - Event names are displayed correctly (Closes: #664980). + * debian/patches/gcc_format_string.patch: + - fix FTBFS with recent gcc. + * debian/patches/vala-0.14.1.patch: + - Removed, no longer needed. + * debian/patches/* + - Refresh for new upstream release. + * debian/compat: + - Bump compatibility level to 9. + * debian/control: + - Build-depend on valac-0.16. + - Build-depend on librest-dev. + - Refresh build-dependencies. + + -- Luca Falavigna <dktrkranz@debian.org> Thu, 29 Mar 2012 23:28:23 +0200 + +shotwell (0.11.6-2) unstable; urgency=low + + * Team upload. + * debian/patches/vala-0.14.1.patch: + - Allow compilation with vala-0.14.1. + * debian/control: + - Build-depend on unversioned valac (Closes: #663318). + - Bump Standards-Version to 3.9.3. + + -- Luca Falavigna <dktrkranz@debian.org> Sun, 18 Mar 2012 01:36:18 +0100 + +shotwell (0.11.6-1) unstable; urgency=low + + * Team upload. + * New upstream release. + + -- Luca Falavigna <dktrkranz@debian.org> Thu, 08 Dec 2011 22:38:11 +0100 + +shotwell (0.11.5-1) unstable; urgency=low + + * New upstream release (Closes: 645942). + * Show translations in GNOME menu, thanks to Hideki Yamane + <henrich@debian.or.jp> for this (Closes: 644905). + + [ Luca Falavigna ] + * Enable DM upload. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Sun, 23 Oct 2011 01:39:38 +0200 + +shotwell (0.11.2-1) unstable; urgency=low + + * Team upload. + * New upstream bugfix release. + * debian/rules: + - Do not compile GConf schema (Closes: #641677). + + -- Luca Falavigna <dktrkranz@debian.org> Sat, 24 Sep 2011 14:27:33 +0200 + +shotwell (0.11.1-1) unstable; urgency=low + + * Team upload. + * New upstream bugfix release. + * debian/patches/sidebar-bg-color.patch: + - Refresh for new upstream release. + + -- Luca Falavigna <dktrkranz@debian.org> Tue, 13 Sep 2011 20:53:25 +0200 + +shotwell (0.11.0-1) unstable; urgency=low + + * Team upload. + * New upstream release (Closes: #639863). + * debian/patches/sidebar-bg-color.patch: + - Refresh for new upstream release. + * debian/control: + - Build-depend on libgstreamer-plugins-base0.10-dev. + + -- Luca Falavigna <dktrkranz@debian.org> Thu, 01 Sep 2011 19:59:07 +0200 + +shotwell (0.10.1-1) unstable; urgency=low + + * Team upload + * New upstream release (Closes: #629311). + * debian/patches/non-linux-fixes.patch: + - Removed, waiting for proper upstream porting efforts. + * debian/patches/sidebar-bg-color.patch: + - Refresh for new upstream release. + * debian/control: + - Add Debian Shotwell Maintainers to Maintainers. + - Move Devid to Uploaders. + - libwebkitgtk-dev transition (Closes: #635426). + - Set Architecture to linux-any, shotwell is currently unsupported + outside of Linux platform, and require some porting. + * debian/shotwell-video-thumbnailer.1: + - Provide a minimal man page for shotwell-video-thumbnailer + + -- Luca Falavigna <dktrkranz@debian.org> Sun, 21 Aug 2011 15:38:31 +0200 + +shotwell (0.9.3-1) unstable; urgency=low + + * New upstream release (Closes: #622705). + * Update debian/patches/non-linux-fixes.patch patch. + * Bump Standards-Version to 3.9.2. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Sun, 01 May 2011 13:09:48 +0200 + +shotwell (0.9.1-1) unstable; urgency=low + + * Upload to unstable. + * New upstream release (Closes: #620765). + * debian/control: modify libgexiv2-dev (>= 0.3.1) to libgexiv2-dev + (>= 0.2.2-4) in Build-Depends field. + * Update debian/patches/non-linux-fixes.patch patch. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Fri, 08 Apr 2011 23:28:01 +0200 + +shotwell (0.9.0-1) experimental; urgency=low + + * New upstream release (Closes: #614730, #593660, #619478). + * debian/control: modify valac-0.10 (>= 0.10.4) to valac-0.12 (>= 0.11.7) + in Build-Depends field. + * debian/control: add m4 and libgnomevfs2-dev (>= 2.24.2) to Build-Depends + field. + * debian/control: modify libgexiv2-dev (>= 0.2.0) to libgexiv2-dev + (>= 0.3.1) in Build-Depends field. + * Remove debian/patches/vala-0_10_4.patch patch, fixed upstream. + * Update debian/patches/non-linux-fixes.patch patch. + * Update debian/copyright file. + * Override library-not-linked-against-libc lintian warnings. + * Override image-file-in-usr-lib lintian warnings. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Sun, 27 Mar 2011 15:07:13 +0200 + +shotwell (0.8.1-4) unstable; urgency=low + + * A patch was reverting some changes introduced in 0.8.1-3, apply them. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Sun, 27 Mar 2011 12:42:49 +0200 + +shotwell (0.8.1-3) unstable; urgency=low + + * Update debian/patches/non-linux-fixes.patch patch (Closes: #619682). + * Add debian/patches/vala-0_10_4.patch patch, fix FTBFS caused by + valac 0.10.4. + * debian/control: modify valac-0.10 (>= 0.9.8) to valac-0.10 (>= 0.10.4) + in Build-Depends field. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Sat, 26 Mar 2011 23:45:32 +0100 + +shotwell (0.8.1-2) unstable; urgency=low + + * Upload to unstable (Closes: #614445). + * debian/control: modify libjson-glib-dev (>= 0.10.28) to libjson-glib-dev + (>= 0.7.6) + * debian/control: modify libgstreamer0.10-dev (>= 0.7.6) to + libgstreamer0.10-dev (>= 0.10.28) + * debian/control: modify libraw-dev to libraw-dev (>= 0.13.1-2). + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Mon, 28 Feb 2011 22:16:51 +0100 + +shotwell (0.8.1-1) experimental; urgency=low + + * New upstream release. + * debian/control: modify valac-0.10 (>= 0.9.7) to valac-0.10 (>= 0.9.8) in + Build-Depends field. + * Update debian/copyright. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Thu, 27 Jan 2011 23:05:40 +0100 + +shotwell (0.8.0-1) experimental; urgency=low + + * New upstream release. + * debian/control: modify valac (>= 0.9.5) to valac-0.10 (>= 0.9.7) in + Build-Depends field. + * debian/control: add libjson-glib-dev and libgstreamer0.10-dev to + Build-Depends field. + * Update debian/patches/sidebar-bg-color.patch patch. + * Update debian/patches/non-linux-fixes.patch patch. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Fri, 07 Jan 2011 15:14:41 +0100 + +shotwell (0.7.2-1) experimental; urgency=low + + * New upstream release. + * Update debian/patches/sidebar-bg-color.patch patch. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Wed, 15 Sep 2010 14:56:23 +0200 + +shotwell (0.7.0-1) experimental; urgency=low + + * New upstream release. + * debian/control: remove Luca Falavigna from Uploaders field. + * debian/control: update valac version to >= 0.9.5. + * debian/control: update libgexiv2-dev version to >= 0.2.0. + * Update debian/patches/non-linux-fixes.patch patch. + * debian/patches/sidebar-bg-color.patch: don't set sidebar background color + (Closes: #594170). + * Bump Standards-Version to 3.9.1. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Tue, 24 Aug 2010 17:34:23 +0200 + +shotwell (0.6.1-1) unstable; urgency=low + + * New upstream release. + * debian/control: + - Build-depend on libusb-dev. + - Bump libgexiv2-dev version to be at least 0.1.0. + + -- Luca Falavigna <dktrkranz@debian.org> Mon, 05 Jul 2010 20:05:18 +0200 + +shotwell (0.6.0-1) unstable; urgency=low + + * New upstream release. + * debian/patches/non-linux-fixes.patch: + - Refresh for new upstream release. + * debian/control: + - Bump Standards-Version to 3.9.0, no changes required. + + -- Luca Falavigna <dktrkranz@debian.org> Wed, 30 Jun 2010 20:48:44 +0200 + +shotwell (0.5.91-2) experimental; urgency=low + + * debian/patches/non-linux-fixes.patch: + - Let libraw to be available under non-Linux architectures, fix FTBFS + on kFreeBSD (Closes: #586634). + + -- Luca Falavigna <dktrkranz@debian.org> Mon, 21 Jun 2010 23:24:16 +0200 + +shotwell (0.5.91-1) experimental; urgency=low + + * New upstream development release. + * debian/patches/non-linux-fixes.patch: + - Refresh for new upstream release. + * debian/control: + - Build-depend on libgexiv2-dev and libraw-dev. + - No longer build-depend on libhal-dev. + - Adjust build-dependencies versioning. + * debian/README.source: + - Upstream clarified licensing of some icons with their authors, now + they are released under CC-BY-SA-3.0, so there is no need to repack + upstream tarball anymore, thus removing this file. + + -- Luca Falavigna <dktrkranz@debian.org> Sun, 20 Jun 2010 16:09:43 +0200 + +shotwell (0.5.2+dfsg-2) unstable; urgency=low + + * debian/patches/non-linux-fixes.patch: + - Add Hurd bits to allow build on that architecture. + + -- Luca Falavigna <dktrkranz@debian.org> Mon, 07 Jun 2010 23:41:52 +0200 + +shotwell (0.5.2+dfsg-1) unstable; urgency=low + + * New upstream release (Closes: #578903). + * Drop vala_0.8.0.patch patch, already applied by upstream. + * debian/control: add Luca Falavigna to Uploaders field. + * Add debian/patches/non-linux-fixes.patch patch from Peter Green to add + support for kfreebsd and hurd (Closes: #581662). + * debian/control: replace "libgudev-1.0-dev (>= 145)" with "libgudev-1.0-dev + (>= 145) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386]" as suggested by + Peter Green. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Sun, 23 May 2010 18:40:49 +0200 + +shotwell (0.5.0+dfsg-1.1) unstable; urgency=low + + * Non-maintainer upload. + * debian/patches/vala_0.8.0.patch: + - Build with vala 0.8.0 (Closes: #577913). + * debian/control: + - Depend on librsvg2-common and dbus-x11 (Closes: #574112). + - Bump minimum valac version to 0.8.0. + + -- Luca Falavigna <dktrkranz@debian.org> Sun, 18 Apr 2010 23:16:32 +0200 + +shotwell (0.5.0+dfsg-1) unstable; urgency=low + + * New upstream release. + * Update debian/copyright. + * Remove debian/patches directory, patches already applied upstream. + * debian/control: add libgudev-1.0-dev (>= 145) to Build-Depends field. + * Bump Standards-Version to 3.8.4. + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Mon, 15 Mar 2010 15:59:23 +0100 + +shotwell (0.4.3+dfsg-1.1) unstable; urgency=low + + * Non-maintainer upload. + * debian/patches/02_vala_0.7.10.patch: + - Fix build with vala 0.7.10 (Closes: #569370). + * debian/control: + - Bump minimum valac version to 0.7.10. + + -- Luca Falavigna <dktrkranz@debian.org> Sat, 20 Feb 2010 18:03:45 +0100 + +shotwell (0.4.3+dfsg-1) unstable; urgency=low + + * New upstream release. + * Switch to format 3.0 (quilt). + * Add debian/patches/01_GNU-kFreeBSD.diff patch from Cyril Brulebois to fix + FTBFS on GNU/kFreeBSD (Closes: #564306). + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Sat, 23 Jan 2010 18:56:33 +0100 + +shotwell (0.4.2+dfsg-1) unstable; urgency=low + + * Initial release (Closes: #561788). + + -- Devid Antonio Filoni <d.filoni@ubuntu.com> Wed, 06 Jan 2010 14:08:43 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..c48ea93 --- /dev/null +++ b/debian/control @@ -0,0 +1,75 @@ +Source: shotwell +Section: gnome +Priority: optional +Maintainer: Jörg Frings-Fürst <debian@jff-webhosting.net> +Build-Depends: + debhelper (>= 9), + desktop-file-utils, + gnome-doc-utils, + libexif-dev (>= 0.6.16), + libgee-0.8-dev (>= 0.8.5), + libgexiv2-dev (>= 0.4.90), + libglib2.0-dev (>= 2.30.0), + libgphoto2-dev (>= 2.4.2), + libgstreamer-plugins-base1.0-dev (>= 1.0.0), + libgstreamer1.0-dev (>= 1.0.0), + libgtk-3-dev (>= 3.6.0), + libgudev-1.0-dev (>= 145), + libjson-glib-dev, + libraw-dev (>= 0.14), + librest-dev (>= 0.7), + libsoup2.4-dev (>= 2.26.0), + libsqlite3-dev (>= 3.5.9), + libwebkitgtk-3.0-dev (>= 1.4.0), + libxml2 (>= 2.6.32), + m4, + valac (>= 0.22.0) +Standards-Version: 3.9.5 +Homepage: https://wiki.gnome.org/Apps/Shotwell +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/shotwell.git;a=summary +Vcs-Git: git://anonscm.debian.org/collab-maint/shotwell.git + +Package: shotwell +Architecture: linux-any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + shotwell-common (= ${source:Version}), + librsvg2-common, + dbus-x11 +Description: digital photo organizer + Shotwell is a digital photo organizer designed for the GNOME desktop + environment. It allows you to import photos from disk or camera, organize + them in various ways, view them in full-window or fullscreen mode, and + export them to share with others. It is able to manage a lot of different + image formats, also including raw CR2 files. + +Package: shotwell-common +Architecture: all +Depends: ${misc:Depends} +Recommends: shotwell +Breaks: shotwell (<< 0.12.3-1) +Replaces: shotwell (<< 0.12.3-1) +Description: digital photo organizer - common files + Shotwell is a digital photo organizer designed for the GNOME desktop + environment. It allows you to import photos from disk or camera, organize + them in various ways, view them in full-window or fullscreen mode, and + export them to share with others. It is able to manage a lot of different + image formats, also including raw CR2 files. + . + This package provides images and documentation for Shotwell + +Package: shotwell-dbg +Priority: extra +Section: debug +Architecture: linux-any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + shotwell (= ${binary:Version}) +Description: digital photo organizer - debugging symbols + Shotwell is a digital photo organizer designed for the GNOME desktop + environment. It allows you to import photos from disk or camera, organize + them in various ways, view them in full-window or fullscreen mode, and + export them to share with others. It is able to manage a lot of different + image formats, also including raw CR2 files. + . + This package contains the debugging symbols for Shotwell. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..e32171a --- /dev/null +++ b/debian/copyright @@ -0,0 +1,415 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: shotwell +Upstream-Contact: Jim Nelson <jim@yorba.org> +Source: https://wiki.gnome.org/Apps/Shotwell + +Files: * +Copyright: 2009-2013 Yorba Foundation + 2010 Evgeniy Polyakov + 2010 Maxim Kartashev + 2013 Jens Bav +License: LGPL-2.1+ + +Files: debian/* +Copyright: 2009-2011 Devid Antonio Filoni <d.filoni@ubuntu.com> + 2014 Jörg Frings-Fürst <debian@jff-webhosting.net> +License: GPL-2+ + +Files: icons/pin-toolbar.svg + icons/hidden.svg + icons/crop.svg + icons/import.svg +Copyright: 2009 Sebastian Porta <sebastianporta@gmail.com> + 2009 Cory Kontros <coryisatm@ubuntu.com> + 2009 Oliver Scholtz <scholli_tz@yahoo.de> + 2009 Daniel Planas <daniplanas.a@gmail.com> + 2007 David Vignoni <david@icon-king.com> + 2007 Johann Ollivier Lapeyre <johann@oxygen-icons.org> + 2007 Kenneth Wimer <kwwii@bootsplash.org> + 2007 Nuno Fernades Pinheiro <nf.pinheiro@gmail.com> + 2007 Riccardo Iaconelli <riccardo@oxygen-icons.org> + 2007 David Miller <miller@oxygen-icons.org> + 2009 Rosetta Contributors and Canonical Ltd. +License: CC-BY-SA-3.0 + +License: LGPL-2.1+ + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + . + On Debian systems, the complete text of the GNU Lesser General Public License + version 2.1 can be found in "/usr/share/common-licenses/LGPL-2.1". + +License: GPL-2+ + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + . + On Debian systems, the complete text of the GNU General Public + License can be found in the file `/usr/share/common-licenses/GPL-2'. + +License: CC-BY-SA-3.0 + THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS + CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS + PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE + WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS + PROHIBITED. + . + BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND + AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS + LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU + THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH + TERMS AND CONDITIONS. + . + 1. Definitions + . + 1. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, derivative + work, arrangement of music or other alterations of a literary or artistic + work, or phonogram or performance and includes cinematographic adaptations + or any other form in which the Work may be recast, transformed, or adapted + including in any form recognizably derived from the original, except that a + work that constitutes a Collection will not be considered an Adaptation for + the purpose of this License. For the avoidance of doubt, where the Work is + a musical work, performance or phonogram, the synchronization of the Work + in timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + . + 2. "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or broadcasts, + or other works or subject matter other than works listed in Section 1(f) + below, which, by reason of the selection and arrangement of their contents, + constitute intellectual creations, in which the Work is included in its + entirety in unmodified form along with one or more other contributions, + each constituting separate and independent works in themselves, which + together are assembled into a collective whole. A work that constitutes a + Collection will not be considered an Adaptation (as defined above) for the + purposes of this License. + . + 3. "Creative Commons Compatible License" means a license that is listed at + http://creativecommons.org/compatiblelicenses that has been approved by + Creative Commons as being essentially equivalent to this License, including, + at a minimum, because that license: (i) contains terms that have the same + purpose, meaning and effect as the License Elements of this License; and, + (ii) explicitly permits the relicensing of adaptations of works made + available under that license under this License or a Creative Commons + jurisdiction license with the same License Elements as this License. + . + 4. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or other + transfer of ownership. + . + 5. "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + . + 6. "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + . + 7. "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work or + if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, musicians, + dancers, and other persons who act, sing, deliver, declaim, play in, + interpret or otherwise perform literary or artistic works or expressions + of folklore; (ii) in the case of a phonogram the producer being the person + or legal entity who first fixes the sounds of a performance or other + sounds; and, (iii) in the case of broadcasts, the organization that + transmits the broadcast. + . + 8. "Work" means the literary and/or artistic work offered under the + terms of this License including without limitation any production in + the literary, scientific and artistic domain, whatever may be the mode + or form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other + work of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical composition + with or without words; a cinematographic work to which are assimilated + works expressed by a process analogous to cinematography; a work of + drawing, painting, architecture, sculpture, engraving or lithography; a + photographic work to which are assimilated works expressed by a + process analogous to photography; a work of applied art; an illustration, + map, plan, sketch or three-dimensional work relative to geography, + topography, architecture or science; a performance; a broadcast; a + phonogram; a compilation of data to the extent it is protected as a + copyrightable work; or a work performed by a variety or circus performer + to the extent it is not otherwise considered a literary or artistic work. + . + 9. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + . + 10. "Publicly Perform" means to perform public recitations of the Work + and to communicate to the public those public recitations, by any means + or process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a place + individually chosen by them; to perform the Work to the public by any + means or process and the communication to the public of the performances + of the Work, including by public digital performance; to broadcast and + rebroadcast the Work by any means including signs, sounds or images. + . + 11. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of + a protected performance or phonogram in digital form or other electronic + medium. + . + 2. Fair Dealing Rights. Nothing in this License is intended to reduce, + limit, or restrict any uses free from copyright or rights arising from + limitations or exceptions that are provided for in connection with the + copyright protection under copyright law or other applicable laws. + . + 3. License Grant. Subject to the terms and conditions of this License, + Licensor hereby grants You a worldwide, royalty-free, non-exclusive, + perpetual (for the duration of the applicable copyright) license to + exercise the rights in the Work as stated below: + . + 1. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the Collections; + 2. to create and Reproduce Adaptations provided that any such Adaptation, + including any translation in any medium, takes reasonable steps to + clearly label, demarcate or otherwise identify that changes were made to + the original Work. For example, a translation could be marked "The + original work was translated from English to Spanish," or a modification + could indicate "The original work has been modified."; + 3. to Distribute and Publicly Perform the Work including as incorporated + in Collections; and, + 4. to Distribute and Publicly Perform Adaptations. + 5. For the avoidance of doubt: + 1. Non-waivable Compulsory License Schemes. In those jurisdictions + in which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor reserves + the exclusive right to collect such royalties for any exercise by You + of the rights granted under this License; + 2. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or compulsory + licensing scheme can be waived, the Licensor waives the exclusive right + to collect such royalties for any exercise by You of the rights granted + under this License; and, + 3. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that the Licensor + is a member of a collecting society that administers voluntary licensing + schemes, via that society, from any exercise by You of the rights granted + under this License. + . + The above rights may be exercised in all media and formats whether now + known or hereafter devised. The above rights include the right to make + such modifications as are technically necessary to exercise the rights + in other media and formats. Subject to Section 8(f), all rights not + expressly granted by Licensor are hereby reserved. + . + 4. Restrictions. The license granted in Section 3 above is expressly + made subject to and limited by the following restrictions: + . + 1. You may Distribute or Publicly Perform the Work only under the terms + of this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any terms on + the Work that restrict the terms of this License or the ability of the + recipient of the Work to exercise the rights granted to that recipient + under the terms of the License. You may not sublicense the Work. You must + keep intact all notices that refer to this License and to the disclaimer of + warranties with every copy of the Work You Distribute or Publicly Perform. + When You Distribute or Publicly Perform the Work, You may not impose any + effective technological measures on the Work that restrict the ability of a + recipient of the Work from You to exercise the rights granted to that + recipient under the terms of the License. This Section 4(a) applies to the + Work as incorporated in a Collection, but this does not require the + Collection apart from the Work itself to be made subject to the terms of + this License. If You create a Collection, upon notice from any Licensor You + must, to the extent practicable, remove from the Collection any credit as + required by Section 4(c), as requested. If You create an Adaptation, upon + notice from any Licensor You must, to the extent practicable, remove from + the Adaptation any credit as required by Section 4(c), as requested. + . + 2. You may Distribute or Publicly Perform an Adaptation only under the + terms of: (i) this License; (ii) a later version of this License with the + same License Elements as this License; (iii) a Creative Commons + jurisdiction license (either this or a later license version) that contains + the same License Elements as this License (e.g., Attribution-ShareAlike + 3.0 US)); (iv) a Creative Commons Compatible License. If you license the + Adaptation under one of the licenses mentioned in (iv), you must comply + with the terms of that license. If you license the Adaptation under the + terms of any of the licenses mentioned in (i), (ii) or (iii) (the + "Applicable License"), you must comply with the terms of the Applicable + License generally and the following provisions: (I) You must include a + copy of, or the URI for, the Applicable License with every copy of each + Adaptation You Distribute or Publicly Perform; (II) You may not offer or + impose any terms on the Adaptation that restrict the terms of the + Applicable License or the ability of the recipient of the Adaptation to + exercise the rights granted to that recipient under the terms of the + Applicable License; (III) You must keep intact all notices that refer to + the Applicable License and to the disclaimer of warranties with every copy + of the Work as included in the Adaptation You Distribute or Publicly + Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You + may not impose any effective technological measures on the Adaptation that + restrict the ability of a recipient of the Adaptation from You to exercise + the rights granted to that recipient under the terms of the Applicable + License. This Section 4(b) applies to the Adaptation as incorporated in a + Collection, but this does not require the Collection apart from the + Adaptation itself to be made subject to the terms of the Applicable + License. + . + 3. If You Distribute, or Publicly Perform the Work or any Adaptations or + Collections, You must, unless a request has been made pursuant to Section + 4(a), keep intact all copyright notices for the Work and provide, + reasonable to the medium or means You are utilizing: (i) the name of the + Original Author (or pseudonym, if applicable) if supplied, and/or if the + Original Author and/or Licensor designate another party or parties (e.g., + a sponsor institute, publishing entity, journal) for attribution + ("Attribution Parties") in Licensor's copyright notice, terms of service + or by other reasonable means, the name of such party or parties; (ii) the + title of the Work if supplied; (iii) to the extent reasonably practicable, + the URI, if any, that Licensor specifies to be associated with the Work, + unless such URI does not refer to the copyright notice or licensing + information for the Work; and (iv) , consistent with Ssection 3(b), in the + case of an Adaptation, a credit identifying the use of the Work in the + Adaptation (e.g., "French translation of the Work by Original Author," or + "Screenplay based on original Work by Original Author"). The credit + required by this Section 4(c) may be implemented in any reasonable manner; + provided, however, that in the case of a Adaptation or Collection, at a + minimum such credit will appear, if a credit for all contributing authors + of the Adaptation or Collection appears, then as part of these credits and + in a manner at least as prominent as the credits for the other contributing + authors. For the avoidance of doubt, You may only use the credit required by + this Section for the purpose of attribution in the manner set out above and, + by exercising Your rights under this License, You may not implicitly or + explicitly assert or imply any connection with, sponsorship or endorsement + by the Original Author, Licensor and/or Attribution Parties, as + appropriate, of You or Your use of the Work, without the separate, express + prior written permission of the Original Author, Licensor and/or + Attribution Parties. + . + 4. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute or + Publicly Perform the Work either by itself or as part of any Adaptations + or Collections, You must not distort, mutilate, modify or take other + derogatory action in relation to the Work which would be prejudicial to + the Original Author's honor or reputation. Licensor agrees that in those + jurisdictions (e.g. Japan), in which any exercise of the right granted in + Section 3(b) of this License (the right to make Adaptations) would be + deemed to be a distortion, mutilation, modification or other derogatory + action prejudicial to the Original Author's honor and reputation, the + Licensor will waive or not assert, as appropriate, this Section, to the + fullest extent permitted by the applicable national law, to enable You to + reasonably exercise Your right under Section 3(b) of this License (right + to make Adaptations) but not otherwise. + . + 5. Representations, Warranties and Disclaimer + . + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR + OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY + KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, + INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, + FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF + LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, + WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + . + 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE + LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR + ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES + ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS + BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + . + 7. Termination + . + 1. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections + from You under this License, however, will not have their licenses + terminated provided such individuals or entities remain in full + compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will + survive any termination of this License. + 2. Subject to the above terms and conditions, the license granted + here is perpetual (for the duration of the applicable copyright in + the Work). Notwithstanding the above, Licensor reserves the right to + release the Work under different license terms or to stop distributing + the Work at any time; provided, however that any such election will + not serve to withdraw this License (or any other license that has been, + or is required to be, granted under the terms of this License), and this + License will continue in full force and effect unless terminated as stated + above. + . + 8. Miscellaneous + . + 1. Each time You Distribute or Publicly Perform the Work or a Collection, + the Licensor offers to the recipient a license to the Work on the same + terms and conditions as the license granted to You under this License. + 2. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same terms + and conditions as the license granted to You under this License. + 3. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of + the remainder of the terms of this License, and without further action + by the parties to this agreement, such provision shall be reformed to + the minimum extent necessary to make such provision valid and enforceable. + 4. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in writing + and signed by the party to be charged with such waiver or consent. + 5. This License constitutes the entire agreement between the parties + with respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and You. + 6. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne Convention + for the Protection of Literary and Artistic Works (as amended on + September 28, 1979), the Rome Convention of 1961, the WIPO Copyright + Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 + and the Universal Copyright Convention (as revised on July 24, 1971). + These rights and subject matter take effect in the relevant jurisdiction + in which the License terms are sought to be enforced according to the + corresponding provisions of the implementation of those treaty + provisions in the applicable national law. If the standard suite of + rights granted under applicable copyright law includes additional rights + not granted under this License, such additional rights are deemed to be + included in the License; this License is not intended to restrict the + license of any rights under applicable law. + . + Creative Commons Notice + . + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages whatsoever, + vincluding without limitation any general, special, incidental or + consequential damages arising in connection to this license. + Notwithstanding the foregoing two (2) sentences, if Creative Commons has + expressly identified itself as the Licensor hereunder, it shall have all + rights and obligations of Licensor. + . + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior written + consent of Creative Commons. Any permitted use will be in compliance + with Creative Commons' then-current trademark usage guidelines, as may + be published on its website or otherwise made available upon request + from time to time. For the avoidance of doubt, this trademark restriction + does not form part of this License. + . + Creative Commons may be contacted at http://creativecommons.org/. diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..e4cf55f --- /dev/null +++ b/debian/docs @@ -0,0 +1,2 @@ +README +THANKS diff --git a/debian/install b/debian/install new file mode 100644 index 0000000..527b78f --- /dev/null +++ b/debian/install @@ -0,0 +1,2 @@ +usr/bin +usr/lib diff --git a/debian/manpages b/debian/manpages new file mode 100644 index 0000000..97689e8 --- /dev/null +++ b/debian/manpages @@ -0,0 +1 @@ +debian/shotwell.1 diff --git a/debian/menu b/debian/menu new file mode 100644 index 0000000..a9e689e --- /dev/null +++ b/debian/menu @@ -0,0 +1,2 @@ +?package(shotwell):needs="X11" section="Applications/Viewers"\ + title="Shotwell" command="/usr/bin/shotwell" diff --git a/debian/patches/hardening.patch b/debian/patches/hardening.patch new file mode 100644 index 0000000..bb855fb --- /dev/null +++ b/debian/patches/hardening.patch @@ -0,0 +1,25 @@ +Description: pass compiler flags set in debian/rules to compiler +Author: Devid Antonio Filoni <d.filoni@ubuntu.com> + +Index: shotwell-0.15.0/Makefile +=================================================================== +--- shotwell-0.15.0.orig/Makefile 2013-10-04 02:23:04.000000000 +0200 ++++ shotwell-0.15.0/Makefile 2013-10-13 09:51:58.893357001 +0200 +@@ -35,7 +35,7 @@ + LOCAL_LANG_DIR=locale-langpack + SYSTEM_LANG_DIR := $(DESTDIR)$(PREFIX)/share/locale + +-VALAFLAGS := -g --enable-checking --target-glib=2.32 --thread --fatal-warnings --enable-experimental --enable-deprecated $(USER_VALAFLAGS) ++VALAFLAGS := $(foreach w,$(CPPFLAGS) $(CFLAGS) $(LDFLAGS),-X $(w)) --enable-checking --target-glib=2.32 --thread --fatal-warnings --enable-experimental --enable-deprecated $(USER_VALAFLAGS) + ifdef UNITY_SUPPORT + VALAFLAGS := $(VALAFLAGS) --define UNITY_SUPPORT + endif +@@ -673,7 +673,7 @@ + @ + + $(EXPANDED_OBJ_FILES): %.o: %.c $(CONFIG_IN) Makefile +- $(CC) -c $(VALA_CFLAGS) $(CFLAGS) -o $@ $< ++ $(CC) -c $(VALA_CFLAGS) $(CPPFLAGS) $(CFLAGS) -o $@ $< + + $(PROGRAM): $(EXPANDED_OBJ_FILES) $(RESOURCES) $(LANG_STAMP) $(THUMBNAILER_BIN) misc/gschemas.compiled $(DOC_LANG_STAMP) + $(CC) $(EXPANDED_OBJ_FILES) $(CFLAGS) $(LDFLAGS) $(RESOURCES) $(VALA_LDFLAGS) $(EXPORT_FLAGS) -o $@ diff --git a/debian/patches/libexec.patch b/debian/patches/libexec.patch new file mode 100644 index 0000000..0e06218 --- /dev/null +++ b/debian/patches/libexec.patch @@ -0,0 +1,16 @@ +Description: do not install files in libexec directory +Author: Luca Falavigna <dktrkranz@debian.org> + +Index: shotwell-0.15.0/Makefile +=================================================================== +--- shotwell-0.15.0.orig/Makefile 2013-10-13 09:51:58.893357001 +0200 ++++ shotwell-0.15.0/Makefile 2013-10-13 09:54:33.885361749 +0200 +@@ -27,7 +27,7 @@ + + -include configure.mk + ifndef LIBEXECDIR +-LIBEXECDIR=$(PREFIX)/libexec/shotwell ++LIBEXECDIR=$(PREFIX)/share/shotwell + endif + + CORE_SUPPORTED_LANGUAGES=$(shell cat po/LINGUAS) diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..2535d18 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +hardening.patch +libexec.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..34c940f --- /dev/null +++ b/debian/rules @@ -0,0 +1,16 @@ +#!/usr/bin/make -f + +CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS) +CFLAGS:=$(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS) +CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) $(CPPFLAGS) +LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) +VALAFLAGS:=$(foreach w,$(CPPFLAGS) $(CFLAGS) $(LDFLAGS),-X $(w)) + +%: + dh $@ --dbg-package=shotwell-dbg + +override_dh_auto_configure: + ./configure --prefix=/usr --libexec=/usr/lib --disable-schemas-compile + +override_dh_installchangelogs: + dh_installchangelogs NEWS diff --git a/debian/shotwell-common.install b/debian/shotwell-common.install new file mode 100644 index 0000000..dd222db --- /dev/null +++ b/debian/shotwell-common.install @@ -0,0 +1 @@ +usr/share diff --git a/debian/shotwell.1 b/debian/shotwell.1 new file mode 100644 index 0000000..e68bcc2 --- /dev/null +++ b/debian/shotwell.1 @@ -0,0 +1,14 @@ +.TH shotwell 1 "December 30, 2009" +.SH NAME +shotwell \- a digital photo organizer +.SH DESCRIPTION +.B shotwell +is a digital photo organizer designed for the GNOME desktop environment. It +allows you to import photos from disk or camera, organize them in various ways, +view them in full-window or fullscreen mode, and export them to share with +others. +.SH AUTHOR +shotwell was written by Jim Nelson, Lucas Beeler and Allison Barlow. +.PP +This manual page was written by Devid Antonio Filoni <d.filoni@ubuntu.com>, +for the Debian project (and may be used by others). diff --git a/debian/shotwell.lintian-overrides b/debian/shotwell.lintian-overrides new file mode 100644 index 0000000..f403c2d --- /dev/null +++ b/debian/shotwell.lintian-overrides @@ -0,0 +1 @@ +image-file-in-usr-lib diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/options b/debian/source/options new file mode 100644 index 0000000..74a452b --- /dev/null +++ b/debian/source/options @@ -0,0 +1,2 @@ +compression = "xz" +compression-level = 9 diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..cfc241e --- /dev/null +++ b/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://ftp.gnome.org/pub/gnome/sources/shotwell/([\d\.]+[02468])/shotwell-([\d\.]+)\.tar\.xz |