diff --git a/Doc/Makefile b/Doc/Makefile
index 49608da..f76238a 100644
--- a/Doc/Makefile
+++ b/Doc/Makefile
@@ -396,54 +396,54 @@
 
 $(ISILOINDEXFILES): $(COMMONPERL) html/about.dat perl/isilo.perl
 
-isilo:	isilo/python-api-$(RELEASE).pdb \
-	isilo/python-doc-$(RELEASE).pdb \
-	isilo/python-ext-$(RELEASE).pdb \
-	isilo/python-lib-$(RELEASE).pdb \
-	isilo/python-mac-$(RELEASE).pdb \
-	isilo/python-ref-$(RELEASE).pdb \
-	isilo/python-tut-$(RELEASE).pdb \
-	isilo/python-dist-$(RELEASE).pdb \
-	isilo/python-inst-$(RELEASE).pdb \
-	isilo/python-whatsnew-$(RELEASE).pdb
+isilo:	isilo/python-api.pdb \
+	isilo/python-doc.pdb \
+	isilo/python-ext.pdb \
+	isilo/python-lib.pdb \
+	isilo/python-mac.pdb \
+	isilo/python-ref.pdb \
+	isilo/python-tut.pdb \
+	isilo/python-dist.pdb \
+	isilo/python-inst.pdb \
+	isilo/python-whatsnew.pdb
 
-isilo/python-api-$(RELEASE).pdb: isilo/api/api.html isilo/api/api.css
+isilo/python-api.pdb: isilo/api/api.html isilo/api/api.css
 	$(MKISILO) "-iPython/C API Reference Manual" \
 		isilo/api/api.html $@
 
-isilo/python-doc-$(RELEASE).pdb: isilo/doc/doc.html isilo/doc/doc.css
+isilo/python-doc.pdb: isilo/doc/doc.html isilo/doc/doc.css
 	$(MKISILO) "-iDocumenting Python" \
 		isilo/doc/doc.html $@
 
-isilo/python-ext-$(RELEASE).pdb: isilo/ext/ext.html isilo/ext/ext.css
+isilo/python-ext.pdb: isilo/ext/ext.html isilo/ext/ext.css
 	$(MKISILO) "-iExtending & Embedding Python" \
 		isilo/ext/ext.html $@
 
-isilo/python-lib-$(RELEASE).pdb: isilo/lib/lib.html isilo/lib/lib.css
+isilo/python-lib.pdb: isilo/lib/lib.html isilo/lib/lib.css
 	$(MKISILO) "-iPython Library Reference" \
 		isilo/lib/lib.html $@
 
-isilo/python-mac-$(RELEASE).pdb: isilo/mac/mac.html isilo/mac/mac.css
+isilo/python-mac.pdb: isilo/mac/mac.html isilo/mac/mac.css
 	$(MKISILO) "-iPython/C API Reference Manual" \
 		isilo/mac/mac.html $@
 
-isilo/python-ref-$(RELEASE).pdb: isilo/ref/ref.html isilo/ref/ref.css
+isilo/python-ref.pdb: isilo/ref/ref.html isilo/ref/ref.css
 	$(MKISILO) "-iPython Reference Manual" \
 		isilo/ref/ref.html $@
 
-isilo/python-tut-$(RELEASE).pdb: isilo/tut/tut.html isilo/tut/tut.css
+isilo/python-tut.pdb: isilo/tut/tut.html isilo/tut/tut.css
 	$(MKISILO) "-iPython Tutorial" \
 		isilo/tut/tut.html $@
 
-isilo/python-dist-$(RELEASE).pdb: isilo/dist/dist.html isilo/dist/dist.css
+isilo/python-dist.pdb: isilo/dist/dist.html isilo/dist/dist.css
 	$(MKISILO) "-iDistributing Python Modules" \
 		isilo/dist/dist.html $@
 
-isilo/python-inst-$(RELEASE).pdb: isilo/inst/inst.html isilo/inst/inst.css
+isilo/python-inst.pdb: isilo/inst/inst.html isilo/inst/inst.css
 	$(MKISILO) "-iInstalling Python Modules" \
 		isilo/inst/inst.html $@
 
