Hello, I'm proposing a new directory structure. This basically splits the "commands" into a "command" part and a "module" part. Please see below for what I think should go where.
The major benefit is a more reusable code.
1.
The current implementation of "pyinstaller.py" already shows the
limits of the current "command"-based layout: Commands are
imported as modules, lots of code is duplicated.
2.
The commands are missing a common "definition area", e.g. for
directory structures. HOMEPATH is defined in Configure, Makespec,
Build and pyinstaller.
3. The makespec_ng branch is working on a more enhanced .spec file.
Moving this further, one could imaging dropping "Build.py" and
converting the .spec-files into scripts. And even further one
could imagine a PyInstaller "tool" for the Scons build system
(www.scons.org).
Positive side-effects are some code cleanup and easier rpm/deb packaging
of "PyInstaller".
Negative side-effects: non known
Risks: none, since code is primary moved to a new location.
What do you think about this?
New dir structure
----------------------
Keep unchanged:
ArchiveViewer.py
GrabVersion.py
MakeComServer.py
MakeCOMServer_old.py
McGUI.py
pyinstaller.py
Split into script and module, since pyinstaller.py imports them
Build.py ./Build.py + PyInstaller/build.py
Configure.py ./Configure.py + PyInstaller/configure.py
Makespec.py ./Makespec.py + PyInstaller/makespec.py
Crypt.py ./Crypt.py + PyInstaller/crypt.py
Move into PyInstaller/ (module)
archive.py PyInstaller/archive.py
bindepend.py PyInstaller/bindepend.py # is script-part still required?
carchive.py PyInstaller/carchive.py
hooks ./hooks/
icon.py PyInstaller/icon.py # script-part is irrelevant
iu.py PyInstaller/iu.py
mf.py PyInstaller/mf.py
pefile.py PyInstaller/pefile.py
pyi_optparse.py PyInstaller/optparse.py
pyi_optik PyInstaller/optik/
suffixes.py PyInstaller/suffixes.py
versionInfo.py PyInstaller/versionInfo.py
winmanifest.py PyInstaller/winmanifest.py # script-part is irrelevant
winresource.py PyInstaller/winresource.py
--
Schönen Gruß - Regards
Hartmut Goebel
Dipl.-Informatiker (univ.), CISSP, CSSLP
Goebel Consult
Spezialist für IT-Sicherheit in komplexen Umgebungen
http://www.goebel-consult.de
Monatliche Kolumne: http://www.cissp-gefluester.de/
Goebel Consult mit Mitglied bei http://www.7-it.de
smime.p7s
Description: S/MIME Cryptographic Signature
