%define name musashi
%define version 1.0.4
#%define srcrel pre6
%define mandate 20041206
%define moduledate 20041206
%define scenariodate 20041206
%define checkdate 20041206-2

# default encoding is euc
# Used setdocenc.sh
%define docenc 0
# Set this to "1" if you want to use UTF-8
%define utf8 0
# Set this to "1" if you want to use Shift_JIS
%define sjis 0 

Summary: MUSASHI provides a set of commands for data mining and data warehousing
Name: %{name}
Summary(ja): MUSAHI はデータマイニングやデータウェアハウジング向けのコマンド群を提供します
Version: %{version}
Release: 1%{?_dist_release}
License: GPL2
Group: Applications/Databases
Url: http://musashi.sourceforge.ne.jp/
BuildRoot: %{_tmppath}/%{name}-buildroot
#Source0: %{name}-core-%{version}-%{srcrel}.tar.gz
Source0: %{name}-core-%{version}.tar.gz
Source1: %{name}-man-%{mandate}.tar.gz
Source2: %{name}-module-%{moduledate}.tar.gz
Source3: %{name}-check-%{checkdate}.tar.gz
Source4: %{name}-scenario-%{scenariodate}.tar.gz
Source100: xtmvavg.tar.bz2
BuildPrereq: autoconf >= 2.58
BuildPrereq: libtool, automake, libxml2-devel, zlib-devel, gawk
%if %{docenc}
BuildPrereq: perl
%endif
Requires: libxml2, bash

%description
MUSASHI is a set of commands that enables us to efficiently execute various types of data manipulations in a flexible manner, mainly aiming at data processing of huge amount of data required for data mining. Data format which MUSASHI can deal with is either an XML table written in XML or plain text file with table structure. Maximum data size which MUSASHI can handle ranges from millions to tens of millions of records. 

%description -l ja
MUSASHIは、当初、ビジネスにおけるデータマイニングの実施に必要となる、
大量データ処理のために開発されたコマンド群です。MUSASHIが処理対象とする
データはXMLで記述されたXMLtableもしくはPlain Textによる表構造のデータです。
マシンのスペックにもよりますが、数百万件〜数千万件のデータ処理が可能です。

現バージョンのMUSASHIでは、MUSASHIコア, MUSASHIモジュール, MUSASHIマニュアル, MUSASHIシナリオの4つ構成から成りますが、rpmパッケージではこれらを1つのパッケージとして提供しています。

MUSASHIモジュールとは、MUSASHIコアが提供するコマンドを組み合わせて作成されたシェル(bash)スクリプトです。シェルスクリプトですが、パイプで連結するなど一つのコマンドとして利用することができ、MUSASHIコアのコマンドと同じ感覚で利用することができます。
MUSASHIコアが、ソートや項目結合など処理を志向したコマンドを提供する一方で、モジュールは、移動平均やRFM分析、ブランドスイッチパターンの選択など、業務や分析の意味を志向したコマンドを提供します。

MUSASHIシナリオとは、MUSASHIコアが提供するコマンドやMUSASHIモジュールを組み合わせて作成されたシェル(bash)スクリプトです。このスクリプトを実行するだけで、各種分析(RFM分析、優良顧客分析など)で必要とされる結果データ一式を作成することが出来ます。またHTMLによる出力もサポートしており、結果をWebブラウザで閲覧することも可能です。それゆえWeb アプリケーションの一部として組み込むことも可能です。
MUSASHIシナリオでは、各分析毎にシナリオスクリプトとテンプレートスクリプトを提供しています。シナリオスクリプトとは、実際にデータを処理するスクリプトです。シナリオスクリプトのパラメータは環境変数にて与えます。指定可能なパラメータについての簡単な説明はヘルプで参照できます。そして、パラメータの与え方およびスクリプトの起動を記述したテンプレートスクリプトが用意されているので、パラメータの値を修正して利用してください。
(注意：rpmパッケージではMUSASHIシナリオのテンプレートスクリプトは%{_sysconfdir}/musashiにまたsampleファイルが%{_docdir}/musashi/sampleに用意されています。)

%prep
%setup -q -c -a 1 -a 2 -a 4

pushd %{name}-core-%{version}
%if %{utf8}
perl -pi -e 's,^#(helpEnc=ja-utf8),$1,' setdocenc.sh
perl -pi -e 's,^#(manEnc=ja-utf8),$1,' setdocenc.sh
perl -pi -e 's,^#(xmlEnc=UTF-8),$1,' setdocenc.sh
./setdocenc.sh
%endif

%if %{sjis}
perl -pi -e 's,^#(helpEnc=ja-sjis),$1,' setdocenc.sh
perl -pi -e 's,^#(manEnc=ja-sjis),$1,' setdocenc.sh
perl -pi -e 's,^#(xmlEnc=Shift_JIS),$1,' setdocenc.sh
./setdocenc.sh
%endif
popd

%build
pushd %{name}-core-%{version}
%configure
make
popd

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_mandir}/man1
mkdir -p %{buildroot}%{_mandir}/ja/man1
mkdir -p %{buildroot}%{_datadir}/musashi

pushd %{name}-core-%{version}
cp %{SOURCE3} .
%makeinstall
popd

