]> granicus.if.org Git - docbook-dsssl/commitdiff
create separate *zip files for doc distro
authorMichael Smith <xmldoc@users.sourceforge.net>
Wed, 6 Apr 2005 09:36:03 +0000 (09:36 +0000)
committerMichael Smith <xmldoc@users.sourceforge.net>
Wed, 6 Apr 2005 09:36:03 +0000 (09:36 +0000)
cvstools/Release-targets.mk
cvstools/Release-vars.mk

index 2f642969e49af33615587901000e5c2940e5b7a2..1602f2fbcf3bb90e97e15ad56e0755134410020a 100644 (file)
@@ -49,11 +49,17 @@ ifeq ($(ZIPVER),)
        @echo You must specify ZIPVER for the zip target
        exit 1
 else
+# normalize perms/filemodes for all files and dirs
        find . -type f | xargs chmod 0644
        find . -type d | xargs chmod 0755
+# set executable bit on anything that should be executable
 ifneq ($(EXECUTABLES),)
        chmod 0755 $(EXECUTABLES)
 endif
+
+# -----------------------------------------------------------------
+#     Prepare *zip files for main (NON-doc) part of distro
+# -----------------------------------------------------------------
        rm -rf $(TMP)/docbook-$(DISTRO)-$(ZIPVER)
        rm -f  $(TMP)/tar.exclude
        rm -f  $(TMP)/docbook-$(DISTRO)-$(ZIPVER).tar.gz
@@ -63,26 +69,52 @@ endif
        touch $(TMP)/tar.exclude
 # distro-specific excludes
        for file in $(DISTRIB_EXCLUDES); do \
-         find . -print  | grep $$file     | cut -c3- >> $(TMP)/tar.exclude; \
+         find . -print  | grep $$file   | cut -c3- >> $(TMP)/tar.exclude; \
        done
+# specific excludes for distros with docs
+       if [ -d doc ]; then \
+         find . -print  | grep /doc/    | cut -c3- >> $(TMP)/tar.exclude; \
+       fi
+       if [ -d docsrc ]; then \
+         find . -print  | grep /docsrc/ | cut -c3- >> $(TMP)/tar.exclude; \
+       fi
 # global excludes
-       find . -print  | grep /CVS$$       | cut -c3- >> $(TMP)/tar.exclude
-       find . -print  | grep /CVS/        | cut -c3- >> $(TMP)/tar.exclude
-       find . -print  | grep /debian/     | cut -c3- >> $(TMP)/tar.exclude
-       find . -print  | grep .classes     | cut -c3- >> $(TMP)/tar.exclude
-       find . -print  | grep "~$$"        | cut -c3- >> $(TMP)/tar.exclude
-       find . -type f -name ".*.pyc"      | cut -c3- >> $(TMP)/tar.exclude
-       find . -type f -name "#*"          | cut -c3- >> $(TMP)/tar.exclude
-       find . -type f -name ".#*"         | cut -c3- >> $(TMP)/tar.exclude
-       find . -type f -name "prj.el"      | cut -c3- >> $(TMP)/tar.exclude
-       find . -type f -name ".cvsignore"  | cut -c3- >> $(TMP)/tar.exclude
-       find . -type f -name "Makefile*"   | cut -c3- >> $(TMP)/tar.exclude
-       find . -type f -name "README.CVS"  | cut -c3- >> $(TMP)/tar.exclude
+       for file in $(ZIP_EXCLUDES); do \
+         find . -print  | grep $$file   | cut -c3- >> $(TMP)/tar.exclude; \
+       done
+# tar up distro, then gzip/bzip/zip it
        tar cf - * --exclude-from $(TMP)/tar.exclude | (cd $(TMP)/docbook-$(DISTRO)-$(ZIPVER); tar xf -)
        umask 022; cd $(TMP) && tar cf - docbook-$(DISTRO)-$(ZIPVER) | gzip > docbook-$(DISTRO)-$(ZIPVER).tar.gz
        umask 022; cd $(TMP) && tar cf - docbook-$(DISTRO)-$(ZIPVER) | bzip2 > docbook-$(DISTRO)-$(ZIPVER).tar.bz2
        umask 022; cd $(TMP) && zip -q -rpD docbook-$(DISTRO)-$(ZIPVER).zip docbook-$(DISTRO)-$(ZIPVER)
        rm -f $(TMP)/tar.exclude
