public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/transmission] epel10: - Use XDG Download directory (#490950)
@ 2026-07-20 20:36 Lubomir Rintel
  0 siblings, 0 replies; only message in thread
From: Lubomir Rintel @ 2026-07-20 20:36 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/transmission
Branch : epel10
Commit : f6b91e5129600c7ffe28c0c7c1331efe988fcf9d
Author : Lubomir Rintel <lkundrak@fedoraproject.org>
Date   : 2009-03-28T11:52:48+00:00
Stats  : +144/-1 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/transmission/c/f6b91e5129600c7ffe28c0c7c1331efe988fcf9d?branch=epel10

Log:
- Use XDG Download directory (#490950)

---
diff --git a/transmission-1.51-xdg-download-dir.patch b/transmission-1.51-xdg-download-dir.patch
new file mode 100644
index 0000000..5d74d60
--- /dev/null
+++ b/transmission-1.51-xdg-download-dir.patch
@@ -0,0 +1,138 @@
+Use the XDG download directory for downloads instead of
+made-up unusally nonesixtent ~/Downloads (fall back to it
+in case there's no XDG user dir configuration).
+
+Lubomir Rintel <lkundrak@v3.sk>
+
+diff -up transmission-1.51/libtransmission/platform.c.xdg-download-dir transmission-1.51/libtransmission/platform.c
+--- transmission-1.51/libtransmission/platform.c.xdg-download-dir	2009-03-28 12:30:43.817212449 +0100
++++ transmission-1.51/libtransmission/platform.c	2009-03-28 12:31:39.752214378 +0100
+@@ -443,15 +443,124 @@ tr_getDefaultConfigDir( const char * app
+     return s;
+ }
+ 
++/* This was stolen from gthumb, though it probably originates from
++ * xdg-user-dirs's xdg-user-dir-lookup.c. See:
++ * http://www.redhat.com/archives/fedora-devel-list/2007-March/msg00677.html
++ */
+ const char*
+ tr_getDefaultDownloadDir( void )
+ {
+-    static char * s = NULL;
++    static char * user_dir = NULL;
++    char type[] = "DOWNLOAD";
++    FILE * file;
++    char * home_dir, * config_home, * config_file;
++    char buffer[512];
++    char * p, * d;
++    int len;
++    int relative;
++
++    if( user_dir != NULL )
++        return user_dir;
++
++    home_dir = getenv( "HOME" );
++    if( home_dir == NULL )
++        return strdup("/tmp" );
+ 
+-    if( s == NULL )
+-        s = tr_buildPath( getHomeDir( ), "Downloads", NULL );
++    config_home = getenv( "XDG_CONFIG_HOME" );
++    if( config_home == NULL || config_home[0] == 0 )
++    {
++        config_file = malloc( strlen( home_dir ) + strlen( "/.config/user-dirs.dirs" ) + 1 );
++        strcpy( config_file, home_dir );
++        strcat( config_file, "/.config/user-dirs.dirs" );
++    } 
++    else
++    {
++        config_file = malloc( strlen ( config_home ) + strlen( "/user-dirs.dirs" ) + 1 );
++        strcpy( config_file, config_home );
++        strcat( config_file, "/user-dirs.dirs" );
++    }
+ 
+-    return s;
++    file = fopen( config_file, "r" );
++    free( config_file );
++    if( file == NULL )
++        goto error;
++
++    while( fgets( buffer, sizeof( buffer ), file ) )
++    {
++        /* Remove newline at end */
++        len = strlen( buffer );
++        if( len > 0 && buffer[len-1] == '\n' )
++        buffer[len-1] = 0;
++      
++        p = buffer;
++        while( *p == ' ' || *p == '\t' )
++            p++;
++      
++        if( strncmp( p, "XDG_", 4 ) != 0 )
++            continue;
++        p += 4;
++
++        if( strncmp(p, type, strlen (type )) != 0)
++            continue;
++        p += strlen( type );
++
++        if( strncmp(p, "_DIR", 4 ) != 0)
++            continue;
++        p += 4;
++
++        while( *p == ' ' || *p == '\t' )
++            p++;
++
++        if( *p != '=' )
++            continue;
++        p++;
++      
++        while( *p == ' ' || *p == '\t' )
++            p++;
++
++        if( *p != '"' )
++            continue;
++        p++;
++      
++        relative = 0;
++        if( strncmp(p, "$HOME/", 6 ) == 0)
++        {
++            p += 6;
++            relative = 1;
++        }
++        else
++            if( *p != '/' )
++                continue;
++      
++        if( relative )
++        {
++            user_dir = malloc( strlen ( home_dir ) + 1 + strlen ( p ) + 1 );
++            strcpy( user_dir, home_dir );
++            strcat( user_dir, "/" );
++        }
++        else
++        {
++            user_dir = malloc( strlen ( p ) + 1 );
++            *user_dir = 0;
++        }
++      
++        d = user_dir + strlen( user_dir );
++        while( *p && *p != '"' )
++        {
++            if( ( *p == '\\' ) && ( *( p + 1 ) != 0 ))
++                p++;
++            *d++ = *p++;
++        }
++        *d = 0;
++    }  
++    
++    fclose( file );
++
++error:
++    if( !user_dir )
++            user_dir = tr_buildPath(  getHomeDir(  ), "Downloads", NULL );
++
++    return user_dir;
+ }
+ 
+ /***

diff --git a/transmission.spec b/transmission.spec
index 824b7d7..4b84d92 100644
--- a/transmission.spec
+++ b/transmission.spec
@@ -1,7 +1,7 @@
 
 Name:           transmission
 Version:        1.51
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        A lightweight GTK+ BitTorrent client
 
 Group:          Applications/Internet
@@ -9,6 +9,7 @@ Group:          Applications/Internet
 License:        MIT and GPLv2
 URL:            http://www.transmissionbt.com/
 Source0:        http://download.m0k.org/transmission/files/transmission-%{version}.tar.bz2
+Patch0:         transmission-1.51-xdg-download-dir.patch
 Patch2:         transmission-1.51-copt.patch
 Patch3:         transmission-1.51-libevent.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -32,6 +33,7 @@ back-end.
 
 %prep
 %setup -q
+%patch0 -p1 -b .xdg-download-dir
 %patch2 -p1 -b .copt
 %patch3 -p1 -b .libevent
 
@@ -80,6 +82,9 @@ update-desktop-database > /dev/null 2>&1 || :
 
 
 %changelog
+* Sat Mar 28 2009 Lubomir Rintel <lkundrak@v3.sk> - 1.51-2
+- Use XDG Download directory (#490950)
+
 * Sat Feb 28 2009 Denis Leroy <denis@poolshark.org> - 1.51-1
 - Update to upstream 1.51
 - Added icon cache scriplets (#487824)

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-20 20:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-20 20:36 [rpms/transmission] epel10: - Use XDG Download directory (#490950) Lubomir Rintel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox