samba パッケージの再作成(2)


先日、ftp.samba.gr.jp からいただいてきた samba-2.2.8a.ja-1.0vl1.src.rpm をベースにパッケージを構築しようとした。

Vine Seed を見ていると、 samba-2.2.8a.ja.1.1-0vl3 パッケージがあることに気がついた。 これであれば、バージョンの不整合もなさそう。 早速これをベースに動作確認を行う。

バイナリパッケージのインストール

Vine Linux のミラーサイトから、 samba-2.2.8a.ja.1.1-0vl3.ppc.rpm をいただいてきて、インストールしてみた。
[root@hackkit /tmp]# rpm -i samba-2.2.8a.ja.1.1-0vl3.ppc.rpm
エラー: 依存性の欠如:
        gettext >= 0.10は samba-2.2.8a.ja.1.1-0vl3 に必要とされています
        libcups.so.2  は samba-2.2.8a.ja.1.1-0vl3 に必要とされています
        libreadline.so.4  は samba-2.2.8a.ja.1.1-0vl3 に必要とされています
        libc.so.6(GLIBC_2.3)  は samba-2.2.8a.ja.1.1-0vl3 に必要とされています
やっぱり、Seed のパッケージはそのままではインストールできそうにない。

ソースパッケージの rebuild

Vine Linux のミラーサイトから、 samba-2.2.8a.ja.1.1-0vl3.src.rpm をいただいてきて、rebuild する。
[root@hackkit /tmp]# rpm --rebuild samba-2.2.8a.ja.1.1-0vl3.src.rpm
samba-2.2.8a.ja.1.1-0vl3.src.rpm をインストール中
エラー: ビルド依存性の欠如:
        pam-devel  は samba-2.2.8a.ja.1.1-0vl3 に必要とされています
pam-devel をインストールする
[root@hackkit /tmp]# apt-get update
取得:1 http://www.t.ring.gr.jp 2.6/ppc/base/pkglist.main [243kB]
ヒット http://www.t.ring.gr.jp 2.6/ppc release.main
取得:2 http://www.t.ring.gr.jp 2.6/ppc/base/pkglist.updates [108kB]
ヒット http://www.t.ring.gr.jp 2.6/ppc release.updates
取得:3 http://www.t.ring.gr.jp 2.6/ppc/base/srclist.main [118kB]
取得:4 http://updates.vinelinux.org 2.6/ppc/base/pkglist.updates [108kB]
ヒット http://www.t.ring.gr.jp 2.6/ppc release.main
取得:5 http://www.t.ring.gr.jp 2.6/ppc/base/srclist.updates [41.2kB]
ヒット http://www.t.ring.gr.jp 2.6/ppc release.updates
無視 http://www.t.ring.gr.jp 2.6/$(ARCH)/base/mirrors
無視 http://www.t.ring.gr.jp 2.6/$(ARCH)/base/mirrors
ヒット http://updates.vinelinux.org 2.6/ppc release.updates
取得:6 http://updates.vinelinux.org 2.6/ppc/base/srclist.updates [41.2kB]
ヒット http://updates.vinelinux.org 2.6/ppc release.updates
無視 http://updates.vinelinux.org 2.6/$(ARCH)/base/mirrors
無視 http://updates.vinelinux.org 2.6/$(ARCH)/base/mirrors
取得完了: 659kB を 7s (93.3kB/秒)
ファイル依存を処理しています... 完了
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
W: http://www.t.ring.gr.jp/pub/linux/Vine/apt/ は認証を省略します。
W: http://www.t.ring.gr.jp/pub/linux/Vine/apt/ は認証を省略します。
W: http://updates.vinelinux.org/apt/ は認証を省略します。
W: http://updates.vinelinux.org/apt/ は認証を省略します。
[root@hackkit /tmp]# apt-get install pam-devel
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージが新たにインストールされます:
  pam-devel
0 個のアップグレードパッケージ, 1 個の新規パッケージ, 0 個の削除/リプレースパッケージ, 0 個の保留パッケージがあります。
取得パッケージ: 59.8kB のアーカイブを取得します。インストール後は 129kB が使用されます。
取得:1 http://www.t.ring.gr.jp 2.6/ppc/updates pam-devel 0.75-39vl1.1 [59.8kB]
取得完了: 59.8kB を 0s (117kB/秒)
RPM コマンドを実行しています (-U)...
pam-devel                   ##################################################
再度 rebuild する
[root@hackkit /tmp]# rpm --rebuild samba-2.2.8a.ja.1.1-0vl3.src.rpm
samba-2.2.8a.ja.1.1-0vl3.src.rpm をインストール中
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.42785
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd /usr/src/redhat/BUILD
+ rm -rf samba-2.2.8a-ja-1.1
+ /usr/bin/bzip2 -dc /usr/src/redhat/SOURCES/samba-2.2.8a-ja-1.1.tar.bz2
+ tar -xf -
	:
	:
/usr/src/redhat/BUILD/samba-2.2.8a-ja-1.1/source /usr/src/redhat/BUILD/samba-2.2.8a-ja-1.1
+ autoconf
/var/tmp/rpm-tmp.99522: autoconf: command not found
/var/tmp/rpm-tmp.99522 の不正な終了ステータス (%build)
autoconf もインストールする
[root@hackkit /tmp]# apt-get install autoconf
ファイル依存を処理しています... 完了
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下の追加パッケージがインストールされます:
  m4
以下のパッケージが新たにインストールされます:
  autoconf m4
0 個のアップグレードパッケージ, 2 個の新規パッケージ, 0 個の削除/リプレースパッケージ, 0 個の保留パッケージがあります。
取得パッケージ: 314kB のアーカイブを取得します。インストール後は 744kB が使用されます。
続行しますか? [Y/n]y
取得:1 http://www.t.ring.gr.jp 2.6/ppc/main autoconf 2.13-10vl0 [231kB]
取得:2 http://www.t.ring.gr.jp 2.6/ppc/main m4 1.4.1-3vl1 [83.1kB]
取得完了: 314kB を 0s (319kB/秒)
RPM コマンドを実行しています (-U)...
autoconf                    ##################################################
m4                          ##################################################
もう一回 rebuild
[root@hackkit /tmp]# rpm --rebuild samba-2.2.8a.ja.1.1-0vl3.src.rpm
samba-2.2.8a.ja.1.1-0vl3.src.rpm をインストール中
	:
	:
+ libtoolize --copy --force
/var/tmp/rpm-tmp.99464: libtoolize: command not found
/var/tmp/rpm-tmp.99464 の不正な終了ステータス (%build)
もー。libtoolize が含まれている libtool もインストールする
[root@hackkit /tmp]# apt-get install libtool
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下の追加パッケージがインストールされます:
  automake libtool-libs
以下のパッケージが新たにインストールされます:
  automake libtool libtool-libs
0 個のアップグレードパッケージ, 3 個の新規パッケージ, 0 個の削除/リプレースパッケージ, 0 個の保留パッケージがあります。
取得パッケージ: 934kB のアーカイブを取得します。インストール後は 3091kB が使用されます。
続行しますか? [Y/n]y
取得:1 http://www.t.ring.gr.jp 2.6/ppc/main automake 1.4p4-2vl0 [306kB]
取得:2 http://www.t.ring.gr.jp 2.6/ppc/main libtool 1.4.2-4vl1 [609kB]
取得:3 http://www.t.ring.gr.jp 2.6/ppc/main libtool-libs 1.4.2-4vl1 [19.0kB]
取得完了: 934kB を 2s (376kB/秒)
RPM コマンドを実行しています (-U)...
automake                    ##################################################
libtool                     ##################################################
libtool-libs                ##################################################
もー一回 rebuild
[root@hackkit /tmp]# rpm --rebuild samba-2.2.8a.ja.1.1-0vl3.src.rpm
samba-2.2.8a.ja.1.1-0vl3.src.rpm をインストール中
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.42785
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd /usr/src/redhat/BUILD
+ rm -rf samba-2.2.8a-ja-1.1
+ /usr/bin/bzip2 -dc /usr/src/redhat/SOURCES/samba-2.2.8a-ja-1.1.tar.bz2
+ tar -xf -
	:
	:
Compiling lib/sendfile.c
In file included from lib/sendfile.c:35:
/usr/include/sys/sendfile.h:26: #error " cannot be used with _FILE_OFFSET_BITS=64"
make: *** [lib/sendfile.o] エラー 1
make: *** 未了のジョブを待っています....
/var/tmp/rpm-tmp.96228 の不正な終了ステータス (%build)
むむむ。やっぱり Seed のパッケージは無理か。
カーネルとカーネルヘッダの相違が原因であろうが。

ハックキットを使ってホームサーバを構築しよう では、ソースパッケージからの構築をガイドしようと考えていたが、 これでは無理そうである。
samba のバイナリパッケージを配布するように再度方針を変更する。


LinkStation/玄箱 をハックしよう → bind の -u オプション

Copyright (C) 2004 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp
山下康成京都府向日市