release-notes Makefile,1.1,1.2

Karsten Wade (kwade) fedora-docs-commits at redhat.com
Mon Oct 24 14:08:57 UTC 2005


Author: kwade

Update of /cvs/docs/release-notes
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv17937

Modified Files:
	Makefile 
Log Message:
Need to find a way to do this better, and I think it should be in the Makefile.common instead.  However, my method here is obviously sub-par and throws an error, so I'll be punting for help.  The objective is to make certain that the figs/ directory gets copied over to the HTML directories in all languages.  Actually, the figs-/ needs to get copied to foo-/ HTML directory.  This requires some consideration and kung-fu.  It should copy over the language specific figures if they exist, otherwise use the English by default so as to not break the build.


Index: Makefile
===================================================================
RCS file: /cvs/docs/release-notes/Makefile,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Makefile	24 Oct 2005 13:13:33 -0000	1.1
+++ Makefile	24 Oct 2005 14:08:53 -0000	1.2
@@ -1,90 +1,100 @@
-LANG	       = en
-DOCS_SETUP_PATH= ../../docs-common
-XSLPDF         = $(DOCS_SETUP_PATH)/xsl/main-pdf.xsl
-XSLHTML        = $(DOCS_SETUP_PATH)/xsl/main-html-nochunks-relnotes.xsl
-
-XSLPDFCOMMONS	= ${XSLPDF}
-XSLHTMLCOMMONS	= ${XSLHTML}
-
-XMLCOMMONSPATH=${DOCS_SETUP_PATH}/common
-XMLCOMMONS=${XMLCOMMONSPATH}/cvs-en.xml                                 \
-        ${XMLCOMMONSPATH}/draftnotice-en.xml                            \
-        ${XMLCOMMONSPATH}/fedora-entities-en.ent                        \
-        ${XMLCOMMONSPATH}/fedora-entities-en.xml                        \
-        ${XMLCOMMONSPATH}/legacynotice-en.xml                           \
-        ${XMLCOMMONSPATH}/legalnotice-en.xml                            \
-        ${XMLCOMMONSPATH}/obsoletenotice-en.xml
-
-.SUFFIXES:
-.SUFFIXES: .html .pdf .xml
-
-all:	README-${LANG}.html \
-	RELEASE-NOTES-${LANG}.html \
-	RELEASE-NOTES-${LANG}.txt \
-	README-${LANG}.txt
-
-#README-${LANG}.pdf RELEASE-NOTES-${LANG}.pdf 
-
-%.pdf:	%.xml
-	xmlto pdf -x ${XSLPDF} $<
-
-%.html:	%.xml
-	${RM} -r ${@:.html=}
-	xmlto html -x ${XSLHTML} -o ${@:.html=} $<
-	mkdir -p ${@:.html=}/stylesheet-images
-	mkdir -p ${@:.html=}/figs
-	cp $(DOCS_SETUP_PATH)/stylesheet-images/*.png ${@:.html=}/stylesheet-images
-	cp ./figs/*.png ${@:.html=}/figs
-	cp $(DOCS_SETUP_PATH)/css/fedora.css ${@:.html=}
-	mv ${@:.html=}/${@:.html=.proc} ${@:.html=}/$@ 
-	ln -sf ${@:.html=}/$@ $@
-
-%.txt: %.xml
-	xmlto txt $<
-#	mv $@ RELEASE-NOTES-${LANG}
-
-# FIXME eula.txt: eula.py
-# FIXME	python -c "import py_compile; py_compile.compile('eula.py')"
-
-# Note: keep "RELEASE-NOTES-en.xml" first, for now.
-
-RNFILES=RELEASE-NOTES-en.xml daemons.xml database-servers.xml           \
-        desktop.xml development-tools.xml feedback.xml file-servers.xml \
-        file-systems.xml hardware-reqs.xml install-notes.xml intro.xml  \
-        java-package.xml kernel.xml misc-server.xml multimedia.xml      \
-        networking.xml overview.xml package-movement.xml                \
-        package-notes.xml printing.xml project-overview.xml samba.xml   \
-        security.xml server-tools.xml splash.xml web-servers.xml        \
-	xorg.xml
-
-# README-${LANG}.pdf: README-en.xml
-# README-${LANG}.html: README-en.xml
-RELEASE-NOTES-${LANG}.pdf:  ${RNFILES} ${XMLCOMMONS} ${XSLPDFCOMMONS}
-RELEASE-NOTES-${LANG}.html: ${RNFILES} ${XMLCOMMONS} ${XSLHTMLCOMMONS}
-RELEASE-NOTES-${LANG}.txt:  ${RNFILES} ${XMLCOMMONS}
-
-clean: 
-	${RM} ChangeLog ChangeLog.xml
-
-distclean clobber: clean
-	${RM} ChangeLog-${LANG}.html ChangeLog.txt
-	${RM} -r README-${LANG}.pdf README-${LANG}.html README-${LANG}.txt
-	${RM} -r RELEASE-NOTES-${LANG}.pdf RELEASE-NOTES-${LANG}.html \
-		RELEASE-NOTES-${LANG} RELEASE-NOTES-${LANG}.txt
-
-# If you have the "cvs2cl" package installed, then you can make
-# fancy HTML ChangeLogs
-
-ChangeLogs:
-	${RM} ChangeLog*
-	${MAKE} ChangeLog.txt
-	${MAKE} ChangeLog-${LANG}.html
-
-ChangeLog.txt:
-	LANG=C cvs2cl -f ChangeLog.txt
-
-ChangeLog.xml:
-	LANG=C cvs2cl --xml --xml-encoding UTF-8 -f ChangeLog.xml
-
-ChangeLog-${LANG}.html: ChangeLog.xml
-	xsltproc -o $@ /usr/share/xml/cvs2cl/cl2html.xslt $<
+###############################################################################
+# Makefile for RHLP docs project
+# Created by: Tammy Fox <tfox at redhat.com>
+# Last edited by: Tommy Reynolds <Tommy.Reynolds at MegaCoder.com>
+# WARNING: need passivetex 1.24 for pdf generation to work
+# License: GPL
+# Copyright 2003 Tammy Fox, Red Hat, Inc.
+# Copyright 2005 Tommy Reynolds, MegaCoder.com
+###############################################################################
+#
+# Document-specific definitions.
+#
+LANGUAGES      	= en
+DOCBASE        	= RELEASE-NOTES
+XMLEXTRAFILES-en=daemons.xml database-servers.xml desktop.xml development-tools.xml feedback.xml file-servers.xml file-systems.xml hardware-reqs.xml install-notes.xml intro.xml java-package.xml kernel.xml misc-server.xml multimedia.xml networking.xml overview.xml package-movement.xml package-notes.xml printing.xml project-overview.xml samba.xml security.xml server-tools.xml splash.xml web-servers.xml xorg.xml
+#
+######################################################
+include ../docs-common/Makefile.common
+######################################################
+#
+# If you want to add additional steps to any of the 
+# targets defined in "Makefile.common", be sure to use
+# a double-colon in your rule here.  For example, to 
+# print the message "FINISHED AT LAST" after building 
+# the HTML document version, uncomment the following 
+# line:
+#${DOCBASE}-en/index.html::
+#	echo FINISHED AT LAST
+
+# Need to copy over the figures for this directory.  Should
+# this be a common action instead?
+${DOCBASE}-en/index.html::
+	mkdir -p ${DOCBASE}-${LANGUAGES}/figs
+	cp figs/* ${DOCBASE}-${LANGUAGES}/figs
+
+######################################################
+# Some packaging specific vars
+VERSION=$(shell grep BOOKID $(DOCBASE)-en.xml | sed 's/<!ENTITY BOOKID "[^0-9\.]\+//' | sed 's/ .\+//')
+DATE=${shell grep BOOKID $(DOCBASE)-en.xml | sed 's/.\+(//' | sed 's/).\+//' }
+NOW=$(shell date +"%a %b %e %Y")
+SPECIN=../docs-common/packaging/fedora-doc.spec.in.common
+OMFIN=../docs-common/packaging/fedora-doc.omf.in.common
+DESKTOPIN=../docs-common/packaging/fedora-doc.desktop.in.common
+DOCSPEC=$(PWD)/SPECS/$(DOCBASE).spec
+DOCOMF=$(PWD)/SOURCES/fedora-doc-$(DOCBASE)-C.omf
+DOCDESKTOP=$(PWD)/SOURCES/fedora-doc-$(DOCBASE).desktop
+DOCSRCTAR=$(PWD)/SOURCES/$(DOCBASE)-$(VERSION).src.tar.gz
+TITLE=$(shell ../docs-common/packaging/titlegrab.py $(DOCBASE)-en.xml | sed 's/^ \+//')
+######################################################
+# Some RPM flags...
+######################################################
+RPMFLAGS=--define "docbase $(DOCBASE)" --define "version $(VERSION)" --define "_topdir $(PWD)"
+######################################################
+
+
+clean::
+	rm -rf fedora-doc-$(DOCBASE)*.rpm
+
+
+rpm: clean
+#
+# Make RPM-compliant tarball of source XML and other stuff
+	mkdir $(DOCBASE)-$(VERSION)
+	find . -maxdepth 1 -type f ! \( -name '*~' -o -name 'Makefile*' \) \
+		| cpio -pamdv $(DOCBASE)-$(VERSION)
+	find . -maxdepth 1 -type d ! \( -name '$(DOCBASE)-$(VERSION)' \
+		-o -name 'CVS' -o -name '*~' -o -name '$(DOCBASE)*' \) \
+		| cpio -pamdv $(DOCBASE)-$(VERSION)
+#
+# Make RPM build tree; don't rely on local user's setup
+	mkdir -p {BUILD,RPMS/noarch,SOURCES,SPECS,SRPMS}
+	tar -zcvf $(DOCSRCTAR) $(DOCBASE)-$(VERSION)
+	rm -rf $(DOCBASE)-$(VERSION)/
+#
+# Make rpmlint happy with a changelog entry
+# FIXME: Maybe more magic would make this stickier; pity
+#        I'm no magician...
+	sed 's/\(%changelog\)/\1\n* $(NOW) Fedora Docs Project <fedora-docs-list at redhat.com> - $(VERSION)-1\n- Update to version $(VERSION)\n/' \
+		$(SPECIN) > $(DOCSPEC)
+#
+# Fill in files
+# FIXME:  Needs to be multiplexed for LANGUAGES (see above)
+	cp $(OMFIN) $(DOCOMF)
+	cp $(DESKTOPIN) $(DOCDESKTOP)
+	sed -i 's/@VERSION@/$(VERSION)/g' $(DOCOMF)
+	sed -i 's/@DATE@/$(DATE)/g' $(DOCOMF)
+	sed -i 's/@TITLE@/$(TITLE)/g' $(DOCOMF)
+	sed -i 's/@DOCBASE@/$(DOCBASE)/g' $(DOCOMF)
+	sed -i 's/@VERSION@/$(VERSION)/g' $(DOCDESKTOP)
+	sed -i 's/@DATE@/$(DATE)/g' $(DOCDESKTOP)
+	sed -i 's/@TITLE@/$(TITLE)/g' $(DOCDESKTOP)
+	sed -i 's/@DOCBASE@/$(DOCBASE)/g' $(DOCDESKTOP)
+#
+# Do the build...
+#
+	rpmbuild -bb $(RPMFLAGS) $(DOCSPEC)
+	mv RPMS/noarch/*.rpm .
+	rpmbuild --clean --rmsource $(RPMFLAGS) $(DOCSPEC)
+	rm -rf {BUILD,RPMS,SOURCES,SPECS,SRPMS}
+	rm -rf $(DOCBASE)-$(VERSION)




More information about the Fedora-docs-commits mailing list