From f77da253b0b571712adc9a9fb2ce0716251f3653 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Nov 12 2013 14:06:33 +0000 Subject: Default to the XDG cache dir for receiving files Conflicts: bluez.spec --- diff --git a/0001-obex-Use-user-s-cache-dir-as-a-default-root.patch b/0001-obex-Use-user-s-cache-dir-as-a-default-root.patch new file mode 100644 index 0000000..9cdbd3e --- /dev/null +++ b/0001-obex-Use-user-s-cache-dir-as-a-default-root.patch @@ -0,0 +1,53 @@ +From 841896ae172c08c1652af88d0994f0349912ed14 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Sun, 10 Nov 2013 15:24:20 +0100 +Subject: [PATCH] obex: Use user's cache dir as a default root + +It's per-user, so we won't try to overwrite somebody else's +files in /tmp when that happens. It's also (unless we have a +particularly bizarre setup) on the same partition as the destination +folder which means we can atomically move the file to the destination +with a unique filename. +--- + obexd/src/main.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/obexd/src/main.c b/obexd/src/main.c +index 61a06b2..80645f8 100644 +--- a/obexd/src/main.c ++++ b/obexd/src/main.c +@@ -50,8 +50,6 @@ + #include "obexd.h" + #include "server.h" + +-#define DEFAULT_ROOT_PATH "/tmp" +- + #define DEFAULT_CAP_FILE CONFIGDIR "/capability.xml" + + static GMainLoop *main_loop = NULL; +@@ -167,7 +165,7 @@ static GOptionEntry options[] = { + "Specify root folder location. Both absolute " + "and relative can be used, but relative paths " + "are assumed to be relative to user $HOME " +- "folder", "PATH" }, ++ "folder. Default $XDG_CACHE_HOME", "PATH" }, + { "root-setup", 'S', 0, G_OPTION_ARG_STRING, &option_root_setup, + "Root folder setup script", "SCRIPT" }, + { "symlinks", 'l', 0, G_OPTION_ARG_NONE, &option_symlinks, +@@ -285,8 +283,11 @@ int main(int argc, char *argv[]) + exit(EXIT_FAILURE); + } + +- if (option_root == NULL) +- option_root = g_strdup(DEFAULT_ROOT_PATH); ++ if (option_root == NULL) { ++ option_root = g_build_filename(g_get_user_cache_dir(), "obexd", ++ NULL); ++ g_mkdir_with_parents(option_root, 0700); ++ } + + if (option_root[0] != '/') { + char *old_root = option_root, *home = getenv("HOME"); +-- +1.8.4.2 + diff --git a/bluez.spec b/bluez.spec index faa2624..30f08b3 100644 --- a/bluez.spec +++ b/bluez.spec @@ -3,7 +3,7 @@ Summary: Bluetooth utilities Name: bluez Version: 5.10 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2+ Group: Applications/System URL: http://www.bluez.org/ @@ -17,6 +17,8 @@ Patch1: playstation-peripheral-pugin-v5.x.patch Patch2: 0001-work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch # Non-upstream Patch3: 0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch +# Upstream patch +Patch4: 0001-obex-Use-user-s-cache-dir-as-a-default-root.patch BuildRequires: git BuildRequires: dbus-devel >= 0.90 @@ -228,6 +230,9 @@ mkdir -p $RPM_BUILD_ROOT/%{_libdir}/bluetooth/ /lib/udev/rules.d/97-hid2hci.rules %changelog +* Tue Nov 12 2013 Bastien Nocera 5.10-4 +- Default to the XDG cache dir for receiving files + * Mon Oct 21 2013 Bastien Nocera 5.10-3 - Remove a few obsolete BRs and deps, thanks to Marcel Holtmann