rec10のパッケージングが課題山積で進んでいませんが、
libre10のパッケージングはぼちぼち進んできたので
記事にしてみます。
そもそも、libre10が何を使っているかと言うことですけれども
Libre10は文字データベースにsolrを使っていて、solrはtomcatもしくはjetty上で動きます。
その他に検索/管理ページにperlのcgi、index作成にpythonを使っています。
纏めると、httpdserver(apacheなど), tomcat, python, perl, スクリプトの各モジュール群 pdfからテキストを抜き出すためのソフト(poppler-utils), 画像軽量化のためのソフト群(GraphicsMagick libjpeg)
になりました。
これらをlibre10パッケージとlibre10-wwwパッケージに分けて記載します。
尚、GraphicMagickを使う関係から、標準リポジトリではパッケージが足らないため、EPELの設定済みであることを前提とします。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
メインパッケージ Requires: python > 2.5 GraphicsMagick libjpeg poppler-utils libyaml libxml2 libxslt Requires: gcc kernel-devel libyaml-devel libxml2-devel libxslt-devel Requires: python-devel python-setuptools PyYAML tomcat >= 7 java >= 1.6.0 jre >= 1.6.0 libre10-www = %{version}-%{release} libre10-www Requires: libre10 = %{version}-%{release} httpd mod_perl perl-DBD-SQLite perl-DBI perl-CGI Requires: perl-YAML-LibYAML perl-HTML-Template-Pro perl-File-Slurp perl-Data-Dumper-Concise Requires: perl-JSON-XS perl-Moose perl-XML-Simple |
libre10-wwwに大量のスクリプト関係のライブラリが入ってしまいました。
しかしlibre10-wwwはEPELパッケージングされていないライブラリも使うので、
あまり良くない事とは思いますが、cpanやpip/easy_installで関連パッケージを入れます。
1 2 3 4 5 6 |
%pre easy_install cssselect==0.8 easy_install lxml==3.2.3 easy_install pysolr==3.1.0 yes '' | cpan URI::Escape WebService::Solr yes '' | cpan WebService::Solr |
lxmlはリポジトリのバージョンが古すぎるため。他のライブラリは一部動かないバージョンがあったため指定しています。
加えて、cpanやpip/easy_installでビルドするのに必要なライブラリのソースを依存関係に加えておきます。
1 2 |
Requires(pre):libxml2 libxml2-devel libxslt libxslt-devel libyaml-devel perl-CPAN python-devel python-setuptools |
とりあえずこれにて依存関係の設定はおしまいです。
ここまでのspecファイルを張っておきます。
次 : Libre10パッケージング for Centos6.5 <2>ファイル一覧
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
%define debug_package %{nil} %define _unpackaged_files_terminate_build 0 #please change these path #settings for tomcat6 for Centos6 #%define tomcat /usr/share/tomcat6 #%define tomcat_lib /usr/share/tomcat6/lib #settings for tomcat7 in EPEL for Centos6 %define tomcat /etc/tomcat %define tomcat_lib /usr/share/java/tomcat %define tomcat_conf /etc/tomcat/Catalina/localhost Summary: libre10 - yet another hoge - Name: libre10 Version: 0.8.6 Release: 38 Group: Applications/Multimedia Source: %{name}-%{version}.tar.gz Vendor: rec10 License: GPL ver.3 URL: http://www.rec10.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot Requires(pre): libxml2 libxml2-devel libxslt libxslt-devel libyaml-devel perl-CPAN python-devel python-setuptools Requires: python > 2.5 GraphicsMagick libjpeg poppler-utils libyaml libxml2 libxslt Requires: gcc kernel-devel libyaml-devel libxml2-devel libxslt-devel Requires: python-devel python-setuptools PyYAML tomcat >= 7 java >= 1.6.0 jre >= 1.6.0 libre10-www = %{version}-%{release} AutoReqProv: no Provides: libre10 = %{version}-%{release} %description libre10 is a all text search and viewing tool for pdf files. %package www Summary: www files for libre10 Group: Applications/Multimedia Requires: libre10 = %{version}-%{release} httpd mod_perl perl-DBD-SQLite perl-DBI perl-CGI Requires: perl-YAML-LibYAML perl-HTML-Template-Pro perl-File-Slurp perl-Data-Dumper-Concise Requires: perl-JSON-XS perl-Moose perl-XML-Simple AutoReqProv: no %description www libre10-www %prep rm -rf %{buildroot} %setup %build %pre easy_install cssselect==0.8 easy_install lxml==3.2.3 easy_install pysolr==3.1.0 yes '' | cpan URI::Escape WebService::Solr yes '' | cpan WebService::Solr %install %__mkdir -p %{buildroot}/usr/local/bin %__mkdir -p %{buildroot}/usr/lib/libre10 %__mkdir -p %{buildroot}/var/tmp/libre10/cache/2000 %__mkdir -p %{buildroot}/var/tmp/libre10/cache/900 %__mkdir -p %{buildroot}/var/tmp/libre10/cache/orig %__mkdir -p %{buildroot}/var/log %__mkdir -p %{buildroot}/var/libre10/solr %__mkdir -p %{buildroot}/var/libre10/db %__mkdir -p %{buildroot}/var/libre10/pdf %__mkdir -p %{buildroot}/etc/httpd/conf.d/ %__mkdir -p %{buildroot}/var/www/html/libre10/ %__mkdir -p %{buildroot}%{tomcat_lib}/ %__mkdir -p %{buildroot}%{tomcat_conf}/ cd index %__cp libre10-index %{buildroot}/usr/local/bin %__cp pdf2xml.py %{buildroot}/usr/lib/libre10 cd ../solr-4.7.1 %__cp ./example/lib/ext/*.jar %{buildroot}%{tomcat_lib} %__cp ./example/resources/log4j.properties %{buildroot}%{tomcat_lib} %__cp -r ./* %{buildroot}/var/libre10/solr cd ../conf %__cp ./libre10.conf %{buildroot}/etc/ %__cp ./schema.xml %{buildroot}/var/libre10/solr/example/solr/collection1/conf %__cp ./solrconfig.xml %{buildroot}/var/libre10/solr/example/solr/collection1/conf %__cp ./libre10.xml %{buildroot}%{tomcat_conf}/ cd ../www %__cp libre10.conf %{buildroot}/etc/httpd/conf.d/ %__cp *.pl %{buildroot}/var/www/html/libre10/ %__cp -r ./template %{buildroot}/var/www/html/libre10/ %post %clean rm -rf %{buildroot} %files %defattr(-,root,root) %attr(755,root,root)/usr/local/bin/libre10-index /usr/lib/libre10/pdf2xml.py %{tomcat_lib}/jcl-over-slf4j-1.6.6.jar %{tomcat_lib}/jul-to-slf4j-1.6.6.jar %{tomcat_lib}/log4j-1.2.16.jar %{tomcat_lib}/slf4j-api-1.6.6.jar %{tomcat_lib}/slf4j-log4j12-1.6.6.jar %{tomcat_lib}/log4j.properties %attr(-,tomcat,tomcat)/var/libre10/solr/* %{tomcat_conf}/libre10.xml %config(noreplace) /etc/libre10.conf /etc/httpd/conf.d/libre10.conf /var/www/html/libre10/* %attr(777,root,root)/var/tmp/libre10/ %attr(777,root,root)/var/tmp/libre10/cache %attr(777,root,root)/var/tmp/libre10/cache/orig %attr(777,root,root)/var/tmp/libre10/cache/900 %attr(777,root,root)/var/tmp/libre10/cache/2000 %attr(777,root,root)/var/libre10/db %attr(777,root,root)/var/libre10/pdf %files www %defattr(-,root,root,-) %config(noreplace)/etc/httpd/conf.d/libre10.conf %attr(755,root,users)/var/www/html/libre10/*.pl %attr(644,root,users)/var/www/html/libre10/template/*.html |