+
+# -----------------------------------------------------------------
+#     Prepare *zip files for DOC part of distro (if any)
+# -----------------------------------------------------------------
+ifeq ($(shell test -d doc; echo $$?),0)
+       rm -rf $(TMP)/docbook-$(DISTRO)-$(ZIPVER)
+       rm -f  $(TMP)/tar.exclude
+       rm -f  $(TMP)/docbook-$(DISTRO)-doc-$(ZIPVER).tar.gz
+       rm -f  $(TMP)/docbook-$(DISTRO)-doc-$(ZIPVER).tar.bz2
+       rm -f  $(TMP)/docbook-$(DISTRO)-doc-$(ZIPVER).zip
+       umask 022; mkdir -p $(TMP)/docbook-$(DISTRO)-$(ZIPVER)
+       touch $(TMP)/tar.exclude
+# distro-specific excludes
+       for file in $(DISTRIB_EXCLUDES); do \
+         find . -print  | grep $$file   | cut -c3- >> $(TMP)/tar.exclude; \
+       done
+# global excludes
+       for file in $(ZIP_EXCLUDES); do \
+         find . -print  | grep $$file   | cut -c3- >> $(TMP)/tar.exclude; \
+       done
+# tar up just the doc and docsrc dirs
+       tar cf - doc docsrc --exclude-from $(TMP)/tar.exclude | (cd $(TMP)/docbook-$(DISTRO)-$(ZIPVER); tar xf -)
+       cd $(TMP) && tar cf - docbook-$(DISTRO)-$(ZIPVER) | gzip > docbook-$(DISTRO)-doc-$(ZIPVER).tar.gz
+       cd $(TMP) && tar cf - docbook-$(DISTRO)-$(ZIPVER) | bzip2 > docbook-$(DISTRO)-doc-$(ZIPVER).tar.bz2
+       cd $(TMP) && zip -q -rpD docbook-$(DISTRO)-doc-$(ZIPVER).zip docbook-$(DISTRO)-$(ZIPVER)
+       rm -f $(TMP)/tar.exclude
+endif
 endif
 
 install: zip
index 0874ea5db60fea362beb7cf1d57a12170c547d2f..2a569b1716253f1f11b236c1573088981b33adec 100644 (file)
@@ -1,6 +1,5 @@
-
 #-----------------------------------------------------------------
-#                VARIABLES FOR RELEASE BUILDS
+#             MAKEFILE VARIABLES FOR RELEASE BUILDS
 #-----------------------------------------------------------------
 # If you are doing normal (non-release) sandbox builds just for
 # your own use, you can ignore all the variables below. They are
@@ -55,6 +54,24 @@ TAGVER := $(shell echo "V$(RELVER)" | sed "s/\.//g")
 # to use a temp directory other than /tmp, run "make zip TMP=/foo"
 # or "make zip TMP=$TMP to override following setting
 TMP=/tmp
+
+# value of ZIP_EXCLUDES is a space-separated list of any file or
+# directory names (regular expressions OK) that should be excluded
+# from the *zip files for the release
+ZIP_EXCLUDES = \
+ /CVS$$ \
+ /CVS/ \
+ /debian/ \
+ \.classes \
+ ~$$ \
+ \..*\.pyc \
+ \\\#.* \
+ \.\\\#.* \
+ prj\.el \
+ \.cvsignore \
+ Makefile \
+ README\.CVS
 # specifies options to feed to "freshmeat-submit"
 FMGO=-N
 # SFRELID specifies Sourceforge release ID for current release.