# install ja man files
pushd %{name}-man-%{mandate}
cp en/*.1 %{buildroot}%{_mandir}/man1/
cp ja-euc/*.1 %{buildroot}%{_mandir}/ja/man1
popd

# install modules' shell script
pushd %{name}-module-%{moduledate}
install ja-euc/*.sh %{buildroot}%{_bindir}

# install xtmvavg.sh from [MUSASHI-users:294]
tar xzvf %{SOURCE100}
install xtmvavg/ja-euc/xtmvavg.sh %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/musashi/xtmvavg
install xtmvavg/ja-euc/test.sh %{buildroot}%{_datadir}/musashi/xtmvavg
install -m 644 xtmvavg/ja-euc/*.xt %{buildroot}%{_datadir}/musashi/xtmvavg
popd

# install scenario script
pushd %{name}-scenario-%{scenariodate}
perl -pi -e 's,^binpath=/usr/local/bin,binpath=%{buildroot}%{_bindir},' Install.sh
perl -pi -e 's,^tmppath=./sample,tmppath=%{buildroot}%{_sysconfdir}/musashi,' InstallTmp.sh
mkdir -p %{buildroot}%{_sysconfdir}/musashi
./Install.sh
./InstallTmp.sh
popd

# install check script to /usr/share/musashi
cd %{buildroot}%{_datadir}/musashi
tar xzvf %{SOURCE3}

## remove unuse files
rm -rf $RPM_BUILD_ROOT%{_libdir}/*.la


%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
                                                                                
%post -p /sbin/ldconfig
                                                                                
%postun -p /sbin/ldconfig


%files
%defattr(-, root, root)
%doc %{name}-core-%{version}/{AUTHORS,COPYING,ChangeLog,README,INSTALL,NEWS}
%doc %{name}-core-%{version}/musashi-check-%{checkdate}.tar.gz 
%doc %{name}-scenario-%{scenariodate}/sample
%{_libdir}/*
%{_includedir}/musashi.h
%{_includedir}/musashi/*.h
%{_bindir}/*
%{_mandir}/man1/*
%{_mandir}/ja/man1/*
%{_datadir}/musashi/*
%{_sysconfdir}/musashi/*

%changelog
* Sat Sep 20 2008 Shu KONNO <owa@bg.wakwak.com> 1.0.4-1vl5
- applied new versioning policy, spec in utf-8
- removed *.la

* Fri Dec 31 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.4-0vl2
- rebuilt for VineSeed

* Fri Dec 31 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.4-0vl1
- new upstream version
        -- musashi-core-1.0.4
        -- musashi-man-20041206
        -- musashi-check-20041206-2
	-- musashi-scenario-20041206

* Sun Nov 14 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.4-0vl0.0pre6
- new upstream version
	-- musashi-core-1.0.4.pre6
	-- musashi-man-20041108
	-- musashi-check-20041108

* Tue Oct 19 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.4-0vl0.0pre5
- new upstream version
        -- musashi-core-1.0.4.pre5

* Sun Oct 17 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.4-0vl0.0pre4
- new upstream version
        -- musashi-core-1.0.4.pre4
	-- musashi-check-20041013.tar.gz
		
* Sat Oct 09 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.4-0vl0.0pre3
- new upstream version
        -- musashi-core-1.0.4.pre3
	-- musashi-check-20041009.tar.gz

* Fri Oct 08 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.4-0vl0.0pre2
- new upstream version 
	-- musashi-core-1.0.4.pre2
	-- musashi-check-20041008.tar.gz
- changed Buildprereq 
- changed License from Copylight 

* Sun May 23 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.3-2vl1
- build for VineSeed
- added xtmvavg from MUSASHI-users:294
- installed musashi-check-20040214 in %{_datadir}/musashi
- added %%claen, %%post and %%postun

* Thu Feb 19 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.3-1vl1
- rebuilt for VineSeed

* Thu Feb 19 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.3-1vl0.26
- New upstream release
	-- musashi-core-1.0.3
- for VineLinux-2.6

* Mon Feb 16 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.3-0.pre6vl1
- new upstream vesion
	-- source file were separated musashi-core, musashi-man, musashi-module
	-- added musashi-check
 
* Wed Feb 04 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.3-0.pre4vl2
- removed BuildArch tag

* Mon Feb 02 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.3-0.pre4vl1
- new upstream version
- fixed spec file
	-- moved musashi.h to /usr/include/
- enabled to select using encoding

* Sat Jan 17 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.3-0.pre3vl1
- new upstream version (musashi-1.0.3-pre3)
- added INSATLL, NEWS to doc dir
- built for VineSeed

* Thu Jan 15 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.3-0.pre2vl0.26.1
- fixed man dir of ja-euc
- added bash to Requires

* Fri Jan 09 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.3-0.pre2vl0.26
- New upstream version
	-- noused libinconv library

* Thu Jan 08 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.3-0.pre1vl0.26
- rebuilt for VineLinux-2.6
- fixed %%files

* Wed Jan 07 2004 Satoshi MACHINO <machino@vinelinux.org> 1.0.3-0.pre1vl1
- new upstream version
	-- musashi-1.0.3-pre1

* Tue Sep 30 2003 Satoshi MACHINO <machino@vinelinux.org> 1.0.2-0vl2
- Added BuildPrereq and Requires
- fixed typo in changelog

* Mon Sep 29 2003 Satoshi MACHINO <machino@vinelinux.org> 1.0.2-0vl1
- intial release

