From 98cf9d04decaf4fdb1655c8346afcd8ec02ab426 Mon Sep 17 00:00:00 2001 From: Denis Leroy Date: Dec 13 2007 17:51:56 +0000 Subject: - Update to upstream 0.96, data corruption bugfix release - Upstreamed config conversion patch --- diff --git a/.cvsignore b/.cvsignore index 70b2073..6d92d25 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -transmission-0.94.tar.bz2 +transmission-0.96.tar.bz2 diff --git a/sources b/sources index 7b9a164..cd718f6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a92aeddeda3cec35fab32eca65c89f9a transmission-0.94.tar.bz2 +99da8d1c1c82e229e0458679f651da23 transmission-0.96.tar.bz2 diff --git a/transmission-0.94-oldconfig.patch b/transmission-0.94-oldconfig.patch deleted file mode 100644 index 81f61d9..0000000 --- a/transmission-0.94-oldconfig.patch +++ /dev/null @@ -1,149 +0,0 @@ ---- transmission-0.94/gtk/conf.h.orig 2007-11-29 23:01:28.000000000 +0100 -+++ transmission-0.94/gtk/conf.h 2007-11-29 22:35:26.000000000 +0100 -@@ -55,5 +55,7 @@ - cf_lock(char **errstr); - char * - cf_sockname(void); -+void -+cf_check_older_configs(void); - - #endif /* TG_CONF_H */ ---- transmission-0.94/gtk/conf.c.orig 2007-11-29 23:01:24.000000000 +0100 -+++ transmission-0.94/gtk/conf.c 2007-11-29 22:59:06.000000000 +0100 -@@ -41,6 +41,7 @@ - - #include "conf.h" - #include "util.h" -+#include - - static char * gl_confdir = NULL; - static char * gl_lockpath = NULL; -@@ -157,6 +158,13 @@ - #define GROUP "general" - - static char* -+getCompat08PrefsFilename( void ) -+{ -+ assert( gl_confdir != NULL ); -+ return g_build_filename( gl_confdir, "prefs", NULL ); -+} -+ -+static char* - getPrefsFilename( void ) - { - assert( gl_confdir != NULL ); -@@ -249,3 +257,103 @@ - g_free( path ); - g_free( filename ); - } -+ -+void -+translate_08_to_09( const char* old, const char* new ) -+{ -+ static struct pref_entry { -+ const char* old; -+ const char* new; -+ } pref_table[] = { -+ { "use-download-limit", "download-limit-enabled" }, -+ { "download-limit", "download-imit"}, -+ { "use-upload-limit", "upload-limit-enabled"}, -+ { "upload-limit", "upload-limit"}, -+ { "ask-download-directory", "prompt-for-download-directory"}, -+ { "download-directory", "default-download-directory"}, -+ { "listening-port", "listening-port"}, -+ { "use-nat-traversal", "nat-traversal-enabled"}, -+ { "use-peer-exchange", "pex-enabled"}, -+ { "use-tray-icon", "system-tray-icon-enabled"}, -+ { "ask-quit", "prompt-before-exit"}, -+ { "add-behavior-standard", "add-behavior-standard"}, -+ { "add-behavior-ipc", "add-behavior-ipc"}, -+ { NULL, NULL } -+ }; -+ -+ struct stat st; -+ if ( stat( old, &st ) != 0 ) -+ return; -+ FILE* fin = fopen( old, "r" ); -+ if ( !fin ) return; -+ -+ char *data = (void*) malloc( st.st_size + 1 ); -+ int br = 0; -+ while ( br < st.st_size ) { -+ int sr = fread( data + br, 1, st.st_size - br, fin ); -+ br += sr; -+ } -+ fclose( fin ); -+ -+ benc_val_t val; -+ memset( &val, 0, sizeof(val) ); -+ int ret = tr_bencLoad( data, st.st_size, &val, NULL ); -+ -+ if ( ret != 0) -+ return; -+ if (val.type != TYPE_DICT) -+ return; -+ -+ FILE* fout = fopen( new, "w" ); -+ fprintf( fout, "\n[general]\n"); -+ -+ int i; -+ for ( i = 0; i < val.val.l.count; i += 2 ) { -+ benc_val_t* key = val.val.l.vals + i; -+ benc_val_t* value = val.val.l.vals + (i + 1); -+ -+ if ( !key || !value || -+ key->type != TYPE_STR || value->type != TYPE_STR ) { -+ goto out; -+ } -+ -+ const char* keystr = key->val.s.s; -+ const char* valstr = value->val.s.s; -+ -+ int j; -+ for ( j = 0; pref_table[j].old != NULL; j++ ) { -+ -+ if ( strcmp( keystr, pref_table[j].old ) == 0 ) { -+ fprintf( fout, "%s=", pref_table[j].new ); -+ if ( strcmp( valstr, "no" ) == 0 ) -+ fprintf( fout, "false\n" ); -+ else if ( strcmp( valstr, "yes" ) == 0 ) -+ fprintf( fout, "true\n" ); -+ else -+ fprintf( fout, "%s\n", valstr ); -+ break; -+ } -+ } -+ } -+ -+ out: -+ fclose( fout ); -+} -+ -+void -+cf_check_older_configs(void) -+{ -+ struct stat config; -+ -+ char *cfn = getPrefsFilename(); -+ char *cfn08 = getCompat08PrefsFilename(); -+ -+ if (stat(cfn, &config) != 0 && -+ stat(cfn08, &config) == 0) { -+ -+ translate_08_to_09( cfn08, cfn ); -+ } -+ -+ g_free( cfn ); -+ g_free( cfn08 ); -+} ---- transmission-0.94/gtk/tr_prefs.c.orig 2007-11-29 23:01:40.000000000 +0100 -+++ transmission-0.94/gtk/tr_prefs.c 2007-11-29 22:43:37.000000000 +0100 -@@ -26,6 +26,8 @@ - void - tr_prefs_init_global( void ) - { -+ cf_check_older_configs(); -+ - pref_flag_set_default ( PREF_KEY_DL_LIMIT_ENABLED, FALSE ); - pref_int_set_default ( PREF_KEY_DL_LIMIT, 100 ); - pref_flag_set_default ( PREF_KEY_UL_LIMIT_ENABLED, FALSE ); diff --git a/transmission.spec b/transmission.spec index 7f9f409..896a898 100644 --- a/transmission.spec +++ b/transmission.spec @@ -1,6 +1,6 @@ Name: transmission -Version: 0.94 +Version: 0.96 Release: 1%{?dist} Summary: A lightweight GTK+ BitTorrent client @@ -9,7 +9,6 @@ License: MIT URL: http://transmission.m0k.org/ Source0: http://download.m0k.org/transmission/files/transmission-%{version}.tar.bz2 Patch0: transmission-0.81-downloaddir.patch -Patch1: transmission-0.94-oldconfig.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: openssl-devel >= 0.9.4 @@ -28,7 +27,6 @@ back-end. %prep %setup -q %patch0 -p1 -b .dwnldir -%patch1 -p1 -b .oldcfg %build @@ -69,6 +67,10 @@ update-desktop-database > /dev/null 2>&1 || : %changelog +* Tue Dec 11 2007 Denis Leroy - 0.96-1 +- Update to upstream 0.96, data corruption bugfix release +- Upstreamed config conversion patch + * Thu Nov 29 2007 Denis Leroy - 0.94-1 - Update to upstream 0.94, many bugfixes - Added patch to convert config file from 0.8x versions