diff --git a/README.md b/README.md index 6bd14fb..23efb2d 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # publican +Publican is a DocBook publication system, not just a DocBook processing tool. +As well as ensuring your DocBook XML is valid, publican works to ensure your XML is up to publishable standard. + diff --git a/publican-2.8-fix-test-suite-perl-CA.patch b/publican-2.8-fix-test-suite-perl-CA.patch new file mode 100644 index 0000000..ab2d9a5 --- /dev/null +++ b/publican-2.8-fix-test-suite-perl-CA.patch @@ -0,0 +1,12 @@ +diff -Nru Publican-2.8.orig/t/910.publican.Users_Guide.t Publican-2.8/t/910.publican.Users_Guide.t +--- Publican-2.8.orig/t/910.publican.Users_Guide.t 2011-09-22 04:02:20.000000000 +0200 ++++ Publican-2.8/t/910.publican.Users_Guide.t 2013-01-21 22:18:05.778866725 +0100 +@@ -27,7 +27,7 @@ + my $dir = pushd('Users_Guide'); + my $result; + +-## is(system('perl -I ../blib/lib ../blib/script/publican old2new'), 0, 'Run old2new'); ++## is(system('perl -CA -I ../blib/lib ../blib/script/publican old2new'), 0, 'Run old2new'); + $result = system( 'perl', '-CA', '-I', $lib, $publican, 'print_tree', + @common_opts ); + diag("result 1 = $result\n"); diff --git a/publican.spec b/publican.spec new file mode 100644 index 0000000..75e26c2 --- /dev/null +++ b/publican.spec @@ -0,0 +1,185 @@ +%define with_test 0 +Name: publican +Version: 2.8 +Release: 3mamba +Summary: Common files and scripts for publishing with DocBook XML +Group: Applications/Text +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: https://fedorahosted.org/publican/ +Source: https://fedorahosted.org/released/publican/Publican-%{version}.tar.gz +Patch0: publican-2.8-fix-test-suite-perl-CA.patch +License: Artistic, Creative Commons License, GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: perl-Archive-Zip +BuildRequires: perl-Config-Simple +BuildRequires: perl-DateTime +BuildRequires: perl-DateTime-Format-DateParse +BuildRequires: perl-DBD-SQLite +BuildRequires: perl-DBI +BuildRequires: perl-devel +BuildRequires: perl-File-Copy-Recursive +BuildRequires: perl-File-Find-Rule +BuildRequires: perl-File-pushd +BuildRequires: perl-File-Which +BuildRequires: perl-HTML-Format +BuildRequires: perl-HTML-Tree +BuildRequires: perl-Image-Size +BuildRequires: perl-IO-String +BuildRequires: perl-Locale-Maketext-Gettext +BuildRequires: perl-Locale-PO +BuildRequires: perl-Magick +BuildRequires: perl-Makefile-Parser +BuildRequires: perl-Syntax-Highlight-Engine-Kate +BuildRequires: perl-Template-Toolkit +BuildRequires: perl-XML-LibXML +BuildRequires: perl-XML-LibXSLT +BuildRequires: perl-XML-Simple +BuildRequires: perl-XML-TreeBuilder +## AUTOBUILDREQ-END +BuildRequires: desktop-file-utils +BuildRequires: perl-devel +BuildRequires: docbook-xsl +BuildRequires: gettext-devel +# fonts +BuildRequires: baekmuk-ttf-fonts +BuildRequires: cjkuni-ukai-ttf-fonts +BuildRequires: cjkuni-uming-ttf-fonts +BuildRequires: ipa-gothic-fonts +BuildRequires: ipa-pgothic-fonts +BuildRequires: liberation-fonts +BuildRequires: lklug-fonts +BuildRequires: sazanami-fonts +# java +BuildRequires: apache-fop == 0.95 +BuildRequires: apache-batik +BuildRequires: jakarta-commons-logging +BuildRequires: jakarta-commons-io +BuildRequires: java-excalibur-avalon-framework +BuildRequires: xmlgraphics-commons == 1.3.1 +Requires: apache-batik +Requires: apache-fop == 0.95 +Requires: cvs +Requires: docbook-xsl +Requires: gettext +Requires: perl +Requires: perl(DBD::SQLite) +Requires: perl(Locale::Maketext::Gettext) +Requires: perl-Template-Toolkit +Requires: perl(XML::LibXML) +Requires: perl(XML::LibXSLT) +Requires: perl(XML::TreeBuilder) +Requires: baekmuk-ttf-fonts +Requires: cjkuni-ukai-ttf-fonts +Requires: cjkuni-uming-ttf-fonts +Requires: ipa-gothic-fonts +Requires: ipa-pgothic-fonts +Requires: liberation-fonts +Requires: lklug-fonts +Requires: sazanami-fonts +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +Publican is a DocBook publication system, not just a DocBook processing tool. +As well as ensuring your DocBook XML is valid, publican works to ensure your XML is up to publishable standard. + +%package doc +Summary: Documentation for the Publican package +Group: Documentation +Requires: xdg-utils + +%description doc +Publican is a tool for publishing material authored in DocBook XML. +This guide explains how to to create and build books and articles using publican. It is not a DocBook XML tutorial and concentrates solely on using the publican tools. + +%prep +%setup -q -n Publican-%{version} +chmod +w t/900.publican.t +chmod +w t/910.publican.Users_Guide.t +%patch0 -p1 + +sed -i "s|/usr/share/java/avalon-framework.jar|/usr/share/java/excalibur/avalon-framework.jar|" fop-ttc-metric.pl + +%build +%{__perl} Build.PL \ + installdirs=vendor \ + perl=%{__perl} + +./Build +dir=`pwd` && cd Users_Guide && perl -CA -I $dir/blib/lib $dir/blib/script/publican build \ + --formats=html-desktop --publish --langs=all \ + --common_config="$dir/blib/datadir" \ + --common_content="$dir/blib/datadir/Common_Content" + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +./Build install destdir=%{buildroot} create_packlist=0 + +find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null \; +chmod -R u+w %{buildroot}/* + +./fop-ttc-metric.pl --outdir %{buildroot}%{_datadir}/publican/fop/font-metrics --conffile %{buildroot}%{_datadir}/publican/fop/fop.xconf + +sed -i -e 's|@@FILE@@|%{_docdir}/%{name}-doc-%{version}/en-US/index.html|' publican.desktop +sed -i -e 's|@@ICON@@|%{_docdir}/%{name}-doc-%{version}/en-US/images/icon.svg|' publican.desktop + +sed -i -e 's|Categories=Documentation;X-Red-Hat-Base;|Categories=Development;|' publican.desktop + +desktop-file-install --dir=%{buildroot}%{_datadir}/applications publican.desktop + +for file in po/*.po; do + lang=`echo "$file" | sed -e 's/po\/\(.*\)\.po/\1/'`; + mkdir -p %{buildroot}%{_datadir}/locale/$lang/LC_MESSAGES; + msgfmt $file -o %{buildroot}%{_datadir}/locale/$lang/LC_MESSAGES/%{name}.mo; +done + +%find_lang %{name} + +%if %with_test +%check +./Build test +%endif + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files -f %{name}.lang +%defattr(-,root,root) +%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/publican-website.cfg +%config(noreplace) %{_sysconfdir}/bash_completion.d/_publican +%{_bindir}/publican +%dir %{_datadir}/publican +%config(noreplace) %{_datadir}/publican/default.db +%{_datadir}/publican/Common_Content +%{_datadir}/publican/fop +%{_datadir}/publican/sitetemplate +%{_datadir}/publican/templates +%{_datadir}/publican/xsl +%{_datadir}/publican/footer.html +%{_datadir}/publican/header.html +%{perl_vendorlib}/Publican.pm +%{perl_vendorlib}/Publican/* +%{_mandir}/man3/*.3pm.gz +%{_mandir}/man1/publican.1.gz +%doc Artistic COPYING LICENSE + +%files doc +%defattr(-,root,root) +%{_datadir}/applications/publican.desktop +%doc fdl.txt Users_Guide/publish/desktop/* +%doc CHANGES README + +%changelog +* Sat Mar 30 2013 Silvan Calarco 2.8-3mamba +- don't depend on perl minor release; call /usr/bin/perl + +* Thu Jan 24 2013 Silvan Calarco 2.8-2mamba +- rebuilt with apache-fop 0.95 + +* Wed Jan 23 2013 Automatic Build System 2.8-1mamba +- automatic version update by autodist + +* Wed Feb 16 2011 gil 2.5-1mamba +- package created by autospec