From b9678dab44cfb0f1ab4904ee12ac5b3719599b83 Mon Sep 17 00:00:00 2001 From: Vincent Untz <vuntz@gnome.org> Date: Mon, 23 May 2011 18:34:46 +0200 Subject: [PATCH] Register /bin/true as URI scheme handler for several schemes Starting with glib 2.28, we don't use gconf to find out which handler should be used for a URI scheme, and we need to provide a custom MIME configuration for the gdm user to ensure no default URI scheme handler is used. --- data/Makefile.am | 10 ++++++++++ data/mime-dummy-handler.desktop | 6 ++++++ data/mimeapps.list | 19 +++++++++++++++++++ 3 files changed, 35 insertions(+), 0 deletions(-) create mode 100644 data/mime-dummy-handler.desktop create mode 100644 data/mimeapps.list diff --git a/data/mime-dummy-handler.desktop b/data/mime-dummy-handler.desktop new file mode 100644 index 0000000..c94779c --- /dev/null +++ b/data/mime-dummy-handler.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Type=Application +Name=Dummy URI Handler +Exec=/bin/true %U +Terminal=false +StartupNotify=false diff --git a/data/mimeapps.list b/data/mimeapps.list new file mode 100644 index 0000000..db3a144 --- /dev/null +++ b/data/mimeapps.list @@ -0,0 +1,19 @@ +[Default Applications] +x-scheme-handler/file=mime-dummy-handler.desktop +x-scheme-handler/ftp=mime-dummy-handler.desktop +x-scheme-handler/ghelp=mime-dummy-handler.desktop +x-scheme-handler/help=mime-dummy-handler.desktop +x-scheme-handler/http=mime-dummy-handler.desktop +x-scheme-handler/https=mime-dummy-handler.desktop +x-scheme-handler/info=mime-dummy-handler.desktop +x-scheme-handler/irc=mime-dummy-handler.desktop +x-scheme-handler/itms=mime-dummy-handler.desktop +x-scheme-handler/mailto=mime-dummy-handler.desktop +x-scheme-handler/man=mime-dummy-handler.desktop +x-scheme-handler/mms=mime-dummy-handler.desktop +x-scheme-handler/rtp=mime-dummy-handler.desktop +x-scheme-handler/rtsp=mime-dummy-handler.desktop +x-scheme-handler/sip=mime-dummy-handler.desktop +x-scheme-handler/trash=mime-dummy-handler.desktop +x-scheme-handler/webcal=mime-dummy-handler.desktop +x-scheme-handler/xmpp=mime-dummy-handler.desktop diff --git a/data/Makefile.am b/data/Makefile.am index cc66eab..cc255c3 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -104,6 +104,8 @@ EXTRA_DIST = \ PostLogin \ gconf.path \ session-setup.entries \ + mime-dummy-handler.desktop \ + mimeapps.list \ $(NULL) CLEANFILES = \ @@ -246,7 +248,15 @@ install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession gconf.pa chown root:gdm $(DESTDIR)$(spooldir) || : ; \ fi + if test '!' -d $(DESTDIR)$(workingdir)/.local/share/applications; then \ + $(mkinstalldirs) $(DESTDIR)$(workingdir)/.local/share/applications; \ + chmod 0755 $(DESTDIR)$(workingdir)/.local/share/applications; \ + chown gdm:gdm $(DESTDIR)$(workingdir)/.local/share/applications || : ; \ + fi + $(INSTALL_DATA) $(srcdir)/gconf.path $(DESTDIR)$(workingdir)/.gconf.path + $(INSTALL_DATA) $(srcdir)/mime-dummy-handler.desktop $(DESTDIR)$(workingdir)/.local/share/applications/mime-dummy-handler.desktop + $(INSTALL_DATA) $(srcdir)/mimeapps.list $(DESTDIR)$(workingdir)/.local/share/applications/mimeapps.list gconftool-2 --direct --config-source=xml:merged:$(DESTDIR)$(workingdir)/.gconf.mandatory --recursive-unset / gconftool-2 --direct --config-source=xml:merged:$(DESTDIR)$(workingdir)/.gconf.mandatory --load $(srcdir)/session-setup.entries chown -R root:gdm $(DESTDIR)$(workingdir)/.gconf.mandatory || :