Mercurial > cpython-lru_cache-weakref
annotate Mac/scripts/buildpkg.py @ 27998:e27f58a50737 legacy-trunk
SF bug #690377: Dud footnote reference in distutils docs
| author | Raymond Hettinger <python@rcn.com> |
|---|---|
| date | Fri, 21 Feb 2003 02:47:09 +0000 |
| parents | d1edaaa938fb |
| children | e339ad250af0 |
| rev | line source |
|---|---|
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
2 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
3 """buildpkg.py -- Build OS X packages for Apple's Installer.app. |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
4 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
5 This is an experimental command-line tool for building packages to be |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
6 installed with the Mac OS X Installer.app application. |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
7 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
8 It is much inspired by Apple's GUI tool called PackageMaker.app, that |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
9 seems to be part of the OS X developer tools installed in the folder |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
10 /Developer/Applications. But apparently there are other free tools to |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
11 do the same thing which are also named PackageMaker like Brian Hill's |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
12 one: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
13 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
14 http://personalpages.tds.net/~brian_hill/packagemaker.html |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
15 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
16 Beware of the multi-package features of Installer.app (which are not |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
17 yet supported here) that can potentially screw-up your installation |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
18 and are discussed in these articles on Stepwise: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
19 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
20 http://www.stepwise.com/Articles/Technical/Packages/InstallerWoes.html |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
21 http://www.stepwise.com/Articles/Technical/Packages/InstallerOnX.html |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
22 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
23 Beside using the PackageMaker class directly, by importing it inside |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
24 another module, say, there are additional ways of using this module: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
25 the top-level buildPackage() function provides a shortcut to the same |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
26 feature and is also called when using this module from the command- |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
27 line. |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
28 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
29 **************************************************************** |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
30 NOTE: For now you should be able to run this even on a non-OS X |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
31 system and get something similar to a package, but without |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
32 the real archive (needs pax) and bom files (needs mkbom) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
33 inside! This is only for providing a chance for testing to |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
34 folks without OS X. |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
35 **************************************************************** |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
36 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
37 TODO: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
38 - test pre-process and post-process scripts (Python ones?) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
39 - handle multi-volume packages (?) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
40 - integrate into distutils (?) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
41 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
42 Dinu C. Gherman, |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
43 gherman@europemail.com |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
44 November 2001 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
45 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
46 !! USE AT YOUR OWN RISK !! |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
47 """ |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
48 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
49 __version__ = 0.2 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
50 __license__ = "FreeBSD" |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
51 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
52 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
53 import os, sys, glob, fnmatch, shutil, string, copy, getopt |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
54 from os.path import basename, dirname, join, islink, isdir, isfile |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
55 |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
56 Error = "buildpkg.Error" |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
57 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
58 PKG_INFO_FIELDS = """\ |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
59 Title |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
60 Version |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
61 Description |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
62 DefaultLocation |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
63 Diskname |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
64 DeleteWarning |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
65 NeedsAuthorization |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
66 DisableStop |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
67 UseUserMask |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
68 Application |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
69 Relocatable |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
70 Required |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
71 InstallOnly |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
72 RequiresReboot |
|
27582
d1edaaa938fb
patch #678211 from Robin Dunn
Just van Rossum <just@letterror.com>
parents:
25150
diff
changeset
|
73 RootVolumeOnly |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
74 InstallFat\ |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
75 """ |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
76 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
77 ###################################################################### |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
78 # Helpers |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
79 ###################################################################### |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
80 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
81 # Convenience class, as suggested by /F. |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
82 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
83 class GlobDirectoryWalker: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
84 "A forward iterator that traverses files in a directory tree." |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
85 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
86 def __init__(self, directory, pattern="*"): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
87 self.stack = [directory] |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
88 self.pattern = pattern |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
89 self.files = [] |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
90 self.index = 0 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
91 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
92 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
93 def __getitem__(self, index): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
94 while 1: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
95 try: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
96 file = self.files[self.index] |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
97 self.index = self.index + 1 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
98 except IndexError: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
99 # pop next directory from stack |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
100 self.directory = self.stack.pop() |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
101 self.files = os.listdir(self.directory) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
102 self.index = 0 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
103 else: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
104 # got a filename |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
105 fullname = join(self.directory, file) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
106 if isdir(fullname) and not islink(fullname): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
107 self.stack.append(fullname) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
108 if fnmatch.fnmatch(file, self.pattern): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
109 return fullname |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
110 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
111 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
112 ###################################################################### |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
113 # The real thing |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
114 ###################################################################### |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
115 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
116 class PackageMaker: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
117 """A class to generate packages for Mac OS X. |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
118 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
119 This is intended to create OS X packages (with extension .pkg) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
120 containing archives of arbitrary files that the Installer.app |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
121 will be able to handle. |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
122 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
123 As of now, PackageMaker instances need to be created with the |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
124 title, version and description of the package to be built. |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
125 The package is built after calling the instance method |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
126 build(root, **options). It has the same name as the constructor's |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
127 title argument plus a '.pkg' extension and is located in the same |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
128 parent folder that contains the root folder. |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
129 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
130 E.g. this will create a package folder /my/space/distutils.pkg/: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
131 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
132 pm = PackageMaker("distutils", "1.0.2", "Python distutils.") |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
133 pm.build("/my/space/distutils") |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
134 """ |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
135 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
136 packageInfoDefaults = { |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
137 'Title': None, |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
138 'Version': None, |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
139 'Description': '', |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
140 'DefaultLocation': '/', |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
141 'Diskname': '(null)', |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
142 'DeleteWarning': '', |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
143 'NeedsAuthorization': 'NO', |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
144 'DisableStop': 'NO', |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
145 'UseUserMask': 'YES', |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
146 'Application': 'NO', |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
147 'Relocatable': 'YES', |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
148 'Required': 'NO', |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
149 'InstallOnly': 'NO', |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
150 'RequiresReboot': 'NO', |
|
27582
d1edaaa938fb
patch #678211 from Robin Dunn
Just van Rossum <just@letterror.com>
parents:
25150
diff
changeset
|
151 'RootVolumeOnly' : 'NO', |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
152 'InstallFat': 'NO'} |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
153 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
154 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
155 def __init__(self, title, version, desc): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
156 "Init. with mandatory title/version/description arguments." |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
157 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
158 info = {"Title": title, "Version": version, "Description": desc} |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
159 self.packageInfo = copy.deepcopy(self.packageInfoDefaults) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
160 self.packageInfo.update(info) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
161 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
162 # variables set later |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
163 self.packageRootFolder = None |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
164 self.packageResourceFolder = None |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
165 self.sourceFolder = None |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
166 self.resourceFolder = None |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
167 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
168 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
169 def build(self, root, resources=None, **options): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
170 """Create a package for some given root folder. |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
171 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
172 With no 'resources' argument set it is assumed to be the same |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
173 as the root directory. Option items replace the default ones |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
174 in the package info. |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
175 """ |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
176 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
177 # set folder attributes |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
178 self.sourceFolder = root |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
179 if resources == None: |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
180 self.resourceFolder = root |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
181 else: |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
182 self.resourceFolder = resources |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
183 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
184 # replace default option settings with user ones if provided |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
185 fields = self. packageInfoDefaults.keys() |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
186 for k, v in options.items(): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
187 if k in fields: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
188 self.packageInfo[k] = v |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
189 elif not k in ["OutputDir"]: |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
190 raise Error, "Unknown package option: %s" % k |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
191 |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
192 # Check where we should leave the output. Default is current directory |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
193 outputdir = options.get("OutputDir", os.getcwd()) |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
194 packageName = self.packageInfo["Title"] |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
195 self.PackageRootFolder = os.path.join(outputdir, packageName + ".pkg") |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
196 |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
197 # do what needs to be done |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
198 self._makeFolders() |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
199 self._addInfo() |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
200 self._addBom() |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
201 self._addArchive() |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
202 self._addResources() |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
203 self._addSizes() |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
204 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
205 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
206 def _makeFolders(self): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
207 "Create package folder structure." |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
208 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
209 # Not sure if the package name should contain the version or not... |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
210 # packageName = "%s-%s" % (self.packageInfo["Title"], |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
211 # self.packageInfo["Version"]) # ?? |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
212 |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
213 contFolder = join(self.PackageRootFolder, "Contents") |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
214 self.packageResourceFolder = join(contFolder, "Resources") |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
215 os.mkdir(self.PackageRootFolder) |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
216 os.mkdir(contFolder) |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
217 os.mkdir(self.packageResourceFolder) |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
218 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
219 def _addInfo(self): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
220 "Write .info file containing installing options." |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
221 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
222 # Not sure if options in PKG_INFO_FIELDS are complete... |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
223 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
224 info = "" |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
225 for f in string.split(PKG_INFO_FIELDS, "\n"): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
226 info = info + "%s %%(%s)s\n" % (f, f) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
227 info = info % self.packageInfo |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
228 base = self.packageInfo["Title"] + ".info" |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
229 path = join(self.packageResourceFolder, base) |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
230 f = open(path, "w") |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
231 f.write(info) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
232 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
233 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
234 def _addBom(self): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
235 "Write .bom file containing 'Bill of Materials'." |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
236 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
237 # Currently ignores if the 'mkbom' tool is not available. |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
238 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
239 try: |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
240 base = self.packageInfo["Title"] + ".bom" |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
241 bomPath = join(self.packageResourceFolder, base) |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
242 cmd = "mkbom %s %s" % (self.sourceFolder, bomPath) |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
243 res = os.system(cmd) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
244 except: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
245 pass |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
246 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
247 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
248 def _addArchive(self): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
249 "Write .pax.gz file, a compressed archive using pax/gzip." |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
250 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
251 # Currently ignores if the 'pax' tool is not available. |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
252 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
253 cwd = os.getcwd() |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
254 |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
255 # create archive |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
256 os.chdir(self.sourceFolder) |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
257 base = basename(self.packageInfo["Title"]) + ".pax" |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
258 self.archPath = join(self.packageResourceFolder, base) |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
259 cmd = "pax -w -f %s %s" % (self.archPath, ".") |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
260 res = os.system(cmd) |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
261 |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
262 # compress archive |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
263 cmd = "gzip %s" % self.archPath |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
264 res = os.system(cmd) |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
265 os.chdir(cwd) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
266 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
267 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
268 def _addResources(self): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
269 "Add Welcome/ReadMe/License files, .lproj folders and scripts." |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
270 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
271 # Currently we just copy everything that matches the allowed |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
272 # filenames. So, it's left to Installer.app to deal with the |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
273 # same file available in multiple formats... |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
274 |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
275 if not self.resourceFolder: |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
276 return |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
277 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
278 # find candidate resource files (txt html rtf rtfd/ or lproj/) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
279 allFiles = [] |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
280 for pat in string.split("*.txt *.html *.rtf *.rtfd *.lproj", " "): |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
281 pattern = join(self.resourceFolder, pat) |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
282 allFiles = allFiles + glob.glob(pattern) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
283 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
284 # find pre-process and post-process scripts |
|
27582
d1edaaa938fb
patch #678211 from Robin Dunn
Just van Rossum <just@letterror.com>
parents:
25150
diff
changeset
|
285 # naming convention: packageName.{pre,post}_{upgrade,install} |
|
d1edaaa938fb
patch #678211 from Robin Dunn
Just van Rossum <just@letterror.com>
parents:
25150
diff
changeset
|
286 # Alternatively the filenames can be {pre,post}_{upgrade,install} |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
287 # in which case we prepend the package name |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
288 packageName = self.packageInfo["Title"] |
|
27582
d1edaaa938fb
patch #678211 from Robin Dunn
Just van Rossum <just@letterror.com>
parents:
25150
diff
changeset
|
289 for pat in ("*upgrade", "*install", "*flight"): |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
290 pattern = join(self.resourceFolder, packageName + pat) |
|
27582
d1edaaa938fb
patch #678211 from Robin Dunn
Just van Rossum <just@letterror.com>
parents:
25150
diff
changeset
|
291 pattern2 = join(self.resourceFolder, pat) |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
292 allFiles = allFiles + glob.glob(pattern) |
|
27582
d1edaaa938fb
patch #678211 from Robin Dunn
Just van Rossum <just@letterror.com>
parents:
25150
diff
changeset
|
293 allFiles = allFiles + glob.glob(pattern2) |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
294 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
295 # check name patterns |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
296 files = [] |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
297 for f in allFiles: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
298 for s in ("Welcome", "License", "ReadMe"): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
299 if string.find(basename(f), s) == 0: |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
300 files.append((f, f)) |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
301 if f[-6:] == ".lproj": |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
302 files.append((f, f)) |
|
27582
d1edaaa938fb
patch #678211 from Robin Dunn
Just van Rossum <just@letterror.com>
parents:
25150
diff
changeset
|
303 elif basename(f) in ["pre_upgrade", "pre_install", "post_upgrade", "post_install"]: |
|
d1edaaa938fb
patch #678211 from Robin Dunn
Just van Rossum <just@letterror.com>
parents:
25150
diff
changeset
|
304 files.append((f, packageName+"."+basename(f))) |
|
d1edaaa938fb
patch #678211 from Robin Dunn
Just van Rossum <just@letterror.com>
parents:
25150
diff
changeset
|
305 elif basename(f) in ["preflight", "postflight"]: |
|
d1edaaa938fb
patch #678211 from Robin Dunn
Just van Rossum <just@letterror.com>
parents:
25150
diff
changeset
|
306 files.append((f, f)) |
|
d1edaaa938fb
patch #678211 from Robin Dunn
Just van Rossum <just@letterror.com>
parents:
25150
diff
changeset
|
307 elif f[-8:] == "_upgrade": |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
308 files.append((f,f)) |
|
27582
d1edaaa938fb
patch #678211 from Robin Dunn
Just van Rossum <just@letterror.com>
parents:
25150
diff
changeset
|
309 elif f[-8:] == "_install": |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
310 files.append((f,f)) |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
311 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
312 # copy files |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
313 for src, dst in files: |
|
27582
d1edaaa938fb
patch #678211 from Robin Dunn
Just van Rossum <just@letterror.com>
parents:
25150
diff
changeset
|
314 src = basename(src) |
|
d1edaaa938fb
patch #678211 from Robin Dunn
Just van Rossum <just@letterror.com>
parents:
25150
diff
changeset
|
315 dst = basename(dst) |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
316 f = join(self.resourceFolder, src) |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
317 if isfile(f): |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
318 shutil.copy(f, os.path.join(self.packageResourceFolder, dst)) |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
319 elif isdir(f): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
320 # special case for .rtfd and .lproj folders... |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
321 d = join(self.packageResourceFolder, dst) |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
322 os.mkdir(d) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
323 files = GlobDirectoryWalker(f) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
324 for file in files: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
325 shutil.copy(file, d) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
326 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
327 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
328 def _addSizes(self): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
329 "Write .sizes file with info about number and size of files." |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
330 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
331 # Not sure if this is correct, but 'installedSize' and |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
332 # 'zippedSize' are now in Bytes. Maybe blocks are needed? |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
333 # Well, Installer.app doesn't seem to care anyway, saying |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
334 # the installation needs 100+ MB... |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
335 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
336 numFiles = 0 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
337 installedSize = 0 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
338 zippedSize = 0 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
339 |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
340 files = GlobDirectoryWalker(self.sourceFolder) |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
341 for f in files: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
342 numFiles = numFiles + 1 |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
343 installedSize = installedSize + os.lstat(f)[6] |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
344 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
345 try: |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
346 zippedSize = os.stat(self.archPath+ ".gz")[6] |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
347 except OSError: # ignore error |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
348 pass |
|
25150
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
349 base = self.packageInfo["Title"] + ".sizes" |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
350 f = open(join(self.packageResourceFolder, base), "w") |
|
ac741587e66b
The script was very sloppy about which variables held source pathnames
Jack Jansen <jack.jansen@cwi.nl>
parents:
25144
diff
changeset
|
351 format = "NumFiles %d\nInstalledSize %d\nCompressedSize %d\n" |
|
25144
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
352 f.write(format % (numFiles, installedSize, zippedSize)) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
353 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
354 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
355 # Shortcut function interface |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
356 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
357 def buildPackage(*args, **options): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
358 "A Shortcut function for building a package." |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
359 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
360 o = options |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
361 title, version, desc = o["Title"], o["Version"], o["Description"] |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
362 pm = PackageMaker(title, version, desc) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
363 apply(pm.build, list(args), options) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
364 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
365 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
366 ###################################################################### |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
367 # Tests |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
368 ###################################################################### |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
369 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
370 def test0(): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
371 "Vanilla test for the distutils distribution." |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
372 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
373 pm = PackageMaker("distutils2", "1.0.2", "Python distutils package.") |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
374 pm.build("/Users/dinu/Desktop/distutils2") |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
375 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
376 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
377 def test1(): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
378 "Test for the reportlab distribution with modified options." |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
379 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
380 pm = PackageMaker("reportlab", "1.10", |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
381 "ReportLab's Open Source PDF toolkit.") |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
382 pm.build(root="/Users/dinu/Desktop/reportlab", |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
383 DefaultLocation="/Applications/ReportLab", |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
384 Relocatable="YES") |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
385 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
386 def test2(): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
387 "Shortcut test for the reportlab distribution with modified options." |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
388 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
389 buildPackage( |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
390 "/Users/dinu/Desktop/reportlab", |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
391 Title="reportlab", |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
392 Version="1.10", |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
393 Description="ReportLab's Open Source PDF toolkit.", |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
394 DefaultLocation="/Applications/ReportLab", |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
395 Relocatable="YES") |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
396 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
397 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
398 ###################################################################### |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
399 # Command-line interface |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
400 ###################################################################### |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
401 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
402 def printUsage(): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
403 "Print usage message." |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
404 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
405 format = "Usage: %s <opts1> [<opts2>] <root> [<resources>]" |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
406 print format % basename(sys.argv[0]) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
407 print |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
408 print " with arguments:" |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
409 print " (mandatory) root: the package root folder" |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
410 print " (optional) resources: the package resources folder" |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
411 print |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
412 print " and options:" |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
413 print " (mandatory) opts1:" |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
414 mandatoryKeys = string.split("Title Version Description", " ") |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
415 for k in mandatoryKeys: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
416 print " --%s" % k |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
417 print " (optional) opts2: (with default values)" |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
418 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
419 pmDefaults = PackageMaker.packageInfoDefaults |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
420 optionalKeys = pmDefaults.keys() |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
421 for k in mandatoryKeys: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
422 optionalKeys.remove(k) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
423 optionalKeys.sort() |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
424 maxKeyLen = max(map(len, optionalKeys)) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
425 for k in optionalKeys: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
426 format = " --%%s:%s %%s" |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
427 format = format % (" " * (maxKeyLen-len(k))) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
428 print format % (k, repr(pmDefaults[k])) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
429 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
430 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
431 def main(): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
432 "Command-line interface." |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
433 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
434 shortOpts = "" |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
435 keys = PackageMaker.packageInfoDefaults.keys() |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
436 longOpts = map(lambda k: k+"=", keys) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
437 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
438 try: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
439 opts, args = getopt.getopt(sys.argv[1:], shortOpts, longOpts) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
440 except getopt.GetoptError, details: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
441 print details |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
442 printUsage() |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
443 return |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
444 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
445 optsDict = {} |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
446 for k, v in opts: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
447 optsDict[k[2:]] = v |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
448 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
449 ok = optsDict.keys() |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
450 if not (1 <= len(args) <= 2): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
451 print "No argument given!" |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
452 elif not ("Title" in ok and \ |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
453 "Version" in ok and \ |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
454 "Description" in ok): |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
455 print "Missing mandatory option!" |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
456 else: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
457 apply(buildPackage, args, optsDict) |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
458 return |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
459 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
460 printUsage() |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
461 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
462 # sample use: |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
463 # buildpkg.py --Title=distutils \ |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
464 # --Version=1.0.2 \ |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
465 # --Description="Python distutils package." \ |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
466 # /Users/dinu/Desktop/distutils |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
467 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
468 |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
469 if __name__ == "__main__": |
|
adabdb99ecc4
Script to generate .pkg packages, donated by Dinu Gherman. This is his
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
470 main() |
