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 | 
