glibc-2.3.3-3vl1.1


glibc-2.3.3-3vl1 に セキュリティホールがあったとの事でリビルドする。

これだから、ハックキット 2.0 が出せない。

確認

念のため、Vine Project からリリースされていることを確認する。
[root@hackkit root]# apt-get update
取得:1 http://updates.vinelinux.org 3.1/ppc release [2521B]
2521B を 1s 秒で取得しました (1614B/s)
ヒット http://updates.vinelinux.org 3.1/ppc/main pkglist
ヒット http://updates.vinelinux.org 3.1/ppc/main release
ヒット http://updates.vinelinux.org 3.1/ppc/devel pkglist
ヒット http://updates.vinelinux.org 3.1/ppc/devel release
取得:1 http://updates.vinelinux.org 3.1/ppc/plus pkglist [319kB]
ヒット http://updates.vinelinux.org 3.1/ppc/plus release
取得:2 http://updates.vinelinux.org 3.1/ppc/updates pkglist [42.2kB]
ヒット http://updates.vinelinux.org 3.1/ppc/updates release
ヒット http://updates.vinelinux.org 3.1/ppc/main srclist
ヒット http://updates.vinelinux.org 3.1/ppc/devel srclist
取得:3 http://updates.vinelinux.org 3.1/ppc/plus srclist [173kB]
取得:4 http://updates.vinelinux.org 3.1/ppc/updates srclist [18.9kB]
553kB を 10s 秒で取得しました (51.6kB/s)
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
[root@hackkit root]# apt-get upgrade
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージがアップグレードされます:
  XOrg-libs console-tools glibc glibc-common glibc-debug glibc-devel glibc-profile glibc-utils libpng nscd openssl
  shadow-utils
以下のパッケージは保留されます:
  LPRng kernel-headers
アップグレード: 12 個, 新規インストール: 0 個, 削除: 0 個, 保留: 2 個
99.0MB のアーカイブを取得する必要があります。
展開後に 147kB が解放されます。
続行しますか? [Y/n]n
中断しました。
危ない危ない。

ソースパッケージの入手

ソースパッケージを入手する。
[root@hackkit root]# apt-get source glibc
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
13.6MB のソースアーカイブを取得します。
取得:1 http://updates.vinelinux.org 3.1/ppc/updates glibc 2.3.3-3vl1.1 (srpm) [13.6MB]
13.6MB を 3m58s 秒で取得しました (57.0kB/s)
エラー: %sourcedir を /usr/src/vine/SOURCES に作成できません
展開コマンド 'rpm -ivh glibc-2.3.3-3vl1.1.src.rpm' が失敗しました
E: 子プロセスが失敗しました
[root@hackkit root]# 
あれれ?mkrpmdir してなかったか。
[root@hackkit root]# mkrpmdir ~
-bash: mkrpmdir: command not found
mkrpmdir がなかった。
[root@hackkit root]# apt-get install vutils
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージが新たにインストールされます:
  vutils
アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 14 個
27.5kB のアーカイブを取得する必要があります。
展開後に 57.8kB のディスク容量が追加消費されます。
取得:1 http://updates.vinelinux.org 3.1/ppc/main vutils 1.22.2-0vl1 [27.5kB]
27.5kB を 0s 秒で取得しました (28.2kB/s)
変更を適用しています...
Preparing...                ########################################### [100%]
   1:vutils                 ########################################### [100%]
完了
[root@hackkit root]# mkrpmdir ~
mkrpmdir: created rpm tree in /root/rpm and /root/.rpmmacros.

ソースパッケージのインストール

[root@hackkit root]# ls
glibc-2.3.3-3vl1.1.src.rpm  rpm/
[root@hackkit root]# rpm -ivh glibc-2.3.3-3vl1.1.src.rpm
   1:glibc                  ########################################### [100%]
[root@hackkit root]#

SPEC の修正

[root@hackkit root]# cd rpm/
[root@hackkit rpm]# ls
BUILD/  RPMS/  SOURCES/  SPECS/  SRPMS/
[root@hackkit rpm]# cd SPECS/
[root@hackkit SPECS]# ls
glibc-vl.spec
[root@hackkit SPECS]# mv glibc-vl.spec{,.orig}
[root@hackkit SPECS]# cp glibc-vl.spec{.orig,}
[root@hackkit SPECS]# vi glibc-vl.spec
[root@hackkit SPECS]# diff -c glibc-vl.spec.orig glibc-vl.spec
*** glibc-vl.spec.orig  2005-01-15 04:39:31.000000000 +0900
--- glibc-vl.spec       2005-01-29 00:43:48.000000000 +0900
***************
*** 14,20 ****
  Summary(ja): GNU libc ライブラリ
  Name: glibc
  Version: 2.3.3
! Release: %{glibcrelease}vl1.1
  License: LGPL
  Group: System Environment/Libraries
  Source0: %{name}-%{version}-%{glibcdate}.tar.bz2
--- 14,20 ----
  Summary(ja): GNU libc ライブラリ
  Name: glibc
  Version: 2.3.3
! Release: %{glibcrelease}vl1.1hk1
  License: LGPL
  Group: System Environment/Libraries
  Source0: %{name}-%{version}-%{glibcdate}.tar.bz2
***************
*** 316,324 ****
    ;;
  gcc*\ 3.2.3*)
  %patch2 -p1
- %patch3 -p1
    ;;
  esac
  %patch10 -p1
  %patch11 -p1

--- 316,324 ----
    ;;
  gcc*\ 3.2.3*)
  %patch2 -p1
    ;;
  esac
+ %patch3 -p1
  %patch10 -p1
  %patch11 -p1

[root@hackkit SPECS]#

リビルド

また24時間か、、、
[root@hackkit SPECS]# rpm -ba glibc-vl.spec
glibc-vl.spec: そのようなファイルやディレクトリはありません
あらら。rpm-build 入れてなかった。
[root@hackkit SPECS]# apt-get install rpm-build
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージが新たにインストールされます:
  rpm-build
アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 14 個
86.5kB のアーカイブを取得する必要があります。
展開後に 189kB のディスク容量が追加消費されます。
取得:1 http://updates.vinelinux.org 3.1/ppc/main rpm-build 4.0.5-1vl8 [86.5kB]
86.5kB を 1s 秒で取得しました (45.1kB/s)
変更を適用しています...
Preparing...                ########################################### [100%]
   1:rpm-build              ########################################### [100%]
完了
[root@hackkit SPECS]#
そういえば、build-dep もやっとかなあかんかった。
[root@hackkit SPECS]# apt-get build-dep glibc
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージがアップグレードされます:
  libpng
以下のパッケージが新たにインストールされます:
  autoconf gd-devel libpng-devel m4 zlib-devel
アップグレード: 1 個, 新規インストール: 5 個, 削除: 0 個, 保留: 13 個
1317kB のアーカイブを取得する必要があります。
展開後に 2800kB のディスク容量が追加消費されます。
続行しますか? [Y/n]y
取得:1 http://updates.vinelinux.org 3.1/ppc/main m4 1.4.1-12vl2 [97.2kB]
取得:2 http://updates.vinelinux.org 3.1/ppc/main autoconf 2.59-2vl3 [636kB]
取得:3 http://updates.vinelinux.org 3.1/ppc/updates libpng 2:1.2.8-0vl1 [235kB]
取得:4 http://updates.vinelinux.org 3.1/ppc/updates gd-devel 2.0.27-0vl2 [104kB]
取得:5 http://updates.vinelinux.org 3.1/ppc/devel zlib-devel 1.1.4-0vl3 [65.1kB]
取得:6 http://updates.vinelinux.org 3.1/ppc/updates libpng-devel 2:1.2.8-0vl1 [179kB]
1317kB を 24s 秒で取得しました (54.7kB/s)
変更を適用しています...
Preparing...                ########################################### [100%]
   1:m4                     ########################################### [ 16%]
   2:autoconf               ########################################### [ 33%]
   3:libpng                 ########################################### [ 50%]
   4:gd-devel               ########################################### [ 66%]
   5:zlib-devel             ########################################### [ 83%]
   6:libpng-devel           ########################################### [100%]
完了
[root@hackkit SPECS]#

今度こそリビルド

[root@hackkit SPECS]# time rpm -ba glibc-vl.spec
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.2490
+ umask 022
+ cd /root/rpm/BUILD
+ cd /root/rpm/BUILD
+ rm -rf glibc-2.3.3-200312301455
+ /usr/bin/bzip2 -dc /root/rpm/SOURCES/glibc-2.3.3-200312301455.tar.bz2
+ tar -xf -
	:
おやすみなさい


ダウンロードソフトウェア使用許諾(4)
ハックの記録
LinkStation/玄箱 をハックしよう

glibc-2.3.3-3vl1.1(2)rebuild 完了

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