2012年3月28日水曜日

samba最新版バイナリパッケージの作成

パッケージビルド環境
 OS:         CentOS 5.8
 SELinux:      Enforcing
 パッケージ作成環境
  作業:       /usr/src
  ソース展開先:   /usr/src/samba/samba-3.6.3
  パーケージ作成先: /usr/src/redhat/RPMS/i386
 言語:        LANG=ja_JP.UTF-8
 ユーザー:      rootで実行
エラー: 式中で構文解析エラー
エラー: /usr/src/redhat/SPECS/samba.spec:39: parseExpressionBoolean が -1 を返しました。
エラー: パッケージには %description がありません: samba
makerpms.sh: Done.

上記のようにエラーになってしまう。
エラーになった箇所(samba.specの39行目)の %{rhel_ver} のコマンドである lsb_releaseコマンドをインストールしてから再度実施したが、同様のエラーになった。
なので、エラーになった箇所(samba.specの39行目)をコメントアウトして再度実行する。

#%if %{rhel_ver} > 4
BuildRequires:  keyutils-libs-devel
#%else
#BuildRequires:  keyutils-devel
#%endif
CC="$CC" CFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" ./configure \
        --prefix=%{_prefix} \
        --localstatedir=/var \
        --with-configdir=%{_sysconfdir}/samba \
        --libdir=%{_libarchdir} \
        --with-modulesdir=%{_libarchdir}/samba \
        --with-pammodulesdir=%{_libarch}/security \
        --with-lockdir=/var/lib/samba \
        --with-logfilebase=/var/log/samba \
        --with-mandir=%{_mandir} \
        --with-piddir=/var/run \
        --with-privatedir=%{_sysconfdir}/samba \
        --with-sambabook=%{_datadir}/swat/using_samba \
        --with-swatdir=%{_datadir}/swat \
        --enable-cups \
        --with-acl-support \
        --with-ads \
        --with-automount \
        --with-fhs \
        --with-pam_smbpass \
        --with-libsmbclient \
        --with-libsmbsharemodes \
        --with-libtalloc \
        --with-libtdb \
        --without-smbwrapper \
        --with-pam \
        --with-quotas \
        --with-shared-modules=idmap_rid,idmap_ad,idmap_hash,idmap_adex \
        --with-syslog \
        --with-utmp \
        --with-dnsupdate \
        --with-ldap \
        --with-ldapsam \
        --with-winbind

上記を修正後に makerpms.sh を再実行する。
作成されたパッケージ

[root@ora02 i386]# pwd
/usr/src/redhat/RPMS/i386
[root@ora02 i386]# ls -il
合計 113496
1049885 -rw-rw-r-- 1 root root 12008925  3月 16 05:47 samba-3.6.3-1.C58.i386.rpm
1049887 -rw-rw-r-- 1 root root 17453135  3月 16 05:48 samba-client-3.6.3-1.C58.i386.rpm
1049888 -rw-rw-r-- 1 root root  8943149  3月 16 05:48 samba-common-3.6.3-1.C58.i386.rpm
1049894 -rw-rw-r-- 1 root root 66944982  3月 16 05:52 samba-debuginfo-3.6.3-1.C58.i386.rpm
1049892 -rw-rw-r-- 1 root root  8578764  3月 16 05:48 samba-doc-3.6.3-1.C58.i386.rpm
1049891 -rw-rw-r-- 1 root root  2106771  3月 16 05:48 samba-swat-3.6.3-1.C58.i386.rpm
[root@ora02 i386]# 

(1). 早速インストール

[root@hoge i386]# rpm -Uvh samba-3.6.3-1.C58.i386.rpm samba-common-3.6.3-1.C58.i386.rpm samba-client-3.6.3-1.C58.i386.rpm samba-swat-3.6.3-1.C58.i386.rpm samba-doc-3.6.3-1.C58.i386.rpm samba-debuginfo-3.6.3-1.C58.i386.rpm
準備中...                ########################################### [100%]
        ファイル /usr/lib/libtdb.so.1.2.9 (パッケージ samba-common-3.6.3-1.C58.i386 から) は、パッケージ libtdb-1.2.9-10.el5_0.wing.i686 からのファイルと競合しています。
        ファイル /usr/lib/libtalloc.so.2 (パッケージ samba-common-3.6.3-1.C58.i386 から) は、パッケージ libtalloc-2.0.1-11.el5.i386 からのファイルと競合しています。
        ファイル /usr/lib/libsmbclient.so.0 (パッケージ samba-common-3.6.3-1.C58.i386 から) は、パッケージ libsmbclient-3.0.33-3.38.el5_8.i386 からのファイルと競合しています。
        ファイル /usr/include/libsmbclient.h (パッケージ samba-common-3.6.3-1.C58.i386 から) は、パッケージ libsmbclient-devel-3.0.33-3.38.el5_8.i386 からのファイルと競合しています。
        ファイル /usr/share/man/man7/libsmbclient.7.gz (パッケージ samba-common-3.6.3-1.C58.i386 から) は、パッケージ libsmbclient-devel-3.0.33-3.38.el5_8.i386 からのファイルと競合しています。