-isilo/python-whatsnew-$(RELEASE).pdb: isilo/whatsnew/$(WHATSNEW).html isilo/whatsnew/$(WHATSNEW).css
+isilo/python-whatsnew.pdb: isilo/whatsnew/$(WHATSNEW).html isilo/whatsnew/$(WHATSNEW).css
 	$(MKISILO) "-iWhat's New in Python X.Y" \
 		isilo/whatsnew/$(WHATSNEW).html $@
 
@@ -541,7 +541,11 @@
 	$(PYTHON) $(TOOLSDIR)/mksourcepkg --zip $(RELEASE)
 
 pdf-$(PAPER)-$(RELEASE).tar: $(PDFFILES)
-	cd paper-$(PAPER) && tar cf ../$@ *.pdf
+	rm -f $@
+	mkdir Python-Docs-$(RELEASE)
+	cp paper-$(PAPER)/*.pdf Python-Docs-$(RELEASE)
+	tar cf $@ Python-Docs-$(RELEASE)
+	rm -r Python-Docs-$(RELEASE)
 
 pdf-$(PAPER)-$(RELEASE).tgz: pdf-$(PAPER)-$(RELEASE).tar
 	gzip -9 <$? >$@
@@ -551,10 +555,18 @@
 
 pdf-$(PAPER)-$(RELEASE).zip: pdf
 	rm -f $@
-	cd paper-$(PAPER) && zip -q -9 ../$@ *.pdf
+	mkdir Python-Docs-$(RELEASE)
+	cp paper-$(PAPER)/*.pdf Python-Docs-$(RELEASE)
+	zip -q -r -9 $@ Python-Docs-$(RELEASE)
+	rm -r Python-Docs-$(RELEASE)
 
 postscript-$(PAPER)-$(RELEASE).tar: $(PSFILES) paper-$(PAPER)/README
-	cd paper-$(PAPER) && tar cf ../$@ *.ps README
+	rm -f $@
+	mkdir Python-Docs-$(RELEASE)
+	cp paper-$(PAPER)/*.ps Python-Docs-$(RELEASE)
+	cp paper-$(PAPER)/README Python-Docs-$(RELEASE)
+	tar cf $@ Python-Docs-$(RELEASE)
+	rm -r Python-Docs-$(RELEASE)
 
 postscript-$(PAPER)-$(RELEASE).tar.bz2: postscript-$(PAPER)-$(RELEASE).tar
 	bzip2 -9 <$< >$@
@@ -564,12 +576,21 @@
 
 postscript-$(PAPER)-$(RELEASE).zip: $(PSFILES) paper-$(PAPER)/README
 	rm -f $@
-	cd paper-$(PAPER) && zip -q -9 ../$@ *.ps README
+	mkdir Python-Docs-$(RELEASE)
+	cp paper-$(PAPER)/*.ps Python-Docs-$(RELEASE)
+	cp paper-$(PAPER)/README Python-Docs-$(RELEASE)
+	zip -q -r -9 $@ Python-Docs-$(RELEASE)
+	rm -r Python-Docs-$(RELEASE)
+
+HTMLPKGFILES=*.html */*.css */*.html */*.gif */*.txt
 
 html-$(RELEASE).tar:	$(ALLHTMLFILES) $(HTMLCSSFILES)
-	cd html && \
-		tar cf ../html-$(RELEASE).tar *.html */*.css */*.html \
-					      */*.gif */*.txt
+	mkdir Python-Docs-$(RELEASE)
+	cd html && tar cf ../temp.tar $(HTMLPKGFILES)
+	cd Python-Docs-$(RELEASE) && tar xf ../temp.tar
+	rm temp.tar
+	tar cf html-$(RELEASE).tar Python-Docs-$(RELEASE)
+	rm -r Python-Docs-$(RELEASE)
 
 html-$(RELEASE).tgz:	html-$(RELEASE).tar
 	gzip -9 <$? >$@
@@ -579,11 +600,19 @@
 
 html-$(RELEASE).zip:	$(ALLHTMLFILES) $(HTMLCSSFILES)
 	rm -f $@
-	cd html && \
-		zip -q -9 ../$@ *.html */*.css */*.html */*.gif */*.txt
+	mkdir Python-Docs-$(RELEASE)
+	cd html && tar cf ../temp.tar $(HTMLPKGFILES)
+	cd Python-Docs-$(RELEASE) && tar xf ../temp.tar
+	rm temp.tar
+	zip -q -r -9 $@ Python-Docs-$(RELEASE)
+	rm -r Python-Docs-$(RELEASE)
 
 isilo-$(RELEASE).zip:	isilo
-	cd isilo && zip -q -9 ../$@ python-*-$(RELEASE).pdb
+	rm -f $@
+	mkdir Python-Docs-$(RELEASE)
+	cp isilo/python-*.pdb Python-Docs-$(RELEASE)
+	zip -q -r -9 $@ Python-Docs-$(RELEASE)
+	rm -r Python-Docs-$(RELEASE)
 
 
 # convenience targets:
@@ -652,6 +681,6 @@
 	rm -rf isilo/api/ isilo/doc/ isilo/ext/ isilo/lib/ isilo/mac/
 	rm -rf isilo/ref/ isilo/tut/ isilo/inst/ isilo/dist/
 	rm -rf isilo/whatsnew/
-	rm -f isilo/python-*-$(RELEASE).pdb isilo-$(RELEASE).zip
+	rm -f isilo/python-*.pdb isilo-$(RELEASE).zip
 
 realclean distclean:  clobber
diff --git a/Doc/tools/mksourcepkg b/Doc/tools/mksourcepkg
index c3ea863..e5e6e65 100755
--- a/Doc/tools/mksourcepkg
+++ b/Doc/tools/mksourcepkg
@@ -73,7 +73,7 @@
           cvstag = args[1]
      tempdir = tempfile.mktemp()
      os.mkdir(tempdir)
-     pkgdir = os.path.join(tempdir, "Python-" + release)
+     pkgdir = os.path.join(tempdir, "Python-Docs-" + release)
      os.mkdir(pkgdir)
      pwd = os.getcwd()
      mydir = os.path.abspath(os.path.dirname(sys.argv[0]))
@@ -90,14 +90,15 @@
           # For some reason, SourceForge/CVS doesn't seem to care that we
           # might not have done a "cvs login" to the anonymous server.
           # That avoids a lot of painful gunk here.
-     os.chdir(pkgdir)
+     os.chdir(tempdir)
      if not quiet:
           print "--- current directory is:", pkgdir
      if cvstag:
-          run("cvs -d%s export -r %s -d Doc python/dist/src/Doc"
-              % (cvsroot, cvstag))
+          run("cvs -d%s export -r %s -d Python-Docs-%s python/dist/src/Doc"
+              % (cvsroot, cvstag, release))
      else:
-          run("cvs -Q -d%s checkout -d Doc python/dist/src/Doc" % cvsroot)
+          run("cvs -Q -d%s checkout -d Python-Docs-%s python/dist/src/Doc"
+              % (cvsroot, release))
           # remove CVS directories
           for p in ('*/CVS', '*/*/CVS', '*/*/*/CVS'):
                map(shutil.rmtree, glob.glob(p))
@@ -105,13 +106,13 @@
                map(os.unlink, glob.glob(f))
      LICENSE = os.path.normpath(
           os.path.join(mydir, os.pardir, os.pardir, "LICENSE"))
-     shutil.copyfile(LICENSE, "Doc/LICENSE")
+     shutil.copyfile(LICENSE, "LICENSE")
      if tools:
           archive = "doctools-" + release
           # we don't want the actual documents in this case:
           for d in ("api", "dist", "doc", "ext", "inst",
                     "lib", "mac", "ref", "tut"):
-               shutil.rmtree(os.path.join(os.path.join(pkgdir, "Doc"), d))
+               shutil.rmtree(os.path.join(pkgdir, d))
      else:
           archive = "latex-" + release
 
@@ -121,15 +122,15 @@
      archive = os.path.join(pwd, archive)
      for format in formats:
           if format == "bzip2":
-               run("tar cf - Python-%s | bzip2 -9 >%s.tar.bz2"
+               run("tar cf - Python-Docs-%s | bzip2 -9 >%s.tar.bz2"
                    % (release, archive))
           elif format == "gzip":
-               run("tar cf - Python-%s | gzip -9 >%s.tgz"
+               run("tar cf - Python-Docs-%s | gzip -9 >%s.tgz"
                    % (release, archive))
           elif format == "zip":
                if os.path.exists(archive + ".zip"):
                     os.unlink(archive + ".zip")
-               run("zip -q -r9 %s.zip Python-%s"
+               run("zip -q -r9 %s.zip Python-Docs-%s"
                    % (archive, release))
 
      # clean up the work area:
