[PATCH] win32 installer for bzr 0.9: rev.2
John Arbash Meinel
john at arbash-meinel.com
Mon Jul 31 22:53:21 BST 2006
You sent this email 2 times. I'm assuming they have the same contents.
Alexander Belchenko wrote:
> John Arbash Meinel пишет:
...
> I rework it in slightly different way (quote path only if it contains
> spaces). I also do minor support of win98 (instead of %* args
> palceholder I use '%1 ... %9' sequence when installed on win98).
okay. I don't really want people getting the idea that we support win98,
but since bzr mostly works there, I guess there is no reason to
expressly forbid it.
>
>> I also feel like it would be better to use
>> sys.executable, rather than joining prefix + 'python.exe'.
>
> No. Your feelings is wrong. This script (bzr-win32-bdist-postinstall.py)
> launched during installation phase when user runs bzr-0.9.win32.exe
> installer. And for this script sys.executable equals to full path to
> installer. Not to python interpreter. So "prefix + 'python.exe'" is right.
>
I think you are saying you spawn 'python
bzr-win32-bdist-postinstall.py', or the equivalent.
sys.executable == a python executable, *not* the script that is running
(that is sys.argv[0])
If sys.executable == 'bzr-0.9.win32.exe', how do you know that it is
sitting in the same directory as 'python.exe'?
I think I understand that bzr-0.9.win32.exe is just the installer, not a
python interpreter. Which would mean that you still should use
'sys.executable'.
...
>> ^- Why is this failing? Because the standalone doesn't have a 'doc/api'
>> directory?
>
> It's failing because in standalone bzr.exe bzrlib itself packed inside
> library.zip archive. So it simply cannot be os-listdir-able. When I work
> on installer in early may I ask about this. You can search trough
> maillist archive. Someone point me that doctest could be improved to use
> zipimport module to actually obtain list of packed *.txt files with
> doctests. But I looks too complex for this minor issue.
>
Yeah, you mentioned this briefly already, I'm okay with what you are doing.
...
> +Making installers for OS Windows
> +================================
> +To build a win32 installer, see the instructions at wiki page:
> +http://bazaar-vcs.org/BzrWin32Installer
> +
> +
> :: vim: ft=rst tw=74 ai
'see the instructions on the wiki page:'
> # win32 installer for bzr.exe
> installer: exe copy_docs
> - @echo Make windows installer
> - cog.py -d -o tools\win32\bzr.iss tools\win32\bzr.iss.cog
> - "C:\Program Files\Inno Setup 5\iscc" /Q tools\win32\bzr.iss
> + @echo *** Make windows installer
> + cog.py -d -o tools/win32/bzr.iss tools/win32/bzr.iss.cog
> + iscc /Q tools/win32/bzr.iss
Shouldn't this be 'python cog.py' to be consistent with your other changes.
v--- It seems like it would be better to do:
META_INFO.update({'version':get_bzr_version()})
Earlier, rather than having to do it twice. Especially since you've
already updated ARGS, which would set version = '<unknown>'
Is there a code path that doesn't need version to be set?
> +def get_bzr_version():
> + import bzrlib
> + return bzrlib.__version__
> +
> +
> if 'bdist_wininst' in sys.argv:
> import glob
> # doc files
> @@ -142,6 +163,7 @@
> }
>
> ARGS.update(META_INFO)
> + ARGS.update({'version': get_bzr_version()})
> ARGS.update(BZRLIB)
>
> setup(**ARGS)
> @@ -197,7 +219,7 @@
> }
>
> ARGS.update(META_INFO)
> + ARGS.update({'version': get_bzr_version()})
> ARGS.update(BZRLIB)
>
> setup(**ARGS)
...
I think it is just about ready for merging. If you can do the last few
bits, we'll get it merged this week.
John
=:->
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 254 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060731/28d41206/attachment.pgp
More information about the bazaar
mailing list