~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to tools/win32/bzr-win32-bdist-postinstall.py

  • Committer: Alexander Belchenko
  • Date: 2006-06-29 09:15:47 UTC
  • mto: (1860.1.1 win32.installer)
  • mto: This revision was merged to the branch mainline in revision 1906.
  • Revision ID: bialix@ukr.net-20060629091547-540fc31b864d5b26
resurrected python's distutils based installer for win32

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# (c) Canonical Ltd, 2006
 
2
# written by Alexander Belchenko for bzr project
 
3
#
 
4
# This script will be executed after installation of bzrlib package
 
5
# and before installer exits.
 
6
# All printed data will appear on the last screen of installation
 
7
# procedure.
 
8
# The main goal of this script is to create special batch file
 
9
# launcher for bzr. Typical content of this batch file is:
 
10
#  @python bzr %*
 
11
#
 
12
# This file works only on Windows 2000/XP. For win98 there is
 
13
# should be "%1 %2 %3 %4 %5 %6 %7 %8 %9" instead of "%*".
 
14
# Or even more complex thing.
 
15
#
 
16
# [bialix]: bzr de-facto does not support win98.
 
17
#           Although it seems to work on. Sometimes.
 
18
 
 
19
import os
 
20
import sys
 
21
 
 
22
if len(sys.argv) == 2 and sys.argv[1] == "-install":
 
23
    # try to detect version number automatically
 
24
    try:
 
25
        import bzrlib
 
26
    except ImportError:
 
27
        ver = ''
 
28
    else:
 
29
        ver = bzrlib.__version__
 
30
 
 
31
    ##
 
32
    # XXX change message for something more appropriate
 
33
    print """Bazaar-NG %s
 
34
 
 
35
Congratulation! Bzr successfully installed.
 
36
 
 
37
""" % ver
 
38
 
 
39
    batch_path = "bzr.bat"
 
40
    prefix = sys.prefix
 
41
    try:
 
42
        ##
 
43
        # try to create
 
44
        scripts_dir = os.path.join(prefix, "Scripts")
 
45
        script_path = os.path.join(scripts_dir, "bzr")
 
46
        python_path = os.path.join(prefix, "python.exe")
 
47
        batch_str = "@%s %s %%*\n" % (python_path, script_path)
 
48
        batch_path = script_path + ".bat"
 
49
        f = file(batch_path, "w")
 
50
        f.write(batch_str)
 
51
        f.close()
 
52
        file_created(batch_path)        # registering manually created files for
 
53
                                        # auto-deinstallation procedure
 
54
        ##
 
55
        # inform user where batch launcher is.
 
56
        print "Created:", batch_path
 
57
        print "Use this batch file to run bzr"
 
58
    except Exception, e:
 
59
        print "ERROR: Unable to create %s: %s" % (batch_path, e)