2011-12-28 15:00:18 +01:00
|
|
|
#!/bin/bash
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# Create DAPS source tarball from SVN
|
|
|
|
#
|
|
|
|
# Copyright (C) 2004 - 2011 SUSE Linux Products GmbH
|
|
|
|
#
|
|
|
|
# Author:
|
|
|
|
# Frank Sundermeyer <fsundermeyer at opensuse dot org>
|
|
|
|
#
|
|
|
|
|
2012-03-08 12:17:04 +01:00
|
|
|
#set -x
|
2012-01-10 09:24:27 +01:00
|
|
|
|
2011-12-28 15:00:18 +01:00
|
|
|
NAME=daps
|
|
|
|
VERSION=
|
|
|
|
SPECFILE=${NAME}.spec
|
Version DAPS 2.0~beta1:
- First beta for a new major release
Output targets:
---------------
* the number of subcommands has been significantly reduced, see
"daps --commands", "daps help" and "daps help <SUBCOMMAND>" for
more information
- "html-single" has been replaced by "html --single"
- "jsp" has been replaced with "html --jsp"
- "color-pdf" has been replaced by "pdf" (now produces color PDFS)
- "pdf" has been replaced by "pdf --grayscale --cropmarks"
- "projectfiles" and "projectgraphics" have been replaced with
"list-srcfiles" (see daps help "list-srcfiles" for more options)
- all dist-* commands have been removed
- when calling deprecated targets, an error message hinting at a
valid alternative (is existing) is shown
* subcommand bigfile now generates a bigfile for the given rootid
(rather than for the complate set); target bigfile-reduced has been
dropped
* subbcommands package-pdf and package-html now have switches
--dcoumentfiles, --desktopfiles and --pagefiles which generate
the resource files for GNOME and KDE
* new subcommands
- "clean-package" removes all generated package data for the given
DC-file. Generated images and profiled sources will _not_ be
deleted.
- "dapsenv" shows a list of the most important make variables
and their values
- "images" generates images only for a given rootid. Intended for
debugging purposes
- "package-src" (creates a tarball with profiled XML sources and
images); switch --set-date allows to specify a build date (default
date is "now")
* ePUB generation has been completely rewritten (pure make solution,
no longer uses the ruby script from upstream); generated ePUBs
now validate with epubcheck3.
- added support for .mobi (Amzon Kindle format). Requires calibre.
(ticket #98)
* replaced support for HTML4 with support for HTML5 (--html5)
xhtml remains the default, html4 is no longer supported
* to nullify a CSS-file definition for HTML or EPUB (HTML_CSS or
EPUB_CSS) from the DC-file, specify "--css none"
Miscellaneous:
--------------
* now supports XSLT processor saxon6 (in addition to xsltproc),
specify with --xsltprocessor (default: xsltproc)
* improved verbosity handling:
- if output is not a terminal (e.g. pipe) only prints the
resulting filename (-v0)
- default verbosity shows a result message plus filename (-v1)
- -v2 shows additional messages
- -v3 shows the complete make output from make -j1 (commands are
executed successively, not parallel)
- --debug shows the complete make output from make -j1+x
(commands are executed parallel; this also shows in the debug
output)
* added support for JPG images (ticket #101)
* added support for a "static/" directory in STYLEROOT containing
css, js and images taht are reference in the CSS and the
stylesheets for HTML
* New general switch --commands shows all available subcommands
* if the XML sources are not well-formed, a meaningful error
message is shown
* xsltparameters have to be submitted as --param PARAM=VALUE or
--stringparam PARAM=VALUE (the "=" is mandatory, used to be
a "space2 with DAPS 1.x)
* output formats are only re-generated when the source files
(xml, entity files or images) have changed. To force a rebuild
run DAPS with --force or run a suitable clean command
* added switches --author and --productname switches to daps-init
Config file changes:
--------------------
* New config file variables:
COVERT_OPS_JPG: command-line options for "convert" for converting
jpg images to grayscale
FOP_STACKSIZE: set stacksize for fop (ticket #82)
META, META_STR: permanently run html and PDF builds with
--meta
STATIC_DIR: custom static directory
XML_USER_CATALOGS: add custom catalogs to XML_CATALOG_FILES
(ticket #99)
XSLTPROCESSOR: Use the specified XSLT processor
(saxon6 or xsltproc)
Code changes:
-------------
* big makefile (common.mk) has been split into several small files
- easier to maintain
- improved performance by only loading makefiles that are needed
for the given subcommand
* added a comprehensive test suite to ensure better quality when
releasing
* no longer requires Bash 4--Bash 3 is sufficient
Documentation:
--------------
* Quickstart has been updated to cover DAPS 2.0
* Update of User Guide is WIP
* new Tutorial "How to Write an Article with DocBook and DAPS"
Bugfixes:
---------
Numerous bugfixes and improvements, among them:
* #64 Split Makefiles
* #66 daps: DC Files and Platform Dependant Paths
* #73 Create PDFs for target locdrop if --def-file is specified
* #82 Add config parameter for FOP (XEP?) stacksize
* #85 Set a fixed <date/> date with package-src target
* #98 Adjust EPUB Stylesheet to Suppot Kindle
* #99 Support User Definied Catalogs by Setting XML_CATALOG_FILES...
* #101 DAPS should support JPEG as a source file format
* #103 Exit target package-source when there are missing images
* #105 DAPS's sub-commands are somewhat inconsistent
* #106 Enable overwriting xsltproc params
* #108 Support FOP 1.1
* #115 --css/HTML_CSS parameter is completely ignored if styleroot...
* #116 Move font requirements from daps specfile to ...
* #126 Add --show switch to checklink
* #127 productinfo sometimes fails and is slow
* #129 Get rid of native xsltproc calls
* #136 daps Ignores Language in Document for Spell Checking
* #138 DAPS makes it easier to create black/white PDFs than ...
* #139 When trying to create a PDF file with malformed XSLT files...
* #142 Saxon seems to have problems with NovDoc documents
* #146 EPUB CRITICAL Error: No manual specific tmp dir
* #147 EPUB validation error on callouts
* #148 --meta only works when profiling
* #159 Fatal Error in ePUB stylesheets
* #163 JSP Stylesheets fail with saxon6
* #165 FOP config file is unnecessary
* #166 Reduce Logging Output of Apache's FOP
* #171 Remove unnecessary "eval" statements in the DAPS code
* #192 Create filenames in a single place
* #196 EPUB does not build with saxon
Known Issues:
-------------
* the webhelp code hasn't been touched at all; webhelp will most
likely not work
OBS-URL: https://build.opensuse.org/package/show/Documentation:Tools/daps?expand=0&rev=133
2013-12-11 10:05:58 +01:00
|
|
|
SVNPATH=svn://svn.code.sf.net/p/daps/svn/trunk/daps
|
2011-12-28 15:00:18 +01:00
|
|
|
TMPDIR=$(mktemp -q -d --tmpdir daps_XXXXXXXX)
|
|
|
|
EXCLUDES=${TMPDIR}/${NAME}/packaging/exclude-files_for_daps_package.txt
|
|
|
|
|
|
|
|
#----------
|
|
|
|
# Functions
|
|
|
|
#----------
|
|
|
|
|
|
|
|
# exit on error
|
|
|
|
#
|
|
|
|
function exit_on_error {
|
|
|
|
echo -e "$1"
|
|
|
|
rm -rf $TMPDIR
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
#-----
|
|
|
|
# MAIN
|
|
|
|
#-----
|
|
|
|
#
|
|
|
|
# This script needs to be called from the daps osc checkout directory, so
|
|
|
|
# lets check whethter we are in the correct directory
|
|
|
|
#
|
|
|
|
if [[ ! -s daps.spec && ! -d .osc ]]; then
|
|
|
|
echo "Looks like you are not in the daps checkout directory."
|
|
|
|
read -p "Continue anyway (y/n) [n]: " CONT
|
|
|
|
if [[ n = $CONT || N = $CONT ]]; then
|
|
|
|
exit_on_error "Aborted by user."
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
#
|
|
|
|
# Export daps from SVN
|
|
|
|
#
|
2012-03-08 12:17:04 +01:00
|
|
|
svn export -q $SVNPATH ${TMPDIR}/${NAME} || exit_on_error "SVN export failed"
|
2011-12-28 15:00:18 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Get the version number
|
|
|
|
#
|
|
|
|
VERSION=$(egrep "^Version:\s*" ${TMPDIR}/${NAME}/packaging/$SPECFILE | sed 's/^Version:\s*//')
|
|
|
|
|
|
|
|
if [[ -z $VERSION ]]; then
|
|
|
|
exit_on_error "Couldn't get version number from spec-file."
|
|
|
|
fi
|
|
|
|
|
|
|
|
#
|
|
|
|
# Create the tarball
|
|
|
|
#
|
|
|
|
export BZIP2=--best
|
Version DAPS 2.0~beta1:
- First beta for a new major release
Output targets:
---------------
* the number of subcommands has been significantly reduced, see
"daps --commands", "daps help" and "daps help <SUBCOMMAND>" for
more information
- "html-single" has been replaced by "html --single"
- "jsp" has been replaced with "html --jsp"
- "color-pdf" has been replaced by "pdf" (now produces color PDFS)
- "pdf" has been replaced by "pdf --grayscale --cropmarks"
- "projectfiles" and "projectgraphics" have been replaced with
"list-srcfiles" (see daps help "list-srcfiles" for more options)
- all dist-* commands have been removed
- when calling deprecated targets, an error message hinting at a
valid alternative (is existing) is shown
* subcommand bigfile now generates a bigfile for the given rootid
(rather than for the complate set); target bigfile-reduced has been
dropped
* subbcommands package-pdf and package-html now have switches
--dcoumentfiles, --desktopfiles and --pagefiles which generate
the resource files for GNOME and KDE
* new subcommands
- "clean-package" removes all generated package data for the given
DC-file. Generated images and profiled sources will _not_ be
deleted.
- "dapsenv" shows a list of the most important make variables
and their values
- "images" generates images only for a given rootid. Intended for
debugging purposes
- "package-src" (creates a tarball with profiled XML sources and
images); switch --set-date allows to specify a build date (default
date is "now")
* ePUB generation has been completely rewritten (pure make solution,
no longer uses the ruby script from upstream); generated ePUBs
now validate with epubcheck3.
- added support for .mobi (Amzon Kindle format). Requires calibre.
(ticket #98)
* replaced support for HTML4 with support for HTML5 (--html5)
xhtml remains the default, html4 is no longer supported
* to nullify a CSS-file definition for HTML or EPUB (HTML_CSS or
EPUB_CSS) from the DC-file, specify "--css none"
Miscellaneous:
--------------
* now supports XSLT processor saxon6 (in addition to xsltproc),
specify with --xsltprocessor (default: xsltproc)
* improved verbosity handling:
- if output is not a terminal (e.g. pipe) only prints the
resulting filename (-v0)
- default verbosity shows a result message plus filename (-v1)
- -v2 shows additional messages
- -v3 shows the complete make output from make -j1 (commands are
executed successively, not parallel)
- --debug shows the complete make output from make -j1+x
(commands are executed parallel; this also shows in the debug
output)
* added support for JPG images (ticket #101)
* added support for a "static/" directory in STYLEROOT containing
css, js and images taht are reference in the CSS and the
stylesheets for HTML
* New general switch --commands shows all available subcommands
* if the XML sources are not well-formed, a meaningful error
message is shown
* xsltparameters have to be submitted as --param PARAM=VALUE or
--stringparam PARAM=VALUE (the "=" is mandatory, used to be
a "space2 with DAPS 1.x)
* output formats are only re-generated when the source files
(xml, entity files or images) have changed. To force a rebuild
run DAPS with --force or run a suitable clean command
* added switches --author and --productname switches to daps-init
Config file changes:
--------------------
* New config file variables:
COVERT_OPS_JPG: command-line options for "convert" for converting
jpg images to grayscale
FOP_STACKSIZE: set stacksize for fop (ticket #82)
META, META_STR: permanently run html and PDF builds with
--meta
STATIC_DIR: custom static directory
XML_USER_CATALOGS: add custom catalogs to XML_CATALOG_FILES
(ticket #99)
XSLTPROCESSOR: Use the specified XSLT processor
(saxon6 or xsltproc)
Code changes:
-------------
* big makefile (common.mk) has been split into several small files
- easier to maintain
- improved performance by only loading makefiles that are needed
for the given subcommand
* added a comprehensive test suite to ensure better quality when
releasing
* no longer requires Bash 4--Bash 3 is sufficient
Documentation:
--------------
* Quickstart has been updated to cover DAPS 2.0
* Update of User Guide is WIP
* new Tutorial "How to Write an Article with DocBook and DAPS"
Bugfixes:
---------
Numerous bugfixes and improvements, among them:
* #64 Split Makefiles
* #66 daps: DC Files and Platform Dependant Paths
* #73 Create PDFs for target locdrop if --def-file is specified
* #82 Add config parameter for FOP (XEP?) stacksize
* #85 Set a fixed <date/> date with package-src target
* #98 Adjust EPUB Stylesheet to Suppot Kindle
* #99 Support User Definied Catalogs by Setting XML_CATALOG_FILES...
* #101 DAPS should support JPEG as a source file format
* #103 Exit target package-source when there are missing images
* #105 DAPS's sub-commands are somewhat inconsistent
* #106 Enable overwriting xsltproc params
* #108 Support FOP 1.1
* #115 --css/HTML_CSS parameter is completely ignored if styleroot...
* #116 Move font requirements from daps specfile to ...
* #126 Add --show switch to checklink
* #127 productinfo sometimes fails and is slow
* #129 Get rid of native xsltproc calls
* #136 daps Ignores Language in Document for Spell Checking
* #138 DAPS makes it easier to create black/white PDFs than ...
* #139 When trying to create a PDF file with malformed XSLT files...
* #142 Saxon seems to have problems with NovDoc documents
* #146 EPUB CRITICAL Error: No manual specific tmp dir
* #147 EPUB validation error on callouts
* #148 --meta only works when profiling
* #159 Fatal Error in ePUB stylesheets
* #163 JSP Stylesheets fail with saxon6
* #165 FOP config file is unnecessary
* #166 Reduce Logging Output of Apache's FOP
* #171 Remove unnecessary "eval" statements in the DAPS code
* #192 Create filenames in a single place
* #196 EPUB does not build with saxon
Known Issues:
-------------
* the webhelp code hasn't been touched at all; webhelp will most
likely not work
OBS-URL: https://build.opensuse.org/package/show/Documentation:Tools/daps?expand=0&rev=133
2013-12-11 10:05:58 +01:00
|
|
|
tar cf ${NAME}-${VERSION}.tar -C ${TMPDIR} \
|
2011-12-28 15:00:18 +01:00
|
|
|
--exclude-from=$EXCLUDES ${NAME} || exit_on_error "Failed to create the tarball."
|
2014-07-23 17:18:57 +02:00
|
|
|
tar rf ${NAME}-${VERSION}.tar -C ${TMPDIR} ${NAME}/suse/{suse,daps}2013 \
|
|
|
|
|| exit_on_error "Failed to add suse/{suse,daps}2013 to the tarball."
|
2012-03-08 12:17:04 +01:00
|
|
|
bzip2 -9f ${NAME}-${VERSION}.tar
|
2011-12-28 15:00:18 +01:00
|
|
|
|
2012-03-08 12:17:04 +01:00
|
|
|
echo "Successfully wrote source tarball ${NAME}-${VERSION}.tar.bz2"
|
2011-12-28 15:00:18 +01:00
|
|
|
#
|
|
|
|
# Copy the spec file if necessary
|
|
|
|
#
|
|
|
|
diff -q $SPECFILE ${TMPDIR}/${NAME}/packaging/$SPECFILE >/dev/null
|
|
|
|
if [[ 0 = $? ]]; then
|
|
|
|
echo "spec file is up-to-date"
|
|
|
|
else
|
|
|
|
cp ${TMPDIR}/${NAME}/packaging/$SPECFILE . || exit_on_error "Failed to copy the specfile."
|
|
|
|
echo "Successfully updated the spec file."
|
|
|
|
fi
|
|
|
|
|
|
|
|
rm -rf ${TMPDIR}
|
|
|
|
|
|
|
|
exit 0
|