Name: foswiki Version: 1.0.9 Release: 1%{?dist} Summary: Wiki engine written in perl Group: Applications/Internet License: GPLv2+ URL: http://foswiki.sf.net Source0: http://downloads.sourceforge.net/%{name}/Foswiki-%{version}.tgz Source1: foswiki-httpd.conf Source2: foswiki-logrotate.conf Source3: foswiki-LocalSite.cfg BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch Requires(pre): httpd Requires: mod_perl Requires: rcs Requires: perl(Algorithm::Diff) Requires: perl(Config) Requires: perl(File::Find) >= 1.05 Requires: perl(Text::Diff) # Optional Requires: perl(CGI::Session) >= 3.95 Requires: perl(Archive::Tar) Requires: perl(Locale::Maketext::Lexicon) Requires: perl(Digest::SHA1) Requires: perl(Unicode::MapUTF8) Requires: perl(Net::SMTP) >= 2.29 Requires: perl(URI) # Not available : #Requires: perl(Lingua::EN::Sentence) %description Foswiki is a flexible, powerful, and easy to use enterprise collaboration platform. It is a Structured Wiki which can be used to run a project development space, a document management system, a knowledge base, or any other groupware tool, on an intranet or on the internet. %prep %setup -q -n Foswiki-%{version} ### FIXME : The bundled copy of TinyMCE should be removed and packaged # properly. Bundled version is 2.1.2 while latest is 3.2.4.1. This will most # probably induce some pain. #rm -f pub/TWiki/TinyMCEPlugin/tinymce/jscripts/tiny_mce/plugins/cleanup/editor_plugin.js #rm -f pub/TWiki/TinyMCEPlugin/tinymce/jscripts/tiny_mce/plugins/inlinepopups/readme.txt # Remove unwanted files : #rm -f data/_empty/WebPreferences.txt rm -f bin/.htaccess.txt rm -f working/.htaccess # Fix end of line : sed -i 's/\r//' tools/rewriteshbang.pl sed -i 's/\r//' AUTHORS # Fix perms : chmod a+x tools/upgrade_emails.pl # Fix shebang : sed -i -e 's|^#! perl -w|#! /usr/bin/perl -w|' tools/rewriteshbang.pl sed -i -e 's|^#!perl|#! /usr/bin/perl -w|' tools/upgrade_emails.pl # Temporary hack to workaround a perl(CGI) < 1.38 bug #sed -i -e 's|^#!/usr/bin/perl -w|#! /usr/bin/perl -s|' bin/configure # Remove included perl modules : rm -rf lib/CPAN # Remove .psd files find . -name "*.psd" -exec rm -f {} ';' # Filter unwanted Requires: cat << EOF > %{name}-req #!/bin/sh %{__perl_requires} $* |\ sed -e '/perl(Foswiki::Contrib::MailerContrib::Constants)/d' \ -e '/perl(Foswiki::Plugins::WysiwygPlugin::HTML2TML::WC)/d' \ -e '/perl(TWiki)/d' \ -e '/perl(further)/d' \ -e '/perl(param)/d' \ -e '/perl(the)/d' \ -e '/perl(within)/d' EOF %define __perl_requires %{_builddir}/Foswiki-%{version}/%{name}-req chmod +x %{__perl_requires} %build # nothing to build %install rm -rf $RPM_BUILD_ROOT # data --> /var/lib/foswiki/data # pub --> /var/lib/foswiki/pub # working --> /var/lib/foswiki/working # bin --> /usr/share/foswiki/bin # lib --> /usr/share/foswiki/lib # locale --> /usr/share/foswiki/locale # templates --> /usr/share/foswiki/templates # tools --> /usr/share/foswiki/tools # Prepare foswiki confs sed -e 's|$foswikiLibPath = "/absolute/path/to/your/lib";|$foswikiLibPath = "/usr/share/foswiki/lib";|' \ bin/LocalLib.cfg.txt > bin/LocalLib.cfg rm bin/LocalLib.cfg.txt install -m 0644 %{SOURCE3} lib/LocalSite.cfg # Install shared datas mkdir -p $RPM_BUILD_ROOT%{_datadir}/foswiki cp -r bin locale lib templates tools $RPM_BUILD_ROOT%{_datadir}/foswiki/ # Install user datas mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/foswiki cp -r pub data working $RPM_BUILD_ROOT%{_localstatedir}/lib/foswiki/ # Move conf file into /etc mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/foswiki mv $RPM_BUILD_ROOT/%{_datadir}/foswiki/lib/LocalSite.cfg \ $RPM_BUILD_ROOT/%{_sysconfdir}/foswiki ln -s ../../../..%{_sysconfdir}/foswiki/LocalSite.cfg \ $RPM_BUILD_ROOT/%{_datadir}/foswiki/lib/LocalSite.cfg # Move more conf files into /etc # All the below files are the ones excluded from the Foswiki-upgrade tarball mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/foswiki/{Main,Sandbox,System,TWiki,Trash} # data/Main for i in AdminGroup AdminUser GroupTemplate NobodyGroup \ PatternSkinUserViewTemplate ProjectContributor RegistrationAgent \ SitePreferences UnknownUser UserHomepageHeader UserList \ UserListByDateJoined UserListByLocation UserListHeader WebChanges \ WebCreateNewTopic WebHome WebIndex WebNotify WebPreferences WebSearch \ WebSearchAdvanced WebStatistics WebTopicList WikiGroups WikiGuest; do { mv $RPM_BUILD_ROOT/%{_localstatedir}/lib/foswiki/data/Main/$i.txt \ $RPM_BUILD_ROOT/%{_sysconfdir}/foswiki/Main/ ln -s %{_sysconfdir}/foswiki/Main/$i.txt \ $RPM_BUILD_ROOT/%{_localstatedir}/lib/foswiki/data/Main/$i.txt }; done; # data/Sandbox for i in CommentPluginExampleComments PluginTestEmptyPlugin WebChanges \ WebCreateNewTopic WebHome WebIndex WebLeftBarExample WebNotify \ WebPreferences WebSearch WebSearchAdvanced WebStatistics WebTopicList; do { mv $RPM_BUILD_ROOT/%{_localstatedir}/lib/foswiki/data/Sandbox/$i.txt \ $RPM_BUILD_ROOT/%{_sysconfdir}/foswiki/Sandbox/ ln -s %{_sysconfdir}/foswiki/Sandbox/$i.txt \ $RPM_BUILD_ROOT/%{_localstatedir}/lib/foswiki/data/Sandbox/$i.txt }; done; # data/System for i in ChangePassword InterWikis NewUserTemplate ResetPassword \ UserRegistration WebPreferences WebTopicEditTemplate; do { mv $RPM_BUILD_ROOT/%{_localstatedir}/lib/foswiki/data/System/$i.txt \ $RPM_BUILD_ROOT/%{_sysconfdir}/foswiki/System/ ln -s %{_sysconfdir}/foswiki/System/$i.txt \ $RPM_BUILD_ROOT/%{_localstatedir}/lib/foswiki/data/System/$i.txt }; done; # data/TWiki for i in WebPreferences; do { mv $RPM_BUILD_ROOT/%{_localstatedir}/lib/foswiki/data/TWiki/$i.txt \ $RPM_BUILD_ROOT/%{_sysconfdir}/foswiki/TWiki/ ln -s %{_sysconfdir}/foswiki/TWiki/$i.txt \ $RPM_BUILD_ROOT/%{_localstatedir}/lib/foswiki/data/TWiki/$i.txt }; done; # data/Trash for i in TrashAttachment WebPreferences; do { mv $RPM_BUILD_ROOT/%{_localstatedir}/lib/foswiki/data/Trash/$i.txt \ $RPM_BUILD_ROOT/%{_sysconfdir}/foswiki/Trash/ ln -s %{_sysconfdir}/foswiki/Trash/$i.txt \ $RPM_BUILD_ROOT/%{_localstatedir}/lib/foswiki/data/Trash/$i.txt }; done; # Install httpd conf mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/ install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d/foswiki.conf # Create logdir and install logrotate conf mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/foswiki mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/foswiki %clean rm -rf $RPM_BUILD_ROOT %package plugin-comment Summary: Plugin for %{name} Group: Applications/Internet Requires: %name = %version-%release %package plugin-edittable Summary: Plugin for %{name} Group: Applications/Internet Requires: %name = %version-%release %package plugin-empty Summary: Plugin for %{name} Group: Applications/Internet Requires: %name = %version-%release %package plugin-interwiki Summary: Plugin for %{name} Group: Applications/Internet Requires: %name = %version-%release %package plugin-preferences Summary: Plugin for %{name} Group: Applications/Internet Requires: %name = %version-%release %package plugin-renderlist Summary: Plugin for %{name} Group: Applications/Internet Requires: %name = %version-%release %package plugin-slideshow Summary: Plugin for %{name} Group: Applications/Internet Requires: %name = %version-%release %package plugin-smilies Summary: Plugin for %{name} Group: Applications/Internet Requires: %name = %version-%release %package plugin-spreadsheet Summary: Plugin for %{name} Group: Applications/Internet Requires: %name = %version-%release %package plugin-twikicompatibility Summary: Plugin for %{name} Group: Applications/Internet Requires: %name = %version-%release %package plugin-table Summary: Plugin for %{name} Group: Applications/Internet Requires: %name = %version-%release %package plugin-twisty Summary: Plugin for %{name} Group: Applications/Internet Requires: %name = %version-%release %package plugin-wysiwyg Summary: Plugin for %{name} Group: Applications/Internet Requires: %name = %version-%release %package plugin-tinymce Summary: Plugin for %{name} Group: Applications/Internet Requires: %name = %version-%release %description plugin-comment %{summary}. %description plugin-edittable %{summary}. %description plugin-empty %{summary}. %description plugin-interwiki %{summary}. %description plugin-preferences %{summary}. %description plugin-renderlist %{summary}. %description plugin-slideshow %{summary}. %description plugin-smilies %{summary}. %description plugin-spreadsheet %{summary}. %description plugin-twikicompatibility %{summary}. %description plugin-table %{summary}. %description plugin-twisty %{summary}. %description plugin-wysiwyg %{summary}. %description plugin-tinymce %{summary}. %files %defattr(-,root,root,-) %doc AUTHORS COPYING COPYRIGHT LICENSE index.html INSTALL.html ReleaseHistory.html ReleaseNotes01x00.html UpgradeGuide.html %config(noreplace) %{_sysconfdir}/httpd/conf.d/foswiki.conf %config(noreplace) %{_sysconfdir}/logrotate.d/foswiki %dir %{_sysconfdir}/foswiki %attr(644,apache,root) %config(noreplace) %{_sysconfdir}/foswiki/LocalSite.cfg %attr(-,apache,root) %dir %{_localstatedir}/log/foswiki %dir %{_sysconfdir}/foswiki/Main %attr(644,apache,root) %config(noreplace) %{_sysconfdir}/foswiki/Main/* %dir %{_sysconfdir}/foswiki/Sandbox %attr(644,apache,root) %config(noreplace) %{_sysconfdir}/foswiki/Sandbox/* %dir %{_sysconfdir}/foswiki/System %attr(644,apache,root) %config(noreplace) %{_sysconfdir}/foswiki/System/* %dir %{_sysconfdir}/foswiki/TWiki %attr(644,apache,root) %config(noreplace) %{_sysconfdir}/foswiki/TWiki/* %dir %{_sysconfdir}/foswiki/Trash %attr(644,apache,root) %config(noreplace) %{_sysconfdir}/foswiki/Trash/* %dir %{_localstatedir}/lib/foswiki %attr(-,apache,root) %{_localstatedir}/lib/foswiki/pub %attr(-,apache,root) %{_localstatedir}/lib/foswiki/data %attr(-,apache,root) %{_localstatedir}/lib/foswiki/working %{_datadir}/foswiki # Exclude files owned by the plugins %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/CommentPlugin %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/CommentPlugin.pm %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/EditTablePlugin %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/EditTablePlugin.pm %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/EmptyPlugin.pm %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/InterwikiPlugin.pm %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/PreferencesPlugin.pm %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/RenderListPlugin.pm %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/SlideShowPlugin %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/SlideShowPlugin.pm %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/SmiliesPlugin.pm %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/SpreadSheetPlugin %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/SpreadSheetPlugin.pm %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/TablePlugin %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/TablePlugin.pm %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/TinyMCEPlugin.pm %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/TWikiCompatibilityPlugin %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/TWikiCompatibilityPlugin.pm %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/TwistyPlugin.pm %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/WysiwygPlugin %exclude %{_datadir}/foswiki/lib/Foswiki/Plugins/WysiwygPlugin.pm %exclude %{_datadir}/foswiki/lib/TWiki %exclude %{_datadir}/foswiki/templates/twistyplugin*tmpl %exclude %{_localstatedir}/lib/foswiki/data/Sandbox/CommentPlugin*.txt %exclude %{_localstatedir}/lib/foswiki/data/Sandbox/PluginTestEmptyPlugin.txt %exclude %{_localstatedir}/lib/foswiki/data/System/CommentPlugin*txt %exclude %{_localstatedir}/lib/foswiki/data/System/EditTablePlugin.txt %exclude %{_localstatedir}/lib/foswiki/data/System/EmptyPlugin.txt %exclude %{_localstatedir}/lib/foswiki/data/System/InterwikiPlugin.txt %exclude %{_localstatedir}/lib/foswiki/data/System/PreferencesPlugin.txt %exclude %{_localstatedir}/lib/foswiki/data/System/RenderListPlugin.txt %exclude %{_localstatedir}/lib/foswiki/data/System/SlideShowPlugin.txt %exclude %{_localstatedir}/lib/foswiki/data/System/SmiliesPlugin.txt %exclude %{_localstatedir}/lib/foswiki/data/System/SpreadSheetPlugin.txt %exclude %{_localstatedir}/lib/foswiki/data/System/TablePlugin.txt %exclude %{_localstatedir}/lib/foswiki/data/System/TinyMCEPlugin.txt %exclude %{_localstatedir}/lib/foswiki/data/System/TWikiCompatibilityPlugin.txt %exclude %{_localstatedir}/lib/foswiki/data/System/TwistyPlugin.txt %exclude %{_localstatedir}/lib/foswiki/data/System/WysiwygPlugin*txt %exclude %{_localstatedir}/lib/foswiki/pub/System/CommentPlugin %exclude %{_localstatedir}/lib/foswiki/pub/System/EditTablePlugin %exclude %{_localstatedir}/lib/foswiki/pub/System/RenderListPlugin %exclude %{_localstatedir}/lib/foswiki/pub/System/SlideShowPlugin %exclude %{_localstatedir}/lib/foswiki/pub/System/SmiliesPlugin %exclude %{_localstatedir}/lib/foswiki/pub/System/TinyMCE* %exclude %{_localstatedir}/lib/foswiki/pub/System/TwistyPlugin %exclude %{_localstatedir}/lib/foswiki/pub/System/WysiwygPlugin %exclude %{_sysconfdir}/foswiki/Sandbox/CommentPluginExampleComments.txt %exclude %{_sysconfdir}/foswiki/Sandbox/PluginTestEmptyPlugin.txt %exclude %{_sysconfdir}/foswiki/System/InterWikis.txt ### Put included plugins in their own subpackage %files plugin-comment %defattr(-,root,root,-) %attr(644,apache,root) %config(noreplace) %{_sysconfdir}/foswiki/Sandbox/CommentPluginExampleComments.txt %{_datadir}/foswiki/lib/Foswiki/Plugins/CommentPlugin.pm %{_datadir}/foswiki/lib/Foswiki/Plugins/CommentPlugin %{_localstatedir}/lib/foswiki/data/System/CommentPlugin*txt %{_localstatedir}/lib/foswiki/pub/System/CommentPlugin %{_localstatedir}/lib/foswiki/data/Sandbox/CommentPlugin*.txt %files plugin-edittable %defattr(-,root,root,-) %{_datadir}/foswiki/lib/Foswiki/Plugins/EditTablePlugin.pm %{_datadir}/foswiki/lib/Foswiki/Plugins/EditTablePlugin %{_localstatedir}/lib/foswiki/data/System/EditTablePlugin.txt %{_localstatedir}/lib/foswiki/pub/System/EditTablePlugin %files plugin-empty %defattr(-,root,root,-) %attr(644,apache,root) %config(noreplace) %{_sysconfdir}/foswiki/Sandbox/PluginTestEmptyPlugin.txt %{_datadir}/foswiki/lib/Foswiki/Plugins/EmptyPlugin.pm %{_localstatedir}/lib/foswiki/data/System/EmptyPlugin.txt %{_localstatedir}/lib/foswiki/data/Sandbox/PluginTestEmptyPlugin.txt %files plugin-interwiki %defattr(-,root,root,-) %attr(644,apache,root) %config(noreplace) %{_sysconfdir}/foswiki/System/InterWikis.txt %{_datadir}/foswiki/lib/Foswiki/Plugins/InterwikiPlugin.pm %{_localstatedir}/lib/foswiki/data/System/InterwikiPlugin.txt %files plugin-preferences %defattr(-,root,root,-) %{_datadir}/foswiki/lib/Foswiki/Plugins/PreferencesPlugin.pm %{_localstatedir}/lib/foswiki/data/System/PreferencesPlugin.txt %files plugin-renderlist %defattr(-,root,root,-) %{_datadir}/foswiki/lib/Foswiki/Plugins/RenderListPlugin.pm %{_localstatedir}/lib/foswiki/data/System/RenderListPlugin.txt %{_localstatedir}/lib/foswiki/pub/System/RenderListPlugin %files plugin-slideshow %defattr(-,root,root,-) %{_datadir}/foswiki/lib/Foswiki/Plugins/SlideShowPlugin.pm %{_datadir}/foswiki/lib/Foswiki/Plugins/SlideShowPlugin %{_localstatedir}/lib/foswiki/data/System/SlideShowPlugin.txt %{_localstatedir}/lib/foswiki/pub/System/SlideShowPlugin %files plugin-smilies %defattr(-,root,root,-) %{_datadir}/foswiki/lib/Foswiki/Plugins/SmiliesPlugin.pm %{_localstatedir}/lib/foswiki/data/System/SmiliesPlugin.txt %{_localstatedir}/lib/foswiki/pub/System/SmiliesPlugin %files plugin-spreadsheet %defattr(-,root,root,-) %{_localstatedir}/lib/foswiki/data/System/SpreadSheetPlugin.txt %{_datadir}/foswiki/lib/Foswiki/Plugins/SpreadSheetPlugin.pm %{_datadir}/foswiki/lib/Foswiki/Plugins/SpreadSheetPlugin %files plugin-twikicompatibility %defattr(-,root,root,-) %{_datadir}/foswiki/lib/Foswiki/Plugins/TWikiCompatibilityPlugin.pm %{_datadir}/foswiki/lib/Foswiki/Plugins/TWikiCompatibilityPlugin %{_datadir}/foswiki/lib/TWiki %{_localstatedir}/lib/foswiki/data/System/TWikiCompatibilityPlugin.txt %files plugin-table %defattr(-,root,root,-) %{_datadir}/foswiki/lib/Foswiki/Plugins/TablePlugin.pm %{_datadir}/foswiki/lib/Foswiki/Plugins/TablePlugin %{_localstatedir}/lib/foswiki/data/System/TablePlugin.txt %files plugin-twisty %defattr(-,root,root,-) %{_datadir}/foswiki/lib/Foswiki/Plugins/TwistyPlugin.pm %{_localstatedir}/lib/foswiki/data/System/TwistyPlugin.txt %{_localstatedir}/lib/foswiki/pub/System/TwistyPlugin %{_datadir}/foswiki/templates/twistyplugin*tmpl %files plugin-wysiwyg %defattr(-,root,root,-) %{_localstatedir}/lib/foswiki/pub/System/WysiwygPlugin %{_datadir}/foswiki/lib/Foswiki/Plugins/WysiwygPlugin.pm %{_datadir}/foswiki/lib/Foswiki/Plugins/WysiwygPlugin %{_localstatedir}/lib/foswiki/data/System/WysiwygPlugin*txt %files plugin-tinymce %defattr(-,root,root,-) %{_datadir}/foswiki/lib/Foswiki/Plugins/TinyMCEPlugin.pm %{_localstatedir}/lib/foswiki/data/System/TinyMCEPlugin.txt %{_localstatedir}/lib/foswiki/pub/System/TinyMCE* %changelog * Tue Jan 19 2010 Xavier Bachelot - 1.0.9-1 - Update to 1.0.9. - Flag a lot of conf files. * Mon Jun 15 2009 Xavier Bachelot - 1.0.5-1 - Update to 1.0.5. * Sat Apr 04 2009 Xavier Bachelot - 1.0.4-3 - Fix typo in httpd conf. - Don't install conf files templates. - Strip the included plugins to their own sub-package. * Tue Mar 24 2009 Xavier Bachelot - 1.0.4-2 - R(pre): httpd, R: mod_perl. - Fix http conf in order to not require php. - Remove duplicate Requires:. * Tue Mar 24 2009 Xavier Bachelot - 1.0.4-1 - Update to foswiki 1.0.4. * Mon Mar 09 2009 Xavier Bachelot - 1.0.0-1 - Update to foswiki 1.0.0. * Mon Nov 24 2008 Xavier Bachelot - 4.2.3-1 - Update to 4.2.3. * Mon Feb 11 2008 Xavier Bachelot - 4.2.0-1 - Initial build.