[root@hoge i386]# 

(2). talloc-2.0.7 をインストール

ソース(talloc-2.0.7.tar.gz をダウンロードして展開)からコンパイルしてインストールする。
また、古い

(3). 再度SAMBAをインストール

[root@hoge i386]# rpm -Uvh samba-3.6.3-1.C58.i386.rpm samba-common-3.6.3-1.C58.i386.rpm samba-client-3.6.3-1.C58.i386.rpm samba-swat-3.6.3-1.C58.i386.rpm samba-doc-3.6.3-1.C58.i386.rpm samba-debuginfo-3.6.3-1.C58.i386.rpm
準備中...                ########################################### [100%]
        ファイル /usr/lib/libsmbclient.so.0 (パッケージ samba-common-3.6.3-1.C58.i386 から) は、パッケージ libsmbclient-3.0.33-3.38.el5_8.i386 からのファイルと競合しています。
        ファイル /usr/include/libsmbclient.h (パッケージ samba-common-3.6.3-1.C58.i386 から) は、パッケージ libsmbclient-devel-3.0.33-3.38.el5_8.i386 からのファイルと競合しています。
        ファイル /usr/share/man/man7/libsmbclient.7.gz (パッケージ samba-common-3.6.3-1.C58.i386 から) は、パッケージ libsmbclient-devel-3.0.33-3.38.el5_8.i386 からのファイルと競合しています。

(4). 競合パッケージをYum Extender からアンインストールする。

libtdb.so.1.2.9をアンインストール
libtalloc-2.0.1-11.el5.i386をアンインストール

libsmbclient-3.0.33-3.38.el5_8.i386をアンインストール
libsmbclient-devel-3.0.33-3.38.el5_8.i386をアンインストール
※上記に依存するファイルが多い
gnome-vfs2-smb-2.16.2-8.el5
mencoder-1.0-0.47.svn.20100803.el5.rf
mplayer-1.0-0.47.svn.20100803.el5.rf
mplayer-skins-1.8-1-nodist.rt
mplayer-tools-1.0-0.47.vn.20100803.el5.rf
mplayerplug-in03.55-1.el5.rf
nautilus-2.16.2-10.el5
nautilus-cd-burner-devel2.16.0-7.el5
nautilus-devel-2.16.2-10.el5

(5). 再度インストール
※競合しているパッケージをアンインストールしたら再度インストールを実施する。

[root@hoge i386]# rpm -Uvh samba-common-3.6.3-1.C58.i386.rpm samba-client-3.6.3-1.C58.i386.rpm samba-3.6.3-1.C58.i386.rpm samba-swat-3.6.3-1.C58.i386.rpm samba-debuginfo-3.6.3-1.C58.i386.rpm samba-doc-3.6.3-1.C58.i386.rpm
準備中...                ########################################### [100%]
   1:samba-common           ########################################### [ 17%]
   2:samba                  ########################################### [ 33%]
   3:samba-client           ########################################### [ 50%]
   4:samba-swat             ########################################### [ 67%]
   5:samba-debuginfo        ########################################### [ 83%]
   6:samba-doc              ########################################### [100%]
[root@hoge i386]# 

(6). libsmbclient、libsmbclient-develをインストール

※(4)で削除したが再度インストールを実施する。
トランザクション確認エラー:   file /usr/include/libsmbclient.h from install of libsmbclient-devel-3.0.33-3.38.el5_8.i386 conflicts with file from package samba-common-3.6.3-1.C58.i386
  file /usr/share/man/man7/libsmbclient.7.gz from install of libsmbclient-devel-3.0.33-3.38.el5_8.i386 conflicts with file from package samba-common-3.6.3-1.C58.i386
  file /usr/lib/libsmbclient.so.0 from install of libsmbclient-3.0.33-3.38.el5_8.i386 conflicts with file from package samba-common-3.6.3-1.C58.i386
上記のようなエラーになったので、インストールしないことにする。
どうやら 3.6.3 では、libsmbclient,libsmbclient-devel は必要ないのかも?

(7). (4)でlibsmbclientに依存していたために削除したパッケージをインストールする。

04:34:55 : Installed:
04:34:55 :  --> gnome-vfs2-smb-2.16.2-8.el5.i386
04:34:55 :  --> mencoder-1.0-0.47.svn20100703.el5.rf.i386
04:34:55 :  --> mplayer-1.0-0.47.svn20100703.el5.rf.i386
04:34:55 :  --> mplayer-skins-1.8-1.nodist.rf.noarch
04:34:55 :  --> mplayer-tools-1.0-0.47.svn20100703.el5.rf.i386
04:34:55 :  --> mplayerplug-in-3.55-1.el5.rf.i386
04:34:55 :  --> nautilus-2.16.2-10.el5.i386
04:34:55 :  --> nautilus-cd-burner-devel-2.16.0-7.el5.i386
04:34:55 :  --> nautilus-devel-2.16.2-10.el5.i386

0 件のコメント:

コメントを投稿