]> granicus.if.org Git - python/commitdiff
Added a target frameworkinstallextras (OSX framework build specific,
authorJack Jansen <jack.jansen@cwi.nl>
Thu, 19 Jun 2003 22:35:20 +0000 (22:35 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Thu, 19 Jun 2003 22:35:20 +0000 (22:35 +0000)
and not part of a normal frameworkinstall) that installs Demo and Tools
and a readme file into /Applications/MacPython-2.3/Extras. This will
give people access to the demos and tools if they instal Python through
the binary installer.

Mac/OSX/Extras.ReadMe.txt [new file with mode: 0644]
Mac/OSX/Extras.install.py [new file with mode: 0644]
Mac/OSX/Makefile
Makefile.pre.in

diff --git a/Mac/OSX/Extras.ReadMe.txt b/Mac/OSX/Extras.ReadMe.txt
new file mode 100644 (file)
index 0000000..cfe55bd
--- /dev/null
@@ -0,0 +1,9 @@
+This folder contains examples of Python usage and useful scripts and tools.
+
+You should be aware that these are not Macintosh-specific but are shared
+among Python on all platforms, so there are some that only run on Windows
+or Unix or another platform, and/or make little sense on a Macintosh.
+
+Some examples can be run from within the PythonIDE, but many will require
+that you start them from the command line, or supply command-line arguments
+by holding down the "alt" key when double-clicking them.
diff --git a/Mac/OSX/Extras.install.py b/Mac/OSX/Extras.install.py
new file mode 100644 (file)
index 0000000..1939904
--- /dev/null
@@ -0,0 +1,53 @@
+"""Recursively copy a directory but skip undesired files and
+directories (CVS, backup files, pyc files, etc)"""
+
+import sys
+import os
+import shutil
+
+verbose = 1
+debug = 0
+
+def isclean(name):
+       if name == 'CVS': return 0
+       if name == '.cvsignore': return 0
+       if name == '.DS_store': return 0
+       if name.endswith('~'): return 0
+       if name.endswith('.BAK'): return 0
+       if name.endswith('.pyc'): return 0
+       if name.endswith('.pyo'): return 0
+       if name.endswith('.orig'): return 0
+       return 1
+       
+def copycleandir(src, dst):
+       for cursrc, dirs, files in os.walk(src):
+               assert cursrc.startswith(src)
+               curdst = dst + cursrc[len(src):]
+               if verbose:
+                       print "mkdir", curdst
+               if not debug:
+                       if not os.path.exists(curdst):
+                               os.makedirs(curdst)
+               for fn in files:
+                       if isclean(fn):
+                               if verbose:
+                                       print "copy", os.path.join(cursrc, fn), os.path.join(curdst, fn)
+                               if not debug:
+                                       shutil.copy2(os.path.join(cursrc, fn), os.path.join(curdst, fn))
+                       else:
+                               if verbose:
+                                       print "skipfile", os.path.join(cursrc, fn)
+               for i in range(len(dirs)-1, -1, -1):
+                       if not isclean(dirs[i]):
+                               if verbose:
+                                       print "skipdir", os.path.join(cursrc, dirs[i])
+                               del dirs[i]
+                               
+def main():
+       if len(sys.argv) != 3:
+               sys.stderr.write("Usage: %s srcdir dstdir\n" % sys.argv[0])
+               sys.exit(1)
+       copycleandir(sys.argv[1], sys.argv[2])
+       
+if __name__ == '__main__':
+       main()
\ No newline at end of file
index 5b28e022b94850007559b63fdd9fb324ad04a4ed..62f444e70bb33c1300a045900df3367338e8e9a1 100644 (file)
@@ -243,3 +243,11 @@ installunixtools:
        echo "exec \"$(INSTALLED_PYTHONW)\" \"\$$@\"" >> pythonw.sh
        $(INSTALL) pythonw.sh $(DESTDIR)$(bindir)/pythonw$(VERSION)
        $(INSTALL_SYMLINK) pythonw$(VERSION) $(DESTDIR)$(bindir)/pythonw
+       
+installextras:
+       $(INSTALL) -d $(DESTDIR)$(PYTHONAPPSDIR)/Extras
+       $(INSTALL) $(srcdir)/Mac/OSX/Extras.ReadMe.txt $(DESTDIR)$(PYTHONAPPSDIR)/Extras/ReadMe
+       $(BUILDPYTHON) $(srcdir)/Mac/OSX/Extras.install.py $(srcdir)/Demo \
+               $(DESTDIR)$(PYTHONAPPSDIR)/Extras/Demo
+       $(BUILDPYTHON) $(srcdir)/Mac/OSX/Extras.install.py $(srcdir)/Tools \
+               $(DESTDIR)$(PYTHONAPPSDIR)/Extras/Tools
\ No newline at end of file
index c6f191cc28d7e93ac50dafec37d0249b8a4aa73e..01ec10aff265d6e55a16e58a1385505e828ea023 100644 (file)
@@ -870,6 +870,13 @@ frameworkinstallunixtools:
                DIRMODE=$(DIRMODE) FILEMODE=$(FILEMODE) \
                srcdir=$(srcdir) builddir=. DESTDIR=$(DESTDIR)
 
+# This installs the Demos and Tools into the applications directory.
+# It is not part of a normal frameworkinstall
+frameworkinstallextras:
+       $(MAKE) -f $(srcdir)/Mac/OSX/Makefile installextras \
+               BUILDPYTHON=./$(BUILDPYTHON) DIRMODE=$(DIRMODE) FILEMODE=$(FILEMODE) \
+               srcdir=$(srcdir) builddir=. DESTDIR=$(DESTDIR)
+
 # This installs a few of the useful scripts in Tools/scripts
 scriptsinstall:
        SRCDIR=$(srcdir) $(RUNSHARED) \