calc 2.11.5-4.5-4.5.src.rpm のインストール
(失敗)
2001.09.09

from:
  Linux magazine 2001.08 おまけ CD-ROM Disc 2

$ cd ~/rpm/SRPMS/
$ cp /mnt/cdrom/Linuxmag/Free_Share/calc/calc-2.11.5-4.5.src.rpm .

$ rpm -ivh calc-2.11.5-4.5.src.rpm
> calc      ########################################

$ cd ~/rpm/SPECS/

$ rpm -bp calc.spec
  O.K.

$ rpm -bc calc.spec
  O.K.

$ rpm -bi calc.spec
> installed /var/tmp/calc-buildroot/usr/share/man/man1/calc.1
> + /usr/lib/rpm/brp-compress
> + /usr/lib/rpm/brp-strip
> + /usr/lib/rpm/brp-strip-comment-note
> Processing files: calc-2.11.5-4.5
> File not found: /var/tmp/calc-buildroot/usr/share/man/man1/calc.1
> Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.31510
> + umask 022
> + cd /home/hoge/rpm/BUILD
> + cd calc-2.11.5
> + DOCDIR=/var/tmp/calc-buildroot/usr/doc/calc-2.11.5
> + export DOCDIR
> + rm -rf /var/tmp/calc-buildroot/usr/doc/calc-2.11.5
> + /bin/mkdir -p /var/tmp/calc-buildroot/usr/doc/calc-2.11.5
> + cp -pr BUGS README COPYING COPYING-LGPL HOWTO.INSTALL /var/tmp/calc-buildroot/usr/doc/calc-2.11.5
> + cp -pr README LIBRARY README.WINDOWS calc.1 /var/tmp/calc-buildroot/usr/doc/calc-2.11.5
> cp: cannot create regular file `/var/tmp/calc-buildroot/usr/doc/calc-2.11.5/README': Permission denied
> Bad exit status from /var/tmp/rpm-tmp.31510 (%doc)

$ ls -laF /var/tmp/calc-buildroot/usr/share/man/man1/
> calc.1.gz
calc.1 is not exist

$ cd ~/rpm/BUILD/calc-2.11.5/
$ cp inst_files inst_files.org
$ vi inst_files
> /usr/share/man/man1/calc.1 -> /usr/share/man/man1/calc.1.gz

$ cd ~/rpm/SPEC/
$ rpm -bi --short-circuit calc.spec
> cp: cannot create regular file `/var/tmp/calc-buildroot/usr/doc/calc-2.11.5/README': Permission denied
> Bad exit status from /var/tmp/rpm-tmp.64088 (%doc)

$ la /var/tmp/calc-buildroot/usr/doc/calc-2.11.5/
> -r--r--r-- 1 jun1 jun1 3949 Jun 9 08:05 /var/tmp/calc-buildroot/usr/doc/calc-2.11.5/README
あるじゃん。
パーミッションがいけないのかな。

$ cd ~/rpm/BUILD/calc-2.11.5/
$ chmod 666 README
$ rpm -bi --short-circuit calc.spec
O.K.
Virtual install success.

俺の独自の src.rpm の作成
1.前準備
$ rm -rf ~/rpm/BUILD/calc-2.11.5/

2-1. tar ball の展開
$ cd ~/rpm/BUILD/
$ tar czvf ./SOURCES/calc-2.11.5-4.5.tar.gz

2-2. tar ball の修正
$ cd ~/rpm/BUILD/calc-2.11.5/
$ vi inst_files
> /usr/share/man/man1/calc.1 -> /usr/share/man/man1/calc.1.gz
$ chmod 666 README

3. spec file の修正
$ cd ~/rpm/SPECS/
$ cp calc.spec calc.spec.org
$ vi calc.spec
$ diff -N calc.spec.org calc.spec
4c4
< Release: 4.5
---
> Release: 4.5jw1
7c7
< Source: http://www.isthe.com/chongo/src/calc/calc-2.11.5-4.5.tar.gz
---
> Source: calc-2.11.5-4.5jw1.tar.gz

4. src.rpm の作成
$ rpm -ba calc.spec
> Processing files: calc-2.11.5-4.5jw1
> File not found: /var/tmp/calc-buildroot/usr/share/man/man1/calc.1
> Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.63279
Can not create src.rpm

$ cat ~/rpm/BUILD/calc-2.11.5/inst_files
> /usr/share/man/man1/calc.1
inst_files の中身がもとに戻っちゃってる。

$ ls -la ~/rpm/BUILD/calc-2.11.5/README
> -rw-r--r-- 1 hoge hoge3949 Jun 9 08:05 rpm/BUILD/calc-2.11.5/README
でも、README は戻っていない。
何かが isnt_files の中身を書き換えているのかな。

Makefile で1度 inst_files を消して、
inst_files を作り直していた。
でも、やっている事が理解できない。

Makefile の作り直し
$ cd ~/rpm/BUILD/
$ rm -rf calc-2.11.5/
$ tar xzvf ../SOURCES/calc-2.11.5-4.5jw1.tar.gz
Created ~/rpm/BUILD/calc-2.11.5/

$ cd ~/rpm/BUILD/calc-2.11.5/
$ cp -p Makefile Makefile.org
$ chmod 660 Makefile
$ vi Makefile

$ diff Makefile.org Makefile
> 600c600
> < MANEXT= 1
> ---
> > MANEXT= 1.gz

$ cd ~/rpm/BUILD/
$ tar czvf calc-2.11.5jw2.tar.gz calc-2.11.5/
$ mv calc-2.11.5jw2.tar.gz ../SOURCES/

$ vi calc.spec
$ diff -N calc.spec.org calc.spec
> 4c4
> < Release: 4.5
> ---
> > Release: 4.5jw2
> 7c7
> < Source: http://www.isthe.com/chongo/src/calc/calc-2.11.5-4.5.tar.gz
> ---
> > Source: calc-2.11.5-4.5jw2.tar.gz

$ cd ~/rpm/SPEC/
$ rpm calc.spec
> Processing files: calc-2.11.5-4.5jw2
> File not found: /var/tmp/calc-buildroot/usr/share/man/man1/calc.1
> Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.77756
Makefile の修正は効かないらしい。




次は ソースファイルの中の calc.1 を calc.1.gz にした状態でパッケージング(src.rpm)にしてみる。

訳分かんなくなって来たから、始めからやりなおす。

$ cd ~/rpm/SRPMS/
$ rpm -ivh calc-2.11.5-4.5.src.rpms

$ cd ~/rpm/SPECS/
$ rpm -bp calc.spec
   tar 玉とパッチファイルの展開

$ cd ~/rpm/BUILD/calc-2.11.5/
$ chmod 660 README


やめた。
出来ない。
今の俺にはムリだ。

calc.1 が始めからあって、それを Makefile が calc.1.gz にしていると思っていたけど違う。
calc.man を Makefile で calc.1 にしている。
それを何かが calc.1.gz にして /usr/share/man/man1/ に入れている。
だから、始めから calc.1.gz を作っておいて、それを src.rpm に入れるのは出来ない。

やるとしたら Makefile が作った calc.1 をインストールの段階で calc.1.gz にしている
ヤツを見つけるしかなさそう。





しょうがないので 別の ftp site から src.rpm を持ってこよう。
そのインストールは、ここをみてくれ。
別の src.rpm なので、別ファイルにしとく。




でも、実は bc という、任意精度の計算言語 と言うものが Vine Linux には
始めから入っている。
これは calc の簡易版みたいなヤツなので、俺程度には bc でも十分なのだ。
でも、くやしいから calc のインストールは最後までやってみたい。

くっそー、間違えて ~/rpm/SPECS/ のなかのスペックファイルを全部消しちまったぜ

コマンドを間違えた。
まあ、src.rpm が残っているからいいか。








戻る