Dr.Sum (旧:Dr.Sum EA) 製品(Linux版)では、Fedora Core で配布されている unixODBC の SRPM に弊社固有のパッチを適用したモジュールを利用しています。
SRPMの取得
Fedora Core で配布されている unixODBC-2.2.14-2.fc11.src.rpm を利用しています。
上記 SRPM は Fedor Core の公式サイトから取得可能です。
http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/11/Fedora/source/SRPMS/
また、http://rpm.pbone.net/ などのRPMパッケージの検索サイトからも取得が可能です。
SRPMのビルド
1. SRPM のインストール
% sudo rpm -ivh /path/to/SPRM/unixODBC-2.2.14-2.fc11.src.rpm |
2.差分の適用
1) unixODBC.spec にパッチを適用します。
--- unixODBC.spec.fc11 2009-04-02 02:50:47.000000000 +0900 +++ unixODBC.spec 2010-11-18 14:23:28.000000000 +0900 @@ -19,10 +19,11 @@ Patch7: libtool-config.patch Patch8: so-version-bump.patch Patch9: keep-typedefs.patch +Patch10: autoconv-utf8.patch Conflicts: iodbc @@ -59,6 +60,7 @@ # Blow away the embedded libtool and replace with build system's libtool. |
2) unixODBC 本体へ適用するパッチを配置します。
% sudo cp /path/to/autoconv-utf8.patch /usr/src/redhat/SOURCES |
--- unixODBC-2.2.14/DriverManager/__info.c.orig 2008-09-29 23:02:45.000000000 +0900 +++ unixODBC-2.2.14/DriverManager/__info.c 2012-01-19 15:38:46.000000000 +0900 @@ -475,9 +475,9 @@ { #ifdef HAVE_ICONV char ascii[ 256 ], unicode[ 256 ]; - char *be_ucode[] = { "UCS-2-INTERNAL", "UCS-2BE", "UCS-2", "ucs2", NULL }; - char *le_ucode[] = { "UCS-2-INTERNAL", "UCS-2LE", NULL }; - char *asc[] = { "char", "ISO8859-1", "ISO-8859-1", "8859-1", "iso8859_1", "ASCII", NULL }; + char *be_ucode[] = { "UCS-2-INTERNAL", "UTF-16BE", "UCS-2BE", "UCS-2", "ucs2", NULL }; + char *le_ucode[] = { "UCS-2-INTERNAL", "UTF-16LE", "UCS-2LE", NULL }; + char *asc[] = { "char", "UTF-8", "ISO8859-1", "ISO-8859-1", "8859-1", "iso8859_1", "ASCII", NULL }; union { long l; char c[sizeof (long)]; } u; int be; |
3. ビルド
unixODBC のビルドに必要なパッケージは事前にインストールしておいてください。
% sudo rpmbuild -bp /usr/src/redhat/SPEC/unixODBC.spec |
注意事項
当該モジュールのソースコードをご利用する際の注意について。
・Dr.Sum(旧:Dr.Sum EA) 製品を利用するために、当該モジュールを個別にダウンロードし用意していただく必要はありません。
・弊社では、当該モジュールを弊社製品以外で利用する場合においての保証, サポートは行っておりません。
・当該モジュールをお客様が修正, 配布する場合は、LGPLv2 に従ってお客様の責任において行ってください。
・ソースコードの内容などについてのご質問にはお答えいたしかねます。
ライセンス
LGPLv2 については以下の URL を参照してください。
http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html
ダウンロード