Name: mojomojo Version: 1.01 Release: 2%{?dist} Summary: Catalyst & DBIx::Class powered Wiki License: GPL+ or Artistic Group: Applications/Internet URL: http://mojomojo.org Source0: http://search.cpan.org/CPAN/authors/id/M/MR/MRAMBERG/MojoMojo-%{version}.tar.gz # default mod_fcgid config for apache httpd Source1: mojomojo-httpd.conf # fix location of docbook xsl file Patch0: formatter-docbook.patch # adjust paths Patch2: mojomojo-paths.patch BuildArch: noarch # since it comes from CPAN, someone might expect to find Provides: perl-MojoMojo = %{version}-%{release} BuildRequires: perl(Algorithm::Diff) >= 1.19 BuildRequires: perl(Algorithm::Merge) BuildRequires: perl(Archive::Zip) >= 1.14 BuildRequires: perl(Cache::FastMmap) >= 1.31 BuildRequires: perl(Catalyst) >= 5.8000 BuildRequires: perl(Catalyst::Action::RenderView) >= 0.07 BuildRequires: perl(Catalyst::Authentication::Store::DBIx::Class) >= 0.101 BuildRequires: perl(Catalyst::Controller::HTML::FormFu) >= 0.03007 BuildRequires: perl(Catalyst::Model::DBIC::Schema) >= 0.01 BuildRequires: perl(Catalyst::Plugin::Authentication) >= 0.10005 BuildRequires: perl(Catalyst::Plugin::Cache) >= 0.08 BuildRequires: perl(Catalyst::Plugin::ConfigLoader) >= 0.13 BuildRequires: perl(Catalyst::Plugin::I18N) BuildRequires: perl(Catalyst::Plugin::Session::State::Cookie) >= 0.11 BuildRequires: perl(Catalyst::Plugin::Session::Store::Cache) BuildRequires: perl(Catalyst::Plugin::Setenv) BuildRequires: perl(Catalyst::Plugin::Static::Simple) >= 0.07 BuildRequires: perl(Catalyst::Plugin::SubRequest) >= 0.15 BuildRequires: perl(Catalyst::Plugin::Unicode) >= 0.8 BuildRequires: perl(Catalyst::View::Email) >= 0.14 BuildRequires: perl(Catalyst::View::Email::Template) BuildRequires: perl(Catalyst::View::JSON) >= 0.26 BuildRequires: perl(Catalyst::View::TT) >= 0.23 BuildRequires: perl(Config::General) BuildRequires: perl(Config::JFDI) BuildRequires: perl(Crypt::CBC) >= 2.12 BuildRequires: perl(Data::Page) >= 2.00 BuildRequires: perl(DateTime) >= 0.28 BuildRequires: perl(DateTime::Format::Mail) BuildRequires: perl(DBD::SQLite) >= 1.27 BuildRequires: perl(DBIx::Class) >= 0.08 BuildRequires: perl(DBIx::Class::DateTime::Epoch) >= 0.04 BuildRequires: perl(DBIx::Class::EncodedColumn) BuildRequires: perl(DBIx::Class::TimeStamp) >= 0.11 BuildRequires: perl(Directory::Scratch) >= 0.14 BuildRequires: perl(Email::Sender::Simple) >= 0.100110 BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: perl(File::Copy::Recursive) BuildRequires: perl(File::MMagic) >= 1.27 BuildRequires: perl(HTML::Entities) >= 3.60 BuildRequires: perl(HTML::FormFu) >= 0.02000 BuildRequires: perl(HTML::FormFu::Model::DBIC) BuildRequires: perl(HTML::FormFu::Element::reCAPTCHA) BuildRequires: perl(HTML::Strip) >= 1.04 BuildRequires: perl(HTML::TagCloud) BuildRequires: perl(Image::ExifTool) BuildRequires: perl(Image::Math::Constrain) BuildRequires: perl(Imager) BuildRequires: perl(IO::Scalar) BuildRequires: perl(KinoSearch) >= 0.165 BuildRequires: perl(Module::Pluggable::Ordered) >= 1.4 BuildRequires: perl(Moose) BuildRequires: perl(MRO::Compat) >= 0.10 BuildRequires: perl(Number::Format) BuildRequires: perl(parent) BuildRequires: perl(SQL::Translator) >= 0.09006 BuildRequires: perl(Template) >= 2.20 BuildRequires: perl(Template::Plugin::JavaScript) BuildRequires: perl(Term::Prompt) BuildRequires: perl(Text::Context) >= 3.5 BuildRequires: perl(Text::MultiMarkdown) >= 1.000032 BuildRequires: perl(Text::Password::Pronounceable) BuildRequires: perl(Text::Textile) BuildRequires: perl(URI) >= 1.37 BuildRequires: perl(URI::Find) BuildRequires: perl(YAML) >= 0.36 # DocBook Formatter BuildRequires: perl(XML::LibXSLT) >= 1.66 BuildRequires: perl(XML::LibXML) >= 1.66 BuildRequires: docbook-style-xsl # FastCGI support BuildRequires: perl(FCGI::ProcManager) # Toc Generator BuildRequires: perl(HTML::Toc) >= 1.10 # POD Formatter BuildRequires: perl(Pod::Simple::HTML) >= 3.01 # Syntax Highlighter BuildRequires: perl(Syntax::Highlight::Engine::Kate) # Transclusion support BuildRequires: perl(LWP::Simple) BuildRequires: perl(URI::Fetch) # Amazon boxes BuildRequires: perl(Net::Amazon) # RSS Formatter BuildRequires: perl(XML::Feed) # Emoticons BuildRequires: perl(Text::Emoticon::MSN) # Tests BuildRequires: perl(Catalyst::Test) BuildRequires: perl(Devel::LeakGuard::Object) BuildRequires: perl(Test::Differences) BuildRequires: perl(Test::More) >= 0.88 BuildRequires: perl(Test::NoTabs) BuildRequires: perl(Test::Pod) BuildRequires: perl(Test::Pod::Coverage) BuildRequires: perl(Test::WWW::Mechanize::Catalyst) BuildRequires: perl(WWW::Mechanize::TreeBuilder) # additional requires for Catalyst-Plugin-I18N BuildRequires: perl(Locale::Maketext::Lexicon) # additional requires for Catalyst::View::JSON BuildRequires: perl(JSON) Requires: perl(Cache::FastMmap) >= 1.31 Requires: perl(Catalyst::Action::RenderView) >= 0.07 Requires: perl(Catalyst::Authentication::Store::DBIx::Class) >= 0.101 Requires: perl(Catalyst::Controller::HTML::FormFu) >= 0.03007 Requires: perl(Catalyst::Model::DBIC::Schema) >= 0.01 Requires: perl(Catalyst::Plugin::Authentication) >= 0.10005 Requires: perl(Catalyst::Plugin::Cache) >= 0.08 Requires: perl(Catalyst::Plugin::ConfigLoader) >= 0.13 Requires: perl(Catalyst::Plugin::I18N) Requires: perl(Catalyst::Plugin::Session::State::Cookie) >= 0.11 Requires: perl(Catalyst::Plugin::Session::Store::Cache) Requires: perl(Catalyst::Plugin::Setenv) Requires: perl(Catalyst::Plugin::Static::Simple) >= 0.07 Requires: perl(Catalyst::Plugin::SubRequest) >= 0.13 Requires: perl(Catalyst::Plugin::Unicode) >= 0.8 Requires: perl(Catalyst::View::Email) >= 0.14 Requires: perl(Catalyst::View::Email::Template) Requires: perl(Catalyst::View::JSON) >= 0.26 Requires: perl(Catalyst::View::TT) >= 0.23 Requires: perl(Config::General) Requires: perl(Crypt::CBC) >= 2.12 Requires: perl(DBD::SQLite) >= 1.27 Requires: perl(DBIx::Class) >= 0.08 Requires: perl(DBIx::Class::DateTime::Epoch) >= 0.04 Requires: perl(DBIx::Class::EncodedColumn) Requires: perl(DBIx::Class::TimeStamp) >= 0.11 Requires: perl(Directory::Scratch) >= 0.14 Requires: perl(File::Copy::Recursive) Requires: perl(HTML::FormFu) >= 0.02000 Requires: perl(HTML::FormFu::Model::DBIC) Requires: perl(HTML::FormFu::Element::reCAPTCHA) Requires: perl(KinoSearch) >= 0.165 Requires: perl(Module::Pluggable::Ordered) >= 1.4 Requires: perl(Template) >= 2.20 Requires: perl(Template::Plugin::JavaScript) Requires: perl(Text::MultiMarkdown) >= 1.000032 Requires: perl(YAML) >= 0.36 # DocBook Formatter Requires: perl(XML::LibXSLT) >= 1.66 Requires: perl(XML::LibXML) >= 1.66 Requires: docbook-style-xsl # Toc Generator Requires: perl(HTML::Toc) >= 1.10 # Syntax Highlighter Requires: perl(Syntax::Highlight::Engine::Kate) # Transclusion support Requires: perl(LWP::Simple) Requires: perl(URI::Fetch) # Amazon boxes Requires: perl(Net::Amazon) # RSS Formatter Requires: perl(XML::Feed) # Emoticons Requires: perl(Text::Emoticon::MSN) # additional requires for Catalyst-Plugin-I18N Requires: perl(Locale::Maketext::Lexicon) # additional requires for Catalyst::View::JSON Requires: perl(JSON) # to ensure that apache user/group exist before installation Requires(pre): httpd # mod_fcgid Requires: mod_fcgid Requires: perl(FCGI) Requires: perl(FCGI::ProcManager) %{?perl_default_filter} %description Mojomojo is a sort of content management system, borrowing many concepts from wikis and blogs. It allows you to maintain a full tree-structure of pages, and to interlink them in various ways. It has full version support, so you can always go back to a previous version and see what's changed with an easy AJAX- based diff system. There are also a bunch of other features like built-in fulltext search, live AJAX preview of editing, and RSS feeds for every wiki page. %prep %setup -q -n MojoMojo-%{version} %patch0 -p 1 %patch2 -p 1 find root lib -type f | xargs chmod 0644 %build PERL5_CPANPLUS_IS_RUNNING=1 %{__perl} Makefile.PL INSTALLDIRS=vendor make %{?_smp_mflags} %install make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT # move things around a bit install -d -m 0755 %{buildroot}%{_datadir}/mojomojo mv %{buildroot}%{perl_vendorlib}/MojoMojo/root %{buildroot}%{_datadir}/mojomojo/root install -d -m 0755 %{buildroot}%{_sysconfdir} mv %{buildroot}%{perl_vendorlib}/MojoMojo/mojomojo.conf %{buildroot}%{_sysconfdir}/mojomojo.conf find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \; find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \; install -d -m 0755 %{buildroot}%{_localstatedir}/lib/mojomojo ln -s %{_sysconfdir}/mojomojo.conf %{buildroot}%{_localstatedir}/lib/mojomojo/mojomojo.conf ln -s %{_datadir}/mojomojo/root %{buildroot}%{_localstatedir}/lib/mojomojo/root install -D -m 0644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/httpd/conf.d/mojomojo.conf # initial SQLite database perl -Iblib/lib ./script/mojomojo_spawn_db.pl \ --dsn dbi:SQLite:mojomojo.db \ --db-user db_user \ --db-password db_password \ --wiki MojoMojo \ --admin-fullname admin \ --admin-email root@localhost install -m 0640 mojomojo.db %{buildroot}%{_localstatedir}/lib/mojomojo/mojomojo.db mkdir -p %{buildroot}%{_localstatedir}/lib/mojomojo/{index,uploads} %{_fixperms} $RPM_BUILD_ROOT/* %check # some tests are intentionally skipped: # t/formatter_amazon.t - requires Amazon API token (and presumably network connection) # t/selenium.t - won't work in mock make test %files %defattr(-,root,root,-) %doc Changes mojomojo.conf README %{_bindir}/* %{perl_vendorlib}/* %{_mandir}/man1/* %{_mandir}/man3/* %{_datadir}/mojomojo %attr(-,apache,root) %dir %{_localstatedir}/lib/mojomojo %attr(0640,root,apache) %{_localstatedir}/lib/mojomojo/mojomojo.conf %attr(0750,root,apache) %{_localstatedir}/lib/mojomojo/root %attr(0750,apache,root) %dir %{_localstatedir}/lib/mojomojo/index %attr(0750,apache,root) %dir %{_localstatedir}/lib/mojomojo/uploads %config(noreplace) %attr(0640,apache,root) %{_localstatedir}/lib/mojomojo/mojomojo.db %config(noreplace) %{_sysconfdir}/httpd/conf.d/* %attr(0640,root,apache) %config(noreplace) %{_sysconfdir}/mojomojo.conf %changelog * Fri Jul 23 2010 Iain Arnell 1.01-2 - drop selinux sub-package - it's in reference policy now - update spec for modern rpmbuild - minor tweak to httpd config * Thu Jul 08 2010 Iain Arnell 1.01-1 - update to latest upstream * Fri May 21 2010 Iain Arnell 1.00-1 - update to 1.00 release * Wed Jan 20 2010 Iain Arnell 0.999042-1 - update to latest upstream version - update (build)requires - drop required-versions patch (we now have everything) * Sat Oct 31 2009 Iain Arnell 0.999041-1 - update to latest upstream version * Sat Sep 05 2009 Iain Arnell 0.999040-1 - update to latest upstream version * Tue Aug 25 2009 Iain Arnell 0.999033-1 - update to latest upstream version * Sat Aug 08 2009 Iain Arnell 0.999032-1 - update to latest upstream version * Sun Jul 19 2009 Iain Arnell 0.999030-1 - update to latest upstream version * Wed Jun 17 2009 Iain Arnell 0.999029-3 - requires perl(JSON) - own /var/lib/mojomojo/{index,uploads} * Wed Jun 10 2009 Iain Arnell 0.999029-2 - provide perl-MojoMojo - restore versioned requirement on HTML::Entities - adjust url to mojomojo.org - fix a bug in Attachment.pm * Sat May 23 2009 Iain Arnell 0.999029-1 - Specfile autogenerated by cpanspec 1.77. - move things around for FHS - add selinux support