From: Dennis H. <dh...@2t...> - 2008-03-30 17:36:55
|
First of all a big "thank you" to the maintainers - py2exe is extremely useful, and your efforts are much appreciated here :) I'd like to be able to rename executables built with py2exe 0.6.6, so I have downloaded py2exe-0.6.6-libname-fix.patch ( http://snaury.googlepages.com/py2exe-0.6.6-libname-fix.patch ) from http://www.py2exe.org/index.cgi/ProblemsToBeFixed \source\start.c is giving me grief when trying to patch the sources, though; patching the released 0.6.6. as well as the CVS doesn't work for me. I'm terribly inexperienced with patching with .diff files, so I hope someone can bring some clarity to these matters. Hints, suggestions are most welcome - thanks in advance Here's what I have tried so far, first the released version, then the CVS version. Trying to patch the CVS version (directory renamed to py2exe-0.6.6), I get: C:\>patch -p0 <py2exe-0.6.6-libname-fix.patch patching file py2exe-0.6.6/py2exe/build_exe.py Hunk #1 succeeded at 778 (offset 5 lines). patching file py2exe-0.6.6/source/start.c Hunk #1 succeeded at 136 (offset 10 lines). Hunk #2 FAILED at 273. 1 out of 2 hunks FAILED -- saving rejects to file py2exe-0.6.6/source/start.c.rej Contents of the file start.c.rej: ----------------start file -------------- *************** *** 269,290 **** */ char *fname; size_t lib_dir_len; - pZipBaseName = pScript - 1; /* let pZipBaseName point to the basename of the zippath */ - while (pZipBaseName > p_script_info->zippath && \ *(pZipBaseName-1) != '\\') pZipBaseName--; - /* dirname is the directory of the executable */ - strcpy(libdirname, dirname); /* length of lib director name */ - lib_dir_len = pZipBaseName-p_script_info->zippath; /* incl. tail slash */ if (lib_dir_len) { - char *p = libdirname+strlen(libdirname); - *p++ = '\\'; - strncpy(p, p_script_info->zippath, lib_dir_len-1); p += lib_dir_len-1; *p++ = '\0'; } /* Fully-qualify it */ --- 273,293 ---- */ char *fname; size_t lib_dir_len; + pZipBaseName = libfilename + strlen(libfilename); /* let pZipBaseName point to the basename of the zippath */ + while (pZipBaseName > libfilename && \ *(pZipBaseName-1) != '\\') pZipBaseName--; /* length of lib director name */ + lib_dir_len = pZipBaseName-libfilename; /* incl. tail slash */ if (lib_dir_len) { + char *p = libdirname; + strncpy(p, libfilename, lib_dir_len-1); p += lib_dir_len-1; *p++ = '\0'; + } else { + libdirname[0] = '\0'; } /* Fully-qualify it */ --------- file ends ----------------- Trying to patch the released version's source code, I get: C:\>patch -p0 <py2exe-0.6.6-libname-fix.patch patching file py2exe-0.6.6/py2exe/build_exe.py patching file py2exe-0.6.6/source/start.c Hunk #2 FAILED at 263. 1 out of 2 hunks FAILED -- saving rejects to file py2exe-0.6.6/source/start.c.rej Contents of the file start.c.rej: ----------------start file -------------- *************** *** 259,280 **** */ char *fname; size_t lib_dir_len; - pZipBaseName = pScript - 1; /* let pZipBaseName point to the basename of the zippath */ - while (pZipBaseName > p_script_info->zippath && \ *(pZipBaseName-1) != '\\') pZipBaseName--; - /* dirname is the directory of the executable */ - strcpy(libdirname, dirname); /* length of lib director name */ - lib_dir_len = pZipBaseName-p_script_info->zippath; /* incl. tail slash */ if (lib_dir_len) { - char *p = libdirname+strlen(libdirname); - *p++ = '\\'; - strncpy(p, p_script_info->zippath, lib_dir_len-1); p += lib_dir_len-1; *p++ = '\0'; } /* Fully-qualify it */ --- 263,283 ---- */ char *fname; size_t lib_dir_len; + pZipBaseName = libfilename + strlen(libfilename); /* let pZipBaseName point to the basename of the zippath */ + while (pZipBaseName > libfilename && \ *(pZipBaseName-1) != '\\') pZipBaseName--; /* length of lib director name */ + lib_dir_len = pZipBaseName-libfilename; /* incl. tail slash */ if (lib_dir_len) { + char *p = libdirname; + strncpy(p, libfilename, lib_dir_len-1); p += lib_dir_len-1; *p++ = '\0'; + } else { + libdirname[0] = '\0'; } /* Fully-qualify it */ ---------file ends -------------- |
From: Jimmy R. <ji...@re...> - 2008-04-01 10:58:34
|
On 3/30/08 10:37 AM, "Dennis Hestbech" <dh...@2t...> wrote: > I'd like to be able to rename executables built with py2exe 0.6.6, so I have > downloaded py2exe-0.6.6-libname-fix.patch > <http://snaury.googlepages.com/py2exe-0.6.6-libname-fix.patch> from > http://www.py2exe.org/index.cgi/ProblemsToBeFixed Thomas has just applied the patch in CVS (thanks!). You can build from source and hopefully it'll work for you now. Also, 0.6.7 will be out any day now and it will include this as well. Jimmy |
From: Thomas H. <th...@ct...> - 2008-04-01 12:35:08
|
Jimmy Retzlaff schrieb: > On 3/30/08 10:37 AM, "Dennis Hestbech" <dh...@2t...> wrote: > >> I'd like to be able to rename executables built with py2exe 0.6.6, so I have >> downloaded py2exe-0.6.6-libname-fix.patch >> <http://snaury.googlepages.com/py2exe-0.6.6-libname-fix.patch> from >> http://www.py2exe.org/index.cgi/ProblemsToBeFixed > > Thomas has just applied the patch in CVS (thanks!). You can build from > source and hopefully it'll work for you now. Also, 0.6.7 will be out any day > now and it will include this as well. Jimmy, please increment the version number to something other than 0.6.7; either 0.6.7.1 ot 0.6.8. We have been using a private build of 0.6.7 for some time now, and it would avoid confusion. Also, it would probably be worth to include the other path from the ProblemsToBeFixed page, after testing it. Thanks, Thomas |
From: Werner F. B. <wer...@fr...> - 2008-04-01 14:49:34
|
Jimmy, Jimmy Retzlaff wrote: ... > > Thomas has just applied the patch in CVS (thanks!). You can build from > source and hopefully it'll work for you now. Also, 0.6.7 will be out any day > now and it will include this as well. Will this next release include "egg" support and/or recipe support along the lines bbfreeze has done? Werner |
From: Jimmy R. <ji...@re...> - 2008-04-03 22:27:06
|
On 4/1/08 7:49 AM, "Werner F. Bruhin" <wer...@fr...> wrote: > Will this next release include "egg" support and/or recipe support along > the lines bbfreeze has done? Not yet. :( I want to get a release out with the changes that have been made over the past year, then eggs are next. The way my schedule is right now I can get a few hours in each week, so the progress should be slow but steady (which is a big improvement over the last year). Jimmy |
From: Werner F. B. <wer...@fr...> - 2008-04-04 08:26:02
|
Jimmy Retzlaff wrote: > On 4/1/08 7:49 AM, "Werner F. Bruhin" <wer...@fr...> wrote: >> Will this next release include "egg" support and/or recipe support along >> the lines bbfreeze has done? > > Not yet. :( No problem, there are workarounds. > > I want to get a release out with the changes that have been made over the > past year, then eggs are next. Great. Anyhow thanks for all the work you and Thomas are doing on py2exe. Werner |