5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

rpm作成スレッド

1 :login:Penguin:02/10/12 14:56 ID:JJtJdOQ0
rpm管理って便利だよねー。
でもたまにrpmのないプログラムに遭遇する。
そんなときどうしようと思ったらこのスレで質問しよう。

だれかつくってねーかなぁと思ったら
http://rpmfind.net/

しかたねー作るかとおもったら
http://www.linux.or.jp/JF/JFdocs/RPM-BUILD-HOWTO.html
http://www.linux.or.jp/JF/JFdocs/RPM-HOWTO.html
http://www.vinelinux.org/MakingRPM/

2 :login:Penguin:02/10/12 15:01 ID:q0Quvxvv
2get.i386.rpm

3 :login:Penguin:02/10/12 15:11 ID:edHTZnCC
3get.i386.rpm

4 :login:Penguin:02/10/12 17:19 ID:d9zqsnUF
4get.i686.rpm

5 :login:Penguin:02/10/12 18:14 ID:IH3Ac7U0
IDにrpmが出るまで頑張るスレはここですか?

6 :login:Penguin:02/10/12 18:20 ID:lw2U0E56
>>5
がんがります。⊂⌒~つ´ー`)つ

7 :login:Penguin :02/10/12 18:44 ID:LmpSEvCe
6get.i386.rpm

8 :login:Penguin:02/10/12 20:28 ID:nRxvn2NR
無線LANのドライバなんだけど、おまいらSPEC晒してくらさい。
ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/


9 :login:Penguin:02/10/12 20:29 ID:nRxvn2NR
age忘れた

10 :login:Penguin:02/10/12 20:31 ID:LmpSEvCe
10get.i386.rpm

11 :login:Penguin:02/10/13 01:06 ID:Njciv+mu
11get.noarch.rpm

12 :login:Penguin:02/10/13 03:42 ID:KrauaeCC
12

13 :login:Penguin:02/10/13 11:16 ID:IVDEZNXD
13get.i586.rpm

14 :login:Penguin:02/10/14 23:31 ID:7e/+skDr
SRPMからSPEC取り出して、自分で勉強。
















以上。

15 :login:Penguin:02/10/15 10:18 ID:mO2xZMR1
specファイル作成支援ソフトってないの?

16 :login:Penguin:02/10/15 12:24 ID:iJSLxL8e
>>15
どんな支援が欲しいの?

17 :login:Penguin:02/10/15 13:46 ID:2rx4tK4R
>>15
specspo?

18 :login:Penguin:02/10/15 13:48 ID:2rx4tK4R
>>15
rpmlint のまちがいだた。

19 :login:Penguin:02/10/25 02:45 ID:5IcadcQX
SPEC ファイル書いて rpm -bb hogehoge.spec でパッケージ作れたんだけど、
root で rpm -ivh hogehoge-version-release.archi.rpm でインストールしようとすると、

var/tmp/rpm-tmp.50759: var/tmp/rpm-tmp.50759: cannot execute binary file
スクリプト hogehoge-version-release の実行に失敗

ってなメッセージがでて、インストールできません。
このエラーメッセージについて解説とかされてるページってありますか?

20 :login:Penguin:02/10/25 02:53 ID:oniQsY0p
20get.i686.rpm

21 :login:Penguin:02/10/25 03:01 ID:DmrrZMuC
>>19
specファイルをさらしなさい。

22 :19:02/10/25 03:13 ID:5IcadcQX
その1
%prep

%setup

%build
# musixflx のコンパイル
cd systems
rm -r ./dos
cd c-source
rm musixflx.exe
gcc -o musixflx musixflx.c


23 :19:02/10/25 03:15 ID:5IcadcQX
その2
%install
# RPM 作成時の仮想インストール先のディレクトリの作成。
mkdir -p ${RPM_BUILD_ROOT}/usr/local/src
mkdir -p ${RPM_BUILD_ROOT}/usr/local/bin
mkdir -p ${RPM_BUILD_ROOT}/usr/share/man/man1
mkdir -p ${RPM_BUILD_ROOT}/usr/share/texmf/fonts/source/musix
mkdir -p ${RPM_BUILD_ROOT}/usr/share/texmf/fonts/tfm/musix
mkdir -p ${RPM_BUILD_ROOT}/usr/share/texmf/tex/musix
mkdir -p ${RPM_BUILD_ROOT}/usr/share/texmf/doc/musix
# インストール先にあわせてファイルを移動。
mv ./systems/c-source/musixflx.c ${RPM_BUILD_ROOT}/usr/local/src
mv ./systems/c-source/musixflx ${RPM_BUILD_ROOT}/usr/local/bin
mv ./systems/c-source/musixflx.1 ${RPM_BUILD_ROOT}/usr/share/man/man1
mv ./mf/*mf ${RPM_BUILD_ROOT}/usr/share/texmf/fonts/source/musix
mv ./tfm/*.tfm ${RPM_BUILD_ROOT}/usr/share/texmf/fonts/tfm/musix
cd tex
mv *.tex *.sty *.ins ${RPM_BUILD_ROOT}/usr/share/texmf/tex/musix
cd ..
cd doc
rm musixdoc.bat
mv musixdoc.sty ${RPM_BUILD_ROOT}/usr/share/texmf/tex/musix
mv *.tex *.sty *.dvi *.ind *.log *.mx1 *.mx2 *.toc *.eps *.aux *.cb *.idx *.lgi *.slg ${RPM_BUILD_ROOT}/usr/share/texmf/doc/musix
cd ..
rmdir systems/c-source mf tfm systems tex doc

%clean
cd ..
rm -r ${RPM_BUILD_ROOT}/usr
rm -r ${RPM_BUILD_ROOT}/musixtex-T109


24 :19:02/10/25 03:20 ID:5IcadcQX
その3
%pre
# 実際のインストール先のディレクトリを作成。
mkdir -p /usr/share/texmf/fonts/source/musix
mkdir -p /usr/share/texmf/fonts/tfm/musix
mkdir -p /usr/share/texmf/tex/musix
mkdir -p /usr/share/texmf/doc/musix

%post
mktexlsr

%files
%defattr(-,root,root)
/usr/local/src/musixflx.c
/usr/local/bin/musixflx
/usr/share/texmf/fonts/source/musix/
/usr/share/texmf/fonts/tfm/musix/
/usr/share/texmf/tex/musix/
/usr/share/texmf/doc/musix/
/usr/share/man/man1/musixflx.1.gz


25 :19:02/10/25 03:22 ID:5IcadcQX
先頭にこんなのかいてます。

Summary: MusiX TeX
Name: musixtex
Version: T109
Release: 0vl1
Group: Applications/Publishing/TeX
Source: musixtex-T109.tar.gz
#Copyright:
Packager:
URL:
BuildRoot: $HOME/rpm/BUILD
License: distributable
Requires: tetex

%description



26 :19:02/10/25 03:35 ID:5IcadcQX
Vine 2.5 (ftp)です。
$rpm -qa | grep "^rpm"
rpm-3.0.6-0vl22
rpm-build-3.0.6-0vl22
rpm-devel-3.0.6-0vl22
rpm-python-3.0.6-0vl22
rpmfind-1.5-3vl7
rpm2html-1.3-1vl2
rpm-utils-1.5-2vl1

musixtex-T109.tar.gz はここにあります。
http://www.ring.gr.jp/archives/text/CTAN/macros/musixtex/taupin/musixtex-T109.tar.gz

27 :19:02/10/25 04:53 ID:vY0Ga0iB
とりあえずですが、解決(?)しました。

root で
rpm -ivh hogehoge-version-release.archi.rpm ではだめで、
rpm -ivvh hogehoge-version-release.archi.rpm
だと途中でエラーメッセージがでるけどインストールできちゃいました。

ファイルの不足は無く、ちゃんとインストールできているので、
rpm コマンドについて、調べてみることにします。


28 :login:Penguin:02/10/25 05:06 ID:TvsuiqXJ
とりあえず
%preでmkdir
なんかするのやめれ
最初は他人の書いたspecお手本にしてパクれ。あんたヤバすぎ

29 :login:Penguin :02/10/25 09:35 ID:YClfL3Uf
29get.i686.rpm

30 :login:Penguin:02/10/25 10:45 ID:ELUJiGhm
>>27
とりあえず>>1のリンクにある文章を良く読んでみることを
お薦めします。

31 :login:Penguin :02/10/25 12:51 ID:19UQLIGl
31get.i386.rpm

32 :19:02/10/25 16:27 ID:VoziM/9t
>>28
>%preでmkdir
>なんかするのやめれ
これって不要ですか?

bash で動かしてたシェルスクリプトを SPEC に書き直したって形なので、
いろいろ SPEC あさって基本的なところから勉強してみます。

>>30
まだ軽く目を通した程度なので、これからしっかりと読んでみます。


33 :login:Penguin :02/10/25 16:28 ID:Qxv5LT4F
33get.ppc.rpm

34 :login:Penguin:02/10/25 17:59 ID:94un+C3G
>>32
> >>28
> >%preでmkdir
> >なんかするのやめれ
> これって不要ですか?
不要です。

> いろいろ SPEC あさって基本的なところから勉強してみます。
それがいいと思います。まずはMaximum RPMからどうぞ。


35 :login:Penguin:02/10/25 19:50 ID:KTAW6lRf
35get.alpha.rpm

36 :login:Penguin:02/10/25 20:21 ID:gF9nx6Dj
アーキテクチャ依存バイナリ量産スレはここですか。

37 :login:Penguin:02/10/25 23:15 ID:bntYHx4/
37get.s390.rpm

38 :login:Penguin:02/10/25 23:20 ID:MPp++zFp
まあ、馬鹿は馬鹿なりにドキュメントも読まずにがんばってなさいってこった。

rpm 作りたいのなら、最低限 Maximum RPM くらいは読むべきだと思うなぁ。
http://www.rpm.org/max-rpm/

39 :login:Penguin :02/10/25 23:55 ID:KTAW6lRf
39get.sparc.rpm

40 :19:02/10/26 03:14 ID:9dLqnxCk
%pre のところの mkdir 以下を消して
rm -r ${RPM_BUILD_ROOT}/usr を
[ "$RPM_BUILD_ROOT" != "/" ] && rm -r ${RPM_BUILD_ROOT}/usr
になおしたりとかいくつかいじって
とりあえず rpm -ivh でいけるものができました。

取り敢えずほしかったものはつくれたので、
ちゃんとした SPEC を書けるように勉強してみます。
有り難うございました。


>>27
rpm -ivh だとだめだったものが、
rpm -ivvh だとなぜインストールできたのかわかりません。
これはいったい何だったんでしょう?

rpm -ivvh new.rpm 2&>new.txt
rpm -ivvh old.rpm 2&>old.txt
diff new.txt old.txt
とかやってみたけど、

> + mkdir -p /usr/share/texmf/fonts/source/musix
> + mkdir -p /usr/share/texmf/fonts/tfm/musix
> + mkdir -p /usr/share/texmf/tex/musix
> + mkdir -p /usr/share/texmf/doc/musix

っていうところ以外は特に目立った違いは無かったです。

41 :login:Penguin:02/10/26 09:45 ID:qDv6fjMP
rpm -ivh
rpm -ivvh

ちがいは画面に出力される情報の量だけで動作は同じなはず。
$ man rpm して /-vv
で当該のオプションの説明を見るべし。

>なぜインストールできたのかわかりません
rpm作るのは勝手だけどそれを人に配るとかしないように。

42 :login:Penguin :02/10/26 12:36 ID:kf1WJfoE
42get.i286.rpm

43 :19:02/10/26 13:48 ID:Y9mSORQQ
>>41

>ちがいは画面に出力される情報の量だけで動作は同じなはず。
>$ man rpm して /-vv
>で当該のオプションの説明を見るべし。

そのへんは、27 を書き込む段階で、もう man とかみてたからわかってたんです。
日本語でヘルプでてきたし。
情報量の違いだけのはずなのに、インストールできたのがわからないんです。
なんかやらかして、 rpm の動作がおかしくなっちゃたのかな。

44 :login:Penguin:02/10/26 14:32 ID:aoYbYg+Z
44get-ximian.i686.rpm

45 :login:Penguin:02/10/26 17:12 ID:pqOI1FTa
kernelを再構築してRPMでインストールしたいのですが、
kernelのRPMの作り方がわかりません。
どのように作成すればいいのでしょう?



46 :login:Penguin:02/10/26 17:22 ID:Ygs/ptz/
46get.m86k.rpm

47 :login:Penguin:02/10/26 21:06 ID:qx5m784S
>>45
http://vinelinux.org/manuals/kernel-upgrade.html

48 :login:Penguin:02/10/28 19:32 ID:wnvvzJYb
ftp.gnu.org:/gnu/grep/grep-2.5-1.src.rpm
だれか、このgrepをRPMした人いますか?

49 :login:Penguin:02/10/28 23:29 ID:1c5W+NSU
>>48
意味わかんないんですが。

50 :login:Penguin:02/10/29 07:33 ID:pkoB87MI
50get.ia64.rpm

51 :login:Penguin:02/11/12 03:33 ID:njpLkln3
erojpgdown-0.11-3-1.i386.rpm

52 :login:Penguin:02/11/12 18:27 ID:90AlMQwr
>>51
クレ

53 :login:Pennsylvania:02/11/13 04:24 ID:VkalKkhE
ballistic-calc-1946-0215.eniac.rpm

54 :login:Penguin:02/11/13 21:56 ID:le21UOe2
ese-windows-5.00.2195-i386.rpm

55 :login:Penguin:02/11/15 02:09 ID:8XQjrk9q
>>53
配線がはいってるのか?

56 :login:Penguin:02/11/15 02:12 ID:8XQjrk9q
>>53
だがeniacではインストールはどうやっても手動だ(w


57 :login:Penguin:02/11/15 02:11 ID:8XQjrk9q
>>53
だがeniacではインストールはどうやっても手動だ(w

58 :login:Penguin:02/11/15 02:17 ID:8XQjrk9q
ブラウザの調子がわるくて書き込み失敗したとおもって繰り返してもーた。スマヌ。

59 :名無しさん:02/11/18 12:51 ID:bWmkhLVp
rpmbuild コマンドについて書いたドキュメントはまだ無いよな?
RedHatLinux8.0 に付属の RPM4.1 では、rpm -bb が使えないとか聞いたが?
Maximum RPM もその点では落第?

http://www.jp.redhat.com/manual/Doc80/RH-DOCS/rhl-cg-ja-8.0/s1-rpm-using.html
> RPMバージョン4.1から始まったことですが、パッケージの署名は
署名も必要になるの? 別にしなくてもいいの?


60 :login:Penguin:02/11/18 13:04 ID:iitxNnRI
rpmbuild -bbにすればいいんだよ。


61 :login:Penguin:02/11/18 13:28 ID:mwUkG5ny
gimageview-0.2.9-1gtk2.SuSE8.1.athlon.rpm

62 :login:Penguin:03/01/07 16:51 ID:odDJao2L
こんなのどうよ?
http://www.rusthq.com/
やっぱ、specなきゃだめ?

63 :login:Penguin:03/01/07 16:55 ID:jAoI9O7Q
>>62
ページを見てないので、何とも言えないけど、
spec がなかったら、どうやってメンテナンスするの?

64 :login:Penguin:03/01/07 17:15 ID:odDJao2L
正直、漏れもまだ使ったことないからわからん。( ゚∀゚)アヒャ

解説ページはけーん。
http://www.geocities.co.jp/SiliconValley-Oakland/4432/application/rust1.html

とりあえず、specを作らなくてもrpmを作ってくれるらしい。
ちょっと、使ってみるか。

65 :login:Penguin:03/01/07 23:17 ID:445OY7S+
>>63
使ってみた。

結局、specファイルは作る。
ヘッダのとこだけ自分で入力。スクリプトとかは自動で作ってくれる。
かなり楽。( ゚∀゚)アヒャ

66 :IP記録実験:03/01/08 21:22 ID:+M/1sqI1
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。

67 :login:Penguin:03/01/09 02:35 ID:OzFfd3tm
なんでも俺を実験に使うそうで

68 :login:Penguin:03/01/09 03:19 ID:rTZl4e5+
>307
どうせただのテキストファイルなんじゃないの。

69 :login:Penguin:03/01/09 04:08 ID:rTZl4e5+
なんだコピペかよ(^^;

70 :山崎渉:03/01/15 11:42 ID:vFMPlObn
(^^)

71 :login:Penguin:03/02/17 16:14 ID:R9X8lCjx
rpmでビルド中に 何パーセントビルドが終ったのかが表示されればなぁ。
中で configure + make 使ってる限り無理かなぁ。

72 :login:Penguin:03/02/17 16:19 ID:dhR8TYfT
★☆★キラキラお星様★☆★
http://jsweb.muvc.net/index.html

73 :498:03/02/17 16:27 ID:+1GxSOcB
■■出会い系サイト運営システムレンタル■■

儲かる出会い系ビジネス

初心者でも簡単運営

写メール、画像対応

http://www.geocities.jp/kgy919/




74 :login:Penguin:03/02/17 18:37 ID:d3tQlBpu
>>71
rpmはspec file内の情報しか知らんのに,それ以上に掘り下げたものを要求するのは無理難題というものではないか?

ところでインストール,アップデート時のパーセント表示さえ,あんたの期待するものでないことはご存知?


75 :login:Penguin:03/02/24 21:36 ID:9rdWuAgr
初心者でスマソ。
アップグレードした時に
警告: /etc/rndc.conf created as /etc/rndc.conf.rpmnew
てメッセージが出たんだけど、どうすれば良いんかな?
アップ自体は無事に終わってるんだけど。初歩的な質問で申し訳ないです。


76 :名無しさん:03/02/24 22:34 ID:Q3uuaHbn
w3m-0.4.rpmが作りたいんですが、
rpm初心者でもすぐできますか?
specファイルの書き方を修得するのは数ヶ月ぐらいかかるんでしょうか?

77 :login:Penguin:03/02/24 22:35 ID:Slakq2iP
>>76
まずやってみ。

78 :login:Penguin:03/02/24 23:55 ID:tT0jaPDy
>>75パッケージの/etc/rndc.confが/etc/rndc.conf.rpmnewとなっている。/etc/rndc.confは古いまま ってのはわかるだろ?まず両方見比べてみる。で変更が無ければ rm /etc/rndc.conf.rpmnew変更があれば適当にマージするなりしてから rm /etc/rndc.conf.rpmnew

79 :login:Penguin:03/02/25 01:59 ID:KsEAMga1
79get.msx.rpm

80 :山崎渉:03/03/13 17:02 ID:sbQU2y5R
(^^)

81 :login:Penguin:03/04/12 00:36 ID:CXUZ+J74
rpm配布されているsambaが、ldap対応であるようなコンパイルオプション付きで
コンパイルされているかどうかを知る方法ってありますか?
今は具体的には上のケースを知りたいのですが、なるべくならrpm配布されている
パッケージすべてにおいて、コンパイルオプションを知る方法があるのなら
知りたいです。

82 :login:Penguin:03/04/12 01:07 ID:4LgseFyC
>>81
SRPMの中身見れば?
specとconfigure見れば大体分かると思うけど。

83 :login:Penguin:03/04/12 08:18 ID:ig7oBkvx
RedHatLinux7.2のsamba作ってくれよー

84 :login:Penguin:03/04/12 08:39 ID:m8iSLDdQ
Vine 用の src.rpm 取ってきて --rebuild 汁。

85 :login:Penguin:03/04/13 03:24 ID:Zc+6yCnQ
rpm

86 :山崎渉:03/04/17 11:59 ID:PWISM87M
(^^)

87 :山崎渉:03/04/20 06:13 ID:xFRXxEWb
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

88 :login:Penguin:03/04/28 01:42 ID:BrbleGyZ

最適化したRPMなどのパッケージをWinnyで流せたら、活性化して面白いかもよ。
ということで実験的age

89 :login:Penguin:03/04/28 02:26 ID:VMyeIqWH
>>88
WindowsからLinuxにデータ移すの面倒くさいし
そもそも出所不明のRPMなんて、セキュリティ的に怖い。
スクリプトの中に rm -rf / とか入ってたり・・・(+д+)

90 :login:Penguin:03/04/28 02:31 ID:NDj4sXse
--addsign すればいいわけだし、どこかに安全な場所に md5sum の
リストを置いておけばいいのでは?

そもそも、wine で Winny は簡単に動く時代ですし、あなたの妄想は
時代遅れだと思いますよ。

91 :89:03/04/28 03:23 ID:VMyeIqWH
>>90
md5sum はちょっと考えたんだけど
Web上にリスト載せるなら、わざわざWinny使う必要ないなと思ったが
まあサーバの負担とか回線のトラフィックとかWebスペースの問題があるならOKだな。
--addsign だったら、この人は安心 って事が分かってないといけないな。

wineでwinnyはちゃんと動くのか、それは知らんかった。時代遅れだな。
RPM専用でwinny立ち上げるのもどうかと思うし
他の落としたファイルの日本語ファイル名が化けちゃうけどnkfでOKかな。半角カナは知らんけど。

つまり、"どこか安全な場所にある md5sumのリストと 信頼できる作成者のリスト"が必要。
そうしたら、漏れの作った大量のRPMも流そっと。

92 :login:Penguin:03/04/30 13:35 ID:2eYCFaSN
>>76
亀レスだが。
Linux インスコして一月弱。Vine 使っているんだけど、簡単な spec
書けたよ。RPM 関係の HOWTO 見てメモとりながらやれば
初心者でもなんとかなる。でも、初めてだったので、パッチらしい
パッチもあてなくてすむ小さなパッケージ二つ作るのに6時間
くらいかかった。(w

一度ガン画ってやってみれば、spec の読み方もわかるようになるし、
テメーでインスコしたソフトも簡単に削除できるようになるから、
やったことないヤシは挑戦すべし。
でも、いきなりでかいパッケージは作ろうとしない方が良いと思われ。
洩れは英辞郎をサクサク検索したくて、rdic と それに必要な mmap を
つくてみた。洩れみたいなヘタレにはこれくらいから始めるのがちょうどいい。


93 :山崎渉:03/05/22 02:05 ID:p4opmoqv
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―

94 :山崎 渉:03/07/15 11:34 ID:doz396Fq

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

95 :ぼるじょあ ◆yBEncckFOU :03/08/02 05:25 ID:+QUfMouI
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ

96 :山崎 渉:03/08/15 23:26 ID:dil3w4kp
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

97 :login:Penguin:03/10/29 02:34 ID:SqMCZ52G
質問です。
libsomething.soを必要とするライブラリをmylib.i386.rpmとして配布したいと思っています。
しかし、libsomething.soはrpmではなくバイナリtar ballで配布されています。
すると、mylib.i386.rpmをインストールする際に libsomething.soを必要としています
と言われ、インストールできません。(Requiresが自動的に設定される)

強引な解決策として、Providesにlibsomething.soを追加すれば一応インストールされるのですが、
これは嘘っぱちなので、本当はやりたくありません。
どうすればいいでしょうか?

98 :97:03/10/29 03:17 ID:SqMCZ52G
自己解決&新たな質問です。
http://www.rpm.org/max-rpm/s1-rpm-depend-auto-depend.html
を見て
AutoReq: no
にしてことなきを得ました。
しかし、これだと他のRequiresも一切無くなってしまうのですが、
libsomething.soだけ無効にする方法はないでしょうか?
http://www.zoi.to/~zoi/widestudio/ml/200205-/msg00153.html
に全く同じ質問がありますが、回答はついていませんでした。


99 :login:Penguin:03/10/29 03:29 ID:kwetqh4L
>>97
本当はなんかやりかたあるのかもしれんが、てけとーな回避策。
echo "/usr/lib/rpm/find-requires | egrep -v libsomething.so" > /tmp/fr
chmod +x /tmp/fr
%__find-requires /tmp/fr


100 :login:Penguin:03/10/29 04:20 ID:BmAgd7w0
>>97-98
libsomething.so が入ってるライブラリ用の SPEC ファイル書いて、
nosrc.rpm とか、src.rpm をつくって、
rpm でインストールできるようにして mylib と一緒に置いておく。
バイナリ tar ball なら、それほど難しくないはず。
mylib のほうは、その rpm を Requires に書いておけばいい。

そういった方法で対処した方が Requires を無効にするよりはいいと思う。

libsomething.so をインストールする時に、
checkinstall を使えばごまかせるかもしれないけど。

101 :97:03/10/29 05:29 ID:SqMCZ52G
>>99
あ、なるほど。結果を改竄するということですね。
find-requiresのパスが気になるところですが、なんとかなりそうですね。
どうもありがとうございました。

>>100
実はlibsomething.soってのは Mozilla のライブラリなんです。
Mozillaは複数インストールされている可能性がある(gtk2の有無やらxftの有無やら
Firebirdだったりする)ので、できるだけrpm化を強制するのは避けたいんです。
> libsomething.so をインストールする時に、
> checkinstall を使えばごまかせるかもしれないけど。
ん…良く分かりませんのでちょっと調べてみます。どうもありがとう。

102 :97:03/10/29 05:37 ID:SqMCZ52G
調べてみました。勘違いしてるかもしれませんが、
checkinstallはそれ自体をインストールしなきゃいけないようで配布に向いていないみたいです。
取り敢えず>>99さんの案で行ってみたいと思います。
どうもありがとうございました。

103 :login:Penguin:03/10/29 19:41 ID:e7zkr6A2
最近簡単なrpmの作成はできるようになったんだけど
specファイルのテンプレートはemacsを使うと簡単だよね。
$ emacs hoge.spec &



104 :login:Penguin:03/10/29 21:15 ID:YDj1s4Qc
日経リナックスの付録のLindnws4.0とOpenOfficeを入れましたが、日本語が入力できないとわかったので、古本屋で見つけたLinuxJapanの付録のWXGforLinux/FreeBSD Ver.1.0βをインストールしようとしましたが、うまくいきませんでした。説明によると

105 :login:Penguin:03/10/29 21:20 ID:YDj1s4Qc
つづき説明によると、「パッケージはRPMファイルになっていますので、# rpm -ivh wxg-1.0b-1.i386.rpmのようにコマンドでインストールをおこないます。」とありましたが、さっぱりわかりません。どこに打ち込めばいいのでしょうか?

106 :login:Penguin:03/10/29 22:14 ID:crdJ3Hwi
>>104-105
日系にゴラァ電しましょう。

107 :login:Penguin:03/10/29 23:09 ID:2QjzLGdx
>>104-105
ここはrpmファイル"作成"スレじゃ。初心者スレ逝けゴルァと言いたいとこだが、、
日本語入力が出来ないとは変わった制限だな
と思ってちょっと検索してみたが、ATOKの変わりに
Canna(フリーの日本語入力ソフト)が入ってると書いてある。

ttp://yoshida.kir.jp/lindows/beta01.html

もしかして「日本語が入力できないとわかった」ってのは
「半角・全角キー」押しても無反応だったからってオチじゃない?
多分Shift+Spaceで日本語に切り替り変わるはず。
(日経Linuxの付録CDの説明ページにも書いてありそうなもんだが)



108 :login:Penguin:03/10/30 00:43 ID:hvbA9pnn
Shift+Spaceを押すとどの文字を打っても四角の枠が打ち込まれます。

109 :login:Penguin:03/10/30 05:33 ID:T/Wt5eDR
それは入力できてるけど表示が出来てないだけかと。
日本語表示できない状態なのに日本語を表示しようとするから豆腐に化ける。

コマンド入力の仕方も日本語表示もスレ違いなので、後は↓の適当なスレで訊きなおしてちょ。
その時は、どういうソフト(エディタとかブラウザとか)で化けるとか細かい状況を書くことも忘れずに。

Lindows Part 4
http://pc.2ch.net/test/read.cgi/linux/1065984614/l50
くだらねえ質問はここに書きこめ! part61
http://pc.2ch.net/test/read.cgi/linux/1067454177/l50
初心者にも優しい総合質問スレ Part61
http://pc.2ch.net/test/read.cgi/linux/1067437547/l50

110 :screen@制作中:03/10/30 22:49 ID:I1zuwXG0
今 screen-4.0.1 の rpm を作成しています。
私はredhat9を使っているので
redhat9 の screen.spec を参考にしながら作っています。
バージョンが上がっているので patch の整合性は問題にしないとして
screen.spec の中で以下の部分がでてくる。
%build
libtoolize --copy --force

これをやるとlogに以下のようにでてくる。
Remember to add `AC_PROG_LIBTOOL' to `configure.in'.
You should add the contents of `/usr/share/aclocal/libtool.m4' to `aclocal.m4'.

どう対応したらいいのかわからないので解る人教えて下さい。

111 :login:Penguin:03/10/30 23:06 ID:x1gj3lfq
>>110
Google 様に聞いてみたり、ドキュメントを読んでみたり、
違うバージョンを試してみたりする事ができないような馬鹿が
無理する必要はないんじゃないですか?

112 :login:Penguin:03/10/30 23:42 ID:yTtw0JEU
>>111
まあまあ。落ち着けよ。

>>110
Remember to add `AC_PROG_LIBTOOL' to `configure.in'.


113 :screen@作成中:03/10/31 08:33 ID:Hgy94LpE
一応完成したので、採点してくださーい。

http://parsley339.at.infoseek.co.jp/screen.spec.mine

114 :screen@作成中:03/10/31 09:01 ID:Hgy94LpE
rpm作成中のログもつけておきます。
http://ime.nu/parsley339.at.infoseek.co.jp/log5.txt

115 :screen@作成中:03/10/31 09:52 ID:Hgy94LpE
インストールテストをしたらコンフリクトしてた。
$ rpm -U --test screen-4.0.1-1.i386.rpm
file /usr/share/terminfo/s/screen from install of screen-4.0.1-1 conflicts with file from package ncurses-5.3-4
file /usr/share/terminfo/s/screen-bce from install of screen-4.0.1-1 conflicts with file from package ncurses-5.3-4
file /usr/share/terminfo/s/screen-s from install of screen-4.0.1-1 conflicts with file from package ncurses-5.3-4

早速改訂版です。
specファイル
http://ime.nu/ime.nu/parsley339.at.infoseek.co.jp/screen.spec.mine1
ログファイル
http://ime.nu/ime.nu/parsley339.at.infoseek.co.jp/log6.txt

この変更は以下を参考にしてます。
http://vinelinux.org/MakingRPM/node10.html

一応インストールテストはOKだったけど
ひとりでパッケージングしてると
とんでもない間違いに気づかない怖れがあるので
バッシング覚悟で公開してみました。
宜しく評価下さいますようお願いします。


116 :login:Penguin:03/10/31 16:26 ID:7CFvfgMW
どこかからベースとなる .spec を持って来たんでしょ?
だったら、Initial build じゃねーだろうが。

117 :login:Penguin:03/11/01 00:15 ID:EODMVSrn
>>115 SPEC をみて、3点ほど。
1. SOURCE0,1 のところは、SPEC ファイルをみてソースをダウンロードできるように、
 URL をちゃんと書いてほしい。たいていの場合ググればすぐみつかるんだけど
 SOURCE0: ftp://hoge/hoge/%{name}-%{version}.tar.gz みたいに。
2. mkdir -p や、install などのコマンドも、
 %{_mkdir_p} や %{_install} のようにマクロをつかったほうがいいと思う。
 (rpm --showrc で確認)
3. 問題無かったはずだけど、
 %files の %{_bindir}/* って書かれてると /usr/bin/* が削除されそうで怖い。
 他のアプリと共通のディレクトリを使う場合には、
 具体的なファイル名にしておいてほしい。

118 :login:Penguin:03/11/01 00:21 ID:oX8Ddgno
>>117
> %files の %{_bindir}/* って書かれてると /usr/bin/* が削除されそうで怖い。

その書き方は、いろんな rpm で使われているようですが。

119 :login:Penguin:03/11/01 00:56 ID:bcJ0fjGW
rpmのファイルリストに*が書かれるわけじゃないよ。

120 :screen@作成中:03/11/01 06:30 ID:33TDV9Lc
>>116
確かに自分の使ってるDistributionのスペックファイルを元にしているんだけど
今作ってるscreenではredhatがつけたpatchを全部はずしちゃってて
(古いscreenのバージョンに対してつけられたpatchをそのまま使う必要があるか
疑問だったから)
changelogにredhatの履歴を入れた方が整合性がくずれると思ったので入れてない。


121 :screen@作成中:03/11/01 07:08 ID:33TDV9Lc
>>117
> 1. SOURCE0,1 のところは、SPEC ファイルをみてソースをダウンロードできるように、
> URL をちゃんと書いてほしい。たいていの場合ググればすぐみつかるんだけど
> SOURCE0: ftp://hoge/hoge/%{name}-%{version}.tar.gz みたいに。
ごもっとも、早速SOUCE0については対応しました。でもSOURCE2はpamを使うために
必要なファイルで(出展はredhatのscreen)どこかで個別に配付されていないから
ちょっと書きようが無いかも。

> 2. mkdir -p や、install などのコマンドも、
> %{_mkdir_p} や %{_install} のようにマクロをつかったほうがいいと思う。
> (rpm --showrc で確認)
これは初めて知った。情報ありがとう。今後取り組もうと思います。

> 3. 問題無かったはずだけど、
> %files の %{_bindir}/* って書かれてると /usr/bin/* が削除されそうで怖い。
> 他のアプリと共通のディレクトリを使う場合には、
> 具体的なファイル名にしておいてほしい。
まあ書くのが楽だから*で良いと思う。以下のサイトでも解説されてるしね。
http://vinelinux.org/MakingRPM/node11.html

122 :login:Penguin:03/11/01 13:16 ID:oX8Ddgno
>>120
何の整合性がくずれるとおっしゃりたいのですか?

ふつーのディストリビューションなら、
- drop all patches
と書くわけです。

元ネタになった .spec を書いた人々に失礼では?
とりあえず、整合性とは何なのか教えてね。

123 :screen@作成中:03/11/01 15:45 ID:33TDV9Lc
>ふつーのディストリビューションなら、
>- drop all patches
>と書くわけです。

ディストリビューションなら書く必要が在ると思うけど
私は個人ででっちあげたspecファイルに
redhatのchangelogを載せる方が悪いと思ったのよ。


emacsでいちから作成したspecファイルは%changelog部分に
Initial build と勝手に書いちゃうからね。
もちろんsrc.rpmをインストールして
src.rpmに含まれていたspecファイルを変更したのなら
%changelogも追記していけば良いと思うけど。
今回はいちからspecファイルを書いてます。

まあ整合性とういうのは
私の書いたspecファイルはredhatというディストリビューションに
なんら関係(責任)のないものだっと理解しちょうだい。












124 :117:03/11/01 22:01 ID:TJpF1osf
>>123
>私は個人ででっちあげたspecファイルに
>redhatのchangelogを載せる方が悪いと思ったのよ。
>私の書いたspecファイルはredhatというディストリビューションに
>なんら関係(責任)のないものだっと理解しちょうだい。

ディストリに正式に採用されてるわけでもないから、それでいいと思う。
 Release 番号に独自の文字使う他に、
 Vender 、Packager 書いて署名して って方法で私はやってる。
 #たぶんだれも使ってないけど。(笑)

spec そのものには特にツッコミ入らなかったみたいだし。完成おめでとう。
#今後のソースの更新にあわせたバージョンアップとかもがんばってください。

125 :login:Penguin:03/11/01 23:38 ID:oX8Ddgno
公開する場合は問題でしょう。

126 :screen@作成中:03/11/02 00:05 ID:YinYUYa6
>>125
>公開する場合は問題でしょう?

redhatが問題だっていってたの?
それならchangelogの変更ぐらいいくらでもするけど
123でも言ったようにchangelogにredhatの名前をだすほうが
redhatは迷惑に思うんじゃないかな?

ここにspecファイルを公開したのは
私の作ったspecファイルを自分以外の誰かに評価してもらいたかったからで
redhatのspecファイル丸写しだったらわざわざここで評価してもらう必要はないです。




127 :login:Penguin:03/11/02 00:12 ID:q7g2V3x7
RedHat に迷惑がかかるなんてことはありえない。

changelog の先頭に最終更新者の名前を書くという慣行があるわけだから、
誰がいじったパッケージかは自明なわけです。

rh な rpm をバラして patch を drop したと聞けば、
派生物であるという認識しかできませんよね?
なにか解釈間違ってますか?

128 :screen@作成中:03/11/02 00:21 ID:YinYUYa6
patchを落しただけじゃないから
わざわざここで評価してもらってたの


129 :login:Penguin:03/11/02 02:22 ID:eRDNG3h9
つか、changelogなんて著作権表示じゃないんだから
削ったって問題ないにきまってんじゃん
まぁ、有った方がわかりやすいけど
長いとウザイし


130 :login:Penguin:03/11/02 02:48 ID:SJzd4yuw
screen@作成中は"Change"したわけじゃないんだろ?
ChangeしてないのにChangeLogがあったらおかしいだろが。

131 :97:03/11/09 19:49 ID:hOQWFN6N
99さんの方法でうまくいきましたので報告します。

%prep
echo "%{__find_requires} | egrep -v 'lib(xpcom|nspr4|plc4|plds4).so'" > %{_tmppath}/find-requires-without-gecko
chmod +x %{_tmppath}/find-requires-without-gecko
%define __find_requires %{_tmppath}/find-requires-without-gecko
%setup -q

132 :login:Penguin:03/11/14 06:43 ID:mSK1q7Vj
rpmを作っているとたまにsbitをたてることがあるんだけど
もちろん一般ユーザーではできません。
こんなときルートでrpmを作るしかないのかな?

133 :login:Penguin:03/11/14 12:05 ID:QuM3c/XV
>>132
sbit についてよく分かってないけど。
sbit をたてる処理を
[pre,post]install script とかに書いてもだめですか?

134 :login:Penguin:03/11/14 14:55 ID:OaQ/asUo
>>132
%files セクションで %attr を使って
%attr(4711,qmailq,qmail) /var/qmail/bin/qmail-queue
みたいにする。これなら一般ユーザで rpm を使っても
インストールした時に sbit がたちます。

135 :132:03/11/15 23:34 ID:k6c00/SP
>>134
無事ユーザーでsbitを立てられました。
ありがとうございました。

>>133
そのやりかたでもできそうな気がするけど
とりあえず Making RPM に >>134 まんまの説明があったので
134のやり方でやってみました。
情報ありがとうね。


136 :login:Penguin:04/01/09 23:18 ID:V3n+96H0
保守

137 :login:Penguin:04/01/11 09:09 ID:B+ozCSbr
こんなツールもあります。RPMをSPECを使わずに作成できる。
http://asic-linux.com.mx/~izto/checkinstall/

解説サイト
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/530mkrpmfs.html

ただし、このツールもまだまだ発展途上って感じです。これからに期待。
簡単なツールのRPMならこれで大丈夫だと思うけど、複雑なツールのrpm作成は
まだまだですなぁ。

138 :login:Penguin:04/01/11 23:13 ID:XkTcZwk7
RPMについて (Windows To Linux移行支援プロジェクト)
ttp://win2linux.sourceforge.jp/goodapps/RPM.html

これの「一般ユーザでリビルドできるようにする」のところでmkrpmdir
というコマンドが使われているが、これはVineの独自パッケージ(vutils)
に含まれているもので、他のdistro使っている人はそこんとこ要注意ね。

ちなみに同名のコマンドがpoldekというツールにも含まれている。
ttp://team.pld.org.pl/~mis/poldek/

139 :sage:04/01/27 12:49 ID:sR4svUSa
バイナリrpmからソースrpmってできないですよね?
普通に考えたらできないのはわかるのですが、
もしもそんなことをご存知の方がいたら教えてください。

140 :login:Penguin:04/01/27 13:14 ID:DOFDsVK8
>>139
http://pc.2ch.net/test/read.cgi/linux/1074773471/462

141 :login:Penguin:04/01/27 16:01 ID:8Y1SuBnZ
だれか、GworkspaceとGNUMailをrpmで作ってください。

142 :login:Penguin:04/01/31 11:32 ID:ZaQKaUKE
RPMパッケージを作りたいのでredhat PRESSのRed Hat RPM Guideを買おうかと思っています。
この本はRPMパッケージを作りたいだけの私にとって買いなのでしょうか?



143 :login:Penguin:04/01/31 15:11 ID:GZJlsdhW
>>142 読んでみたことないけど、値段が高すぎないか?
悪い本ではなさそうだけど、パッケージ作るのにはそれほど必要ないことも結構書かれてそうだし。
ttp://bookweb.kinokuniya.co.jp/htm/4797324937.html
3 プログラミングRPM とか、4 RPMを拡張する とか必要?

私はこれ持ってる。「Redhat Package Manager Manual & Reference」
ttp://linux.ascii24.com/linux/bookstore/data/book628512.html
ttp://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=4-87966-976-8

時々調べるのに使う感じでそれほど読み込んではいない。
改訂されてるかどうかしらないけど、初版が 2000年2月27日 なので、
多少古いのかも。rpm Version 3 で書かれてる。

両方あったら、買う前に手に取って読み比べることをお薦めします。
「本」で欲しいってのじゃなければ、>>1 のリンク先とか、実際の src.rpm も役に立つし。

144 :142:04/01/31 18:39 ID:ZaQKaUKE
RPM Version3とVersion 4でのSPECファイルの内容に違いはあるのでしょうか?
あまりないのでしたらネットでの情報で十分そうです。

145 :login:Penguin:04/02/18 22:22 ID:/tGKsCje
>>139

Thanks. 修正しときました。
ttp://win2linux.sourceforge.jp/goodapps/RPM.html

146 :login:Penguin:04/02/18 22:24 ID:/tGKsCje
>>145

139ではなくて138でした。失礼。

147 :login:Penguin:04/02/18 23:04 ID:wjiGYa0h
>>145
Vine の mkrpmdir は
mkrpmdir /home/username/rpm ではなく、mkrpmdir /home/username にしないと、
/home/username/rpm/rpm/SPECS とかが作られてしまう。

%_topdir が ~/rpm なら mkrpmdir ~ でいい。

148 :login:Penguin:04/02/19 21:01 ID:vAqWJAj0
>>147

たびたび済みません。

149 :login:Penguin:04/03/05 17:12 ID:2SmG2apn
例えば hoge.rpm があるとして,

rpm -ivh hoge.rpm

すると,何もメッセージを出さずにすぐにプロンプトを出します.
# インストールはまったくされていません

rpm -ivvh hoge.rpm

とすると

D:found 0 source and 0 binary packages

とでます.

ところが hoge.rpm に異常はなさそうです.

hoge.rpm をどんな rpm ファイルにしても
まったく同じ反応です.

なぜなのでしょうか?


150 :login:Penguin:04/03/05 17:19 ID:e9JyJ572
>>149
自作 rpm じゃないなら
↓かディストリのスレで。

くだらねえ質問はここに書き込め! Part71
http://pc.2ch.net/test/read.cgi/linux/1077690104/

151 :login:Penguin:04/03/06 00:11 ID:Yf9cOktg
kconfigure上でcheckinstallって使えますか?

152 :login:Penguin:04/05/16 03:39 ID:q/JNf/wU
スレ違いかもしれない質問

rpmをbuildすると、buildした環境で動作するのに必要なライブラリを
Requires:に追加しているようなんですが、ここに入れさせたくない
場合はどうすればいいのでしょう?

具体的には、/lib/libsafe.so を入れた環境でbuildしたバイナリrpmが
libsafe.soが依存ファイルとなっているのを阻止したいです。
あと、/usr/local以下にインストールしたプログラムなどが依存ファイルと
して挙げられる場合もあり、それも阻止したいなと。

153 :login:Penguin:04/05/16 07:01 ID:yjh8d7t+
>>152
AutoReqProv: no


154 :login:Penguin:04/05/16 15:33 ID:q/JNf/wU
>>153
ありがとうございます。
全てチェックしなくなるようですが、当面、エラーを
黙らせるのにはこれで行きます。

155 :login:Penguin:04/06/03 01:06 ID:nPQI0aZ4
お聞きしたいのですが、
WEBサーバのapacheをcheckinstallでrpm化させたかったのですが、
以下のエラーがその願いを遮ります。
解決策をご教授頂けないでしょうか?
よろしくお願いします。

OS:RedHat9
対象:httpd-2.0.49

Building file list...OK
cat: /var/tmp/FeCEJOLmEYSOfejoCeHc/libdirs: そのようなファイルやディレクトリはありません

**************************************
**** RPM package creation selected ***
**************************************

Building RPM package... FAILED!

*** Failed to build the package

Do you want to see the log file? [y]: y
作成中ターゲットプラットフォーム: i386
Building for target i386
Processing files: httpd-2.0.49-1
致命的なエラー: getGname: too many gid's

156 :login:Penguin:04/06/08 13:00 ID:wwdhZncM
>>155
悪いことはいわんから、オフィシャルなRHのspecをもらってきて、それを土台に好きに編集した
方が、checkinstallと格闘するよりも楽だぞ。

157 :login:Penguin:04/06/08 15:43 ID:6tyORPCg
>>100
alien ー slackware,plamo 流の tgz から バイナリrpmを作成するツール



158 :login:Penguin:04/06/09 11:37 ID:7Bbb7z74
156がいい事言った。

159 :login:Penguin:04/06/26 04:42 ID:Fau6zZtP
>>145
赤星さんですか?

160 :login:Penguin:04/06/30 08:44 ID:v4g+Ho84
hoge って rpm をつくっていて、他の rpm に含まれてるファイルをいじる必要があって、
%post と %preun で /usr/bin/patch が必要になりました。

それで、PreReq: patch と書いたけれど、
rpm -e hoge patch とすると hoge,patch の順でアンインストールされるけど、
rpm -e patch hoge とすると patch が先にアンインストールされてしまって、
var/tmp/rpm-tmp.34596: /usr/bin/patch: そのようなファイルやディレクトリはありません
となって、preun での処理が失敗します。

インストール時は hoge patche でも patch hoge でも patch が先にインストールされて問題ありません。

アンインストール時の順番に影響するものってなにかありますか?
PreReq: patch に加えて、Requires: patch と書いてみてもダメでした。
環境は Vine2.6r4 で、apt-get remove でも patch が先になってしまいました。

161 :login:Penguin:04/07/06 22:24 ID://KMVL63
RedHat Linux9.0
PostgreSQL 7.4.3
ftp://ftp.sra.co.jp/pub/cmd/postgres/7.4.3/postgresql-7.4.3.tar.gz

どなたかお願いしますm(_ _)m



162 :login:Penguin:04/07/06 23:16 ID:smyET8Ni
>>161

どなたかお願いします、て
引き取ってくださいという意味?

163 :login:Penguin:04/07/06 23:24 ID://KMVL63
>>162
いや、作ってください、お願いしますって意味

164 :login:Penguin:04/07/06 23:31 ID:Q9/wR7+I
>>163
RedHat の PostgreSQL の src.rpm はどこにある?
古いバージョンの SPEC を書き直せばなんとかなるんじゃない?

165 :login:Penguin:04/07/06 23:40 ID://KMVL63
>>164
http://cgi2.html.ne.jp/~mini/postgresql_spec.zip

RHL9のCD中のpostgresql-7.3.2-3.src.rpmから取り出したspecファイルです。
今、中身を見てるんですが、さっぱりで・・・

166 :login:Penguin:04/07/07 03:17 ID:FfF3H9jC
>>165
Fedora Core 2 の postgresql-7.4.2 なら、SPEC ファイルの
修正なしで Redhat 9 で RPM を作ることができました。
こちらでまず試してみてはどうですか?

167 :login:Penguin:04/07/07 03:53 ID:9lTBkyff
>>166
今試してたんだけど、なぜかtcl-develとe2fsprogs-develが無いとダメってエラーが(;´Д`)
%{!?tcldevel:%define tcldevel 1} → %{!?tcldevel:%define tcldevel 0}
%{!?kerbdir:%define kerbdir /usr} → %{!?kerbdir:%define kerbdir /usr/kerberos}
に修正して再試行中。。

%{?build89:%define kerbdir /usr/kerberos}となってるんだけど、正常に認識してないっぽい(;´Д`)
修正無しの状態だと、

+ gcc -O2 -g -pipe -march=i386 -mcpu=i686 -I/usr/include/et -fpic -shared -o _pgmodule.so -I/usr/incl
ude/python2.2 -I../src/interfaces/libpq -I../src/include -I/usr/include -L../src/interfaces/libpq -lp
q pgmodule.c
In file included from /usr/include/openssl/ssl.h:179,
from ../src/interfaces/libpq/libpq-fe.h:33,
from pgmodule.c:31:
/usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory

みたいなエラーになるし・・

168 :167:04/07/07 04:06 ID:9lTBkyff
訂正

先頭に
%define build9 1
を追加して、
%{?build8:%define tcldevel 0} → %{?build89:%define tcldevel 0}
にして再試行中(;´Д`)

169 :167:04/07/07 04:22 ID:9lTBkyff
なんか知らないけど、うまくいきました。
ありがとうございましたm(_ _)m

170 :login:Penguin:04/07/10 03:17 ID:/SaxF3E8
%exclude っていうのを使うと、どういう利点があるですか?
エライ人、教えてつかーさい。

171 :login:Penguin:04/07/10 04:50 ID:Kc8CkSdp
>>170
詳しく知らんが
excludeつーくらいだからそれを除く、ってことじゃないの?

%file /2ch/*
%exclude /2ch/uma-

みたいに使うのかな?
ちゃんと知らないので適当に答えてみた


172 :login:Penguin:04/07/16 11:56 ID:25I0vw3T
>>170,171
%exclude マクロが定義されていなかったので、それを除くとして作りなおした事がある。

> %file /2ch/*
> %exclude /2ch/uma-

%file /2ch/*
で、すませると支障があるときに使う。

このような場合、%exclude マクロがないバージョンでのrpmに対応させるためには、
必要なものを全部書くか、
%install セクションで少し工夫しなければならないが、
%excludeマクロをうまく使うと、可視性が良くなって、わかりやすくなる。




173 :login:Penguin:04/07/21 17:35 ID:1y9jngOg
>>145
s/RedHat Package Manager/RPM Package Manager/
# 少なくとも今は。

174 :login:Penguin:04/08/16 15:27 ID:icY8qRIB
specファイルのSourceやPatchのURLからファイルをダウンロードする
ようなツールはありませんか?
rpm --evalとかじゃできないっぽいので…。

175 :login:Penguin:04/08/16 17:37 ID:bUzmG/81
>>174
よくわからんが、そのspecを取り出したsrc.rpmの中に入っているよ。
それともspecだけを入手したの?

176 :login:Penguin:04/08/17 02:08 ID:hWPoBCyJ
nosrc.rpm の事かな?

177 :login:Penguin:04/08/17 06:38 ID:QB1SEoak
>>175-176
自作のspec数十個あって、1つ1つ開いてマクロを展開しながら
ダウンロードするのが辛いので。
あと、specをそのまま他の人に渡してtarballは各自で落として
もらいたいってのもあります。

178 :login:Penguin:04/08/17 06:58 ID:PR1Kzzvk
>>177
> あと、specをそのまま他の人に渡してtarballは各自で落として
こっちは受けとった方の話だよね。自分ならspecもらえるだけで感謝するけど。
ダウンロードなんか大した手間じゃないし。

> 自作のspec数十個あって、1つ1つ開いてマクロを展開しながら
specまで書いておいて、どしてsrc.rpm作んないの?
src.rpmにしとけばtarballも一緒にしまい込めるでしょ。


179 :login:Penguin:04/08/17 13:04 ID:QB1SEoak
>>178
利用者がsubversionのリポジトリからチェックアウトして
ビルドすることを想定しています。
現時点で90近いspecファイルがあるので、1つずつ手動で取ってくるのは
現実的じゃありません(全specをビルドするのが前提)。

Mononga LinuxのOmoiKondaraが一番やりたいことに近そうなので、
これについて調べてみます。

回答してくれた方、ありがとうございました。

180 :login:Penguin:04/09/25 09:45:36 ID:2FJYePtf
くだ質で回答を得られなかったので、こちらで聞きます。
pstoeditをソースからのインストールでは問題がないが、rpmにすると実行ファイルが共有ライブラリを読まないため
困っています。make installの際に共有ライブラリへのリンクを張り直すようなのですが、rpmの場合はどうやってパ
ッケージのインストールの後にリンクを張り直したらよいか分かりません。
$ /sbin/ldconfig -p |grep libp2edrvstd.so
libp2edrvstd.so.0 (libc6) => /usr/lib/pstoedit/libp2edrvstd.so.0
libp2edrvstd.so (libc6) => /usr/lib/pstoedit/libp2edrvstd.so
という状態で
$ /usr/bin/pstoedit -help |grep libp2edrvstd.so
を実行しても何もヒットしません。しかし、rpmにパッケージングせずにソースからインストールした場合やrpmのビ
ルドした場所では共有ライブラリが読み込まれます。
$ rpm/BUILD/pstoedit-3.33/src/pstoedit -help |grep libp2edrvstd.so
とすると
idraw: Interviews draw format (EPS) (/home/hoge/rpm/BUILD/pstoedit-3.33/src/.libs/libp2edrvstd.so)
[以下略]
のように期待通りに表示されます。
pm/BUILD/pstoedit-3.33/src/pstoeditを/usr/bin/pstoeditにインストールして、/usr/lib/pstoedit/libp2edrvstd.so
を読み込ませるようにするにはどうすればよいのでしょうか。



181 :180:04/09/25 10:12:58 ID:2FJYePtf
続きです。環境はVine3.0です。SuSEなど他のディストリや私家版のpstoeditのspecを参照して
見ましたがこのあたりの問題は無視しているようです。そのため、対応形式がbuilt-inのみ(psf.
ps, debug, dump, gs, ps2ai)になっています。


182 :login:Penguin:04/09/25 10:32:51 ID:B6vG4xvt
>>180
まずはspecの中身を晒さないと。


183 :180:04/09/25 10:47:05 ID:2FJYePtf
>>182ありがとうございます。全てを貼ると冗長なので要点だけ。
Name: pstoedit
Version: 3.33
Source0: http://home.t-online.de/home/helga.glunz/wglunz/pstoedit/%{name}-%{version}.tar.gz
Source1: http://home.t-online.de/home/helga.glunz/wglunz/plugins/pstoedit_linux_plugins.tgz
[...]
%package devel
[...]
%prep
%setup -a 1
%build
%configure
%{__make}
%install
%makeinstall
%{__mkdir_p} %{buildroot}%{_mandir}/man1
%{__install} -m 644 doc/%{name}.1 %{buildroot}%{_mandir}/man1
%{__install} -m 775 lib/pstoedit/plugins_linux.so %{buildroot}%{_libdir}/pstoedit
for i in %{buildroot}%{_libdir}/*.la %{buildroot}%{_libdir}/pstoedit/*.la
do cp -p $i $i~
sed s:%{buildroot}::g <$i~ >$i
rm $i~
done


184 :180:04/09/25 10:48:28 ID:2FJYePtf
%post
/bin/grep -q /usr/lib/pstoedit /etc/ld.so.conf || \
echo /usr/lib/pstoedit >> /etc/ld.so.conf
/sbin/ldconfig

%postun
%{__perl} -p -i -e 's|/usr/lib/pstoedit||' /etc/ld.so.conf
/sbin/ldconfig

%files
[...]
よろしくお願いします。


185 :login:Penguin:04/09/25 16:18:10 ID:KeI0AADE
>>180-181 >>183-184
> make installの際に共有ライブラリへのリンクを張り直す
ってのが具体的にどんなことやってるのかを読み解いて
%makeinstall ってところを書き換えて処理するんじゃない?

普通に make install やったらだめだと思う。

186 :180:04/09/26 02:18:27 ID:9WttgLur
>>185 ありがと。そうなんだけど、ログから類推して
/bin/sh ../libtool --mode=link g++ -g -o libp2edrvstd.la -rpath /usr/lib/pstoedit drvlwo.lo drvrib.lo drvrpl.lo drvdxf.lo
drvjava.lo drvjava2.lo drvpdf.lo drvkillu.lo drvtext.lo drvsk.lo drvmpost.lo drvmma.lo drvlatex2e.lo drvpic.lo drvhpgl.lo
drvtk.lo drvgnplt.lo drvtgif.lo drvfig.lo drvidraw.lo drvsampl.lo -L. libpstoedit.la
とか


187 :180:04/09/26 02:19:20 ID:9WttgLur
g++ -shared -nostdlib /usr/lib/gcc-lib/i386-vine-linux/3.3.2/../../../crti.o /usr/lib/gcc-lib/i386-vine-linux/3.3.2/crtbeginS.o
.libs/drvlwo.o .libs/drvrib.o .libs/drvrpl.o .libs/drvdxf.o .libs/drvjava.o .libs/drvjava2.o .libs/drvpdf.o .libs/drvkillu.o
.libs/drvtext.o .libs/drvsk.o .libs/drvmpost.o .libs/drvmma.o .libs/drvlatex2e.o .libs/drvpic.o .libs/drvhpgl.o .libs/drvtk.o
.libs/drvgnplt.o .libs/drvtgif.o .libs/drvfig.o .libs/drvidraw.o .libs/drvsampl.o -Wl,--rpath -Wl,/usr/lib/pstoedit
-L/usr/lib/gcc-lib/i386-vine-linux/3.3.2/../../.. -L/usr/lib/gcc-lib/i386-vine-linux/3.3.2 ./.libs/libpstoedit.so -lstdc++
-lm -lc -lgcc_s -lc /usr/lib/gcc-lib/i386-vine-linux/3.3.2/crtendS.o /usr/lib/gcc-lib/i386-vine-linux/3.3.2/../../../crtn.o
-Wl,-soname -Wl,libp2edrvstd.so.0 -o .libs/libp2edrvstd.so.0.0.0
(cd .libs && rm -f libp2edrvstd.so.0 && ln -s libp2edrvstd.so.0.0.0 libp2edrvstd.so.0)
(cd .libs && rm -f libp2edrvstd.so && ln -s libp2edrvstd.so.0.0.0 libp2edrvstd.so)
これをspecに書くのではなく、もっとスマートな方法はないでしょうか。libp2edrvstd.so以外にも共有ライブラリ
がたくさんあるので。。


188 :login:Penguin:04/09/29 05:43:46 ID:6ffuRL/D
>>181
> 続きです。環境はVine3.0です。SuSEなど他のディストリや私家版のpstoeditのspecを参照して
> 見ましたがこのあたりの問題は無視しているようです。そのため、対応形式がbuilt-inのみ(psf.
> ps, debug, dump, gs, ps2ai)になっています。

Fedora Core 2で自家製ビルドですが、built-in以外にも対応してるようです。

> $ /usr/bin/pstoedit -help | grep libp2edrvstd.so
> ...
> idraw: Interviews draw format (EPS) (/usr/lib/pstoedit/libp2edrvstd.so)
> fig: .fig format for xfig (/usr/lib/pstoedit/libp2edrvstd.so)
> xfig: .fig format for xfig (/usr/lib/pstoedit/libp2edrvstd.so)
> ...

specの中では特に何も変わったことはしてません
(基本的に%configure, make, %makeinstallのみ)。

rpmでビルドした段階では、>>180と同様にビルドディレクトリ内のライブラリを指してます。

> $ rpm/BUILD/pstoedit-3.33/src/pstoedit -help | grep libp2edrvstd.so
> ...
> idraw: Interviews draw format (EPS) (/home/foo/rpm/BUILD/pstoedit-3.33/src/.libs/libp2edrvstd.so)
> fig: .fig format for xfig (/home/foo/rpm/BUILD/pstoedit-3.33/src/.libs/libp2edrvstd.so)
> xfig: .fig format for xfig (/home/foo/rpm/BUILD/pstoedit-3.33/src/.libs/libp2edrvstd.so)
> ...

%makeinstallがよきに取りはからってくれるんでしょうかね?


189 :180:04/09/29 12:03:46 ID:ELXbyaWE
>>188
ありがと。FC2のrpmのバージョンは幾つになっていますか?
Vine3.0はrpm-4.0.5-1vl8です。

190 :login:Penguin:04/09/29 12:17:08 ID:6ffuRL/D
rpm-4.3.1-0.3(FC2のデフォルトのやつ)です。


191 :180:04/09/29 12:24:32 ID:ELXbyaWE
>>190
ありがと。4.0 -> 4.3 の間にそんな便利な機能が付いたのかな。

192 :login:Penguin:04/09/29 13:00:57 ID:6ffuRL/D
本体のインストールは、%makeinstallがmake installを実行して、

/bin/sh ../libtool --mode=install /usr/bin/install -c pstoedit /var/tmp/pstoedit-root/usr/bin/pstoedit
/usr/bin/install -c .libs/pstoedit /var/tmp/pstoedit-root/usr/bin/pstoedit

のように行なわれてます。ここでlibtoolがpstoeditのリンク先を書き変えて
るはずですよね(よく知らないので間違ってたらごめんなさい)。


193 :login:Penguin:04/10/01 00:05:19 ID:YcbGdVOj
rpmって、4.0 -> 4.1で極端に重くなった?
Vine使ってみたら軽くて驚いた。RHはいつのまにか激しく重くなってたんだな。
rpmってゆうかdb4なのかな。

194 :login:Penguin:04/10/13 02:40:29 ID:2rQAnHsu
くだ質だけどRPMってもとはRed Hat Package Managerの略だよね。
今はRPM Package Managerに名称が変更されたけどそのRPMって
なに?って素朴な疑問なんだけど。
Red Hat Package Manager Package Manager?(w

195 :login:Penguin:04/10/13 06:05:11 ID:5yF3SOmC
>>194
GNU is Not Unixと同じだよ。


196 :login:Penguin:04/10/13 22:37:26 ID:nncxR37C
>>194
RPM は RPM Package Manager の略ですよ。

197 :login:Penguin:04/10/14 13:03:58 ID:wyCxSj6l
>>196
>>194の質問のポイントをはずしているよ。>>195が模範解答だと思われ。

198 :login:Penguin:04/10/14 13:04:24 ID:wyCxSj6l
あぁ、上げてしまった。

199 :login:Penguin:04/11/01 14:08:07 ID:IUJCgUG8
rpm-4.3.2 の %check ってどんなマクロですか.

200 :login:Penguin:04/11/02 05:16:10 ID:Jnk1h6Uo
RHL9つかってます。
netatalk 2.0.1ためしにRPMをつくってみようとおもいました。
しかし、configure: error: no acceptable C compiler found in $PATH
のエラーがでてしまいます。

ちなみに、%configureは
%build
%configure
--prefix=/usr/local --enable-redhat
make
です。なにか他に必要でしょうか?

201 :login:Penguin:04/11/02 05:16:47 ID:Jnk1h6Uo
RHL9つかってます。
netatalk 2.0.1ためしにRPMをつくってみようとおもいました。
しかし、configure: error: no acceptable C compiler found in $PATH
のエラーがでてしまいます。

ちなみに、%configureは
%build
%configure
--prefix=/usr/local --enable-redhat
make
です。なにか他に必要でしょうか?

202 :login:Penguin:04/11/02 06:14:40 ID:lUgrEbuh
>>200
> configure: error: no acceptable C compiler found in $PATH

RPM にする以前に、そのソースはふつうに make できたのか?

# PreReq とか BuildRequires とかちゃんと理解してないと
# rebuild するのが面倒な rpm をつくることになる。

203 :login:Penguin:04/11/02 13:01:39 ID:NrO/is9i
RPMってよく、develとか分かれて配布されているけど、
個人で、RPM作るときにも分けた方がいいですか?

204 :login:Penguin:04/11/02 13:13:15 ID:yL6JWkDD
>>203
配布するのでなければ、あなたの好きにどうぞ。何ならsourceをたくさんつけて、
巨大複合rpmを作ってもよし。

205 :login:Penguin:04/11/02 21:35:01 ID:sfPkbEXf
>>201
> しかし、configure: error: no acceptable C compiler found in $PATH
書いてあるとおりじゃないの?

206 :login:Penguin:04/11/02 22:10:43 ID:yL6JWkDD
rpmパッケージングしていて、ちょっと奇々怪々な現象に困っているので助けて下さい。
$ rpm -ql libgdal |grep lib
/usr/lib/libgdal
/usr/lib/libgdal.1
/usr/lib/libgdal.1.4.0
というようにlibgdal.1を含むlibgdalがインストールされています。
$ sudo rpm -ivh ~/rpm/RPMS/i386/gdal-1.2.2-0vl2.i386.rpm
エラー: 依存性の欠如:
libgdal.1 は gdal-1.2.2-0vl2 に必要とされています
rpm管理下でlibgdal.1はきちんとインストールされているのに、依存性のエラーが?



207 :login:Penguin:04/11/09 13:11:25 ID:HQ1hTsIR
mandarakeのSRPMをredhat(Fedora)でbuildしたいと思っているのですが、rpm-helperというパッケージ内のスクリプトを使うのであろうと思われる独自拡張らしき変数%pre_addusrなどのマクロを、手動でプリプロセスする手段をご存じの方いらっしゃったら教えてください。
素直にMandarakeを使えばよいのでしょうが、そうおっしゃらずにお願いします。


208 :207:04/11/09 13:41:35 ID:HQ1hTsIR
mandarakeのrpmのソースみます。スレッド汚してすいませんでした。


209 :login:Penguin:04/11/09 13:53:02 ID:xI/oBBhC
>>207
Mandrakeだ

210 :login:Penguin:04/11/09 15:05:09 ID:djcIs5Z+
ワロタ

211 :207:04/11/09 15:19:55 ID:HQ1hTsIR
>209
あれ、やっぱりそうですか。
ftp.riken.go.jp のディレクトリ名が「mandarake」だったので、「mandrake」じゃなくて「mandarake」だったのかーと思っちゃいました。rpmのソース見たら「mandrake」って書いてあったので、「ありゃ、間違えた」と思っていたところでした。


212 :login:Penguin:04/11/09 15:27:04 ID:xI/oBBhC
ftp://ftp.riken.go.jp/Linux/mandarake/

本当だ。

213 :login:Penguin:04/11/09 16:02:53 ID:cqFt3Vlt
>>212
ワラタ

214 :login:Penguin:04/11/15 19:46:41 ID:kB9km/h9
for i in `apt-cache pkgnames`; do apt-cache show $i |grep Maintainer ;done |grep '自分のメールアドレス' | wc -l


215 :login:Penguin:04/11/16 18:57:30 ID:NcsYTAEO
GNU is Not Unixi s Not Unix is Not Unix is Not Unix is Not Unix is Not Unix is Not Unix
is Not Unix is Not Unix is Not Unix is Not Unix is Not Unix is Not Unix is Not Unix

216 :login:Penguin:04/11/21 20:03:40 ID:VQuZ+65z
ぐぬぬぬぬぬぬぬぬぬぬぬぬぬぬ

217 :login:Penguin:04/12/21 01:06:40 ID:bEGcx2aB
RPMパッケージを作成しているのですが、どういうわけか eval? に依存する
パッケージが出来てしまいます。

:
PreReq: rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
Requires: hoge.0.1 hoge-devel.0.1 /bin/sh eval
:

パッケージ自体は作成されるのですが、インストールするときに

eval は munya に必要とされています。

とエラーが出てインストールできません。
--nodeps で無理やりインストールすればとりあえず動くのですが…

find-requires はいったい何をみて eval が必要だといっているんでしょうか?

ちなみにディストリビューションは Vine-3.0 です。


218 :login:Penguin:04/12/21 01:09:57 ID:EYUAJ9FT
>>217
エスパーを募集しているのでなければ、spec をどこかにうpしる。

219 :login:Penguin:04/12/24 05:27:08 ID:/MCGO3p3
eval ってbashの組込みコマンドなんじゃないの?
入ってるのがあたりまえだと思うんですけど

220 :login:Penguin:05/01/04 09:54:50 ID:QgcDWuhd
Requires, Prereq, BuildRequires, BuildPrereqなどでのバージョン指定の根拠となる情報って、どこを探せばいいのでしょうか?
specファイルでバージョンが指定されているから(場合によっては)エラーが出るわけですが、
ではなぜそのバージョン(以降)でなければならないのか、といった情報はソース等のどこで確認すればよいのだろうかと。

221 :login:Penguin:05/01/04 10:11:05 ID:ZQ6Tj3Xp
>>220
経験と勘。似非職人の世界でし。

ソフトによるけど、(ある機能のサポートを外してもいいのであれば)
外してみてもいいんじゃないかと思う。

222 :login:Penguin:05/01/05 09:24:04 ID:18TK9aow
>>220
README や INSTALL, configure を読む。

223 :login:Penguin:05/01/05 09:24:40 ID:LBpiq6Ef
configure より configure.{in,ac} じゃねーか?

224 :login:Penguin:05/01/28 16:36:50 ID:hLcnqyW0
いままでrpm-modeと思って使っていたもの(Shell 何とか[rpm])は、rpm-modeではな
かったようだ。本物のrpm-modeを入れたら強烈にラクチンだった。今までの俺って orz


225 :login:Penguin:05/02/03 21:48:28 ID:VhVxZiHg
>>217
実行属性のついたシェルスクリプト。


226 :login:Penguin:05/02/10 09:28:36 ID:UHvPf+P5
すみません。ちょっと教えてください。
RPMデータのみあったとして、そのspecファイルの内容を見ることはできるのでしょうか?
できないとは思うんですけど…もしかしてできたりします?

227 :login:Penguin:05/02/10 09:52:51 ID:3A0OW5wm
>>226
普通はSRPMでないRPMにSPECファイルは入れないので、出来ない。

228 :login:Penguin:05/02/10 09:56:24 ID:tLOdBQ4i
SRPMならrpm -iでspecとソース一式が%_topdir以下に入る。
後は好きなように弄り回してrpmbuildでも何でも出来る。

binaryのRPMはspecの中身を見ることはできないけど、
rpm -qp --scripts momimomi.rpm
で、インストール、アンインストール時に実行するスクリプトは表示できる。


229 :login:Penguin:05/02/10 10:02:36 ID:UHvPf+P5
>>227-228
ですよね。そのシステム環境に適合するRPMデータがあったとしても、
specファイルを確認したい、場合によってはリビルドして入れたいということがあると思うのですが、
やはりSRPMデータなくしてspecファイルの内容は確認できませんよね。
ありがとうございました。

230 :login:Penguin:05/02/10 19:52:20 ID:jGutS7SU
>>229
いや、ある程度はできる
ttp://www.barabanov.ru/proj/rpm2spec
ただし、日付に日本語が入ってしまうので、
# LANG=C rpm2spec hgoehoge.rpm > hogehoge.spec
とすること

231 :login:Penguin:05/03/14 01:09:40 ID:WwdKdJuJ
src.rpm なファイルを展開したい時、どうやるのが手っ取り早いでしょ
う?

私は、こんな↓感じでやっているのですが、もっとすっきりした方法は
ないものでしょうか?

$ cd /tmp
$ mkdir BUILD SOURCES SPECS
$ rpm --define "_topdir `pwd`" -i ${pkgfile}
$ rpmbuild --define "_topdir `pwd`" --nodeps -bp SPECS/*.spec || rpmbuild --define "_topdir `pwd`" --nodeps --target=i686 -bp SPECS/*.spec


232 :login:Penguin:05/03/14 02:34:55 ID:f4OaHYK/
>>231
ホームディレクトリに"rpm"とか"redhat"とか適当な名前のtopdirを作ってお
いて、その下にBUILD RPMS SOURCES SRPMS SPECSを作っておきます。(これら
のディレクトリはしょっちゅう使うので、作っておいたまま消さない)
~/.rpmmacrosには
%_topdir /home/foo/rpm
%_tmppath /var/tmp
%_rpmtopdir %{_topdir}/%{name}
と書いておきます。こうしておくと
$ rpmbuild -i bar.src.rpm
だけで、specは/home/foo/rpm/SPECに、ソースファイルは/home/foo/rpm/SOURCES
に展開されます。


233 :login:Penguin:05/03/14 05:45:27 ID:bsFYPQWA
>>231-232
他のディストリでちゃんと動くか知らないけど、
Vine の vutils って rpm に mkrpmdir ってスクリプトがあります。
mkrpmdir ~ とやると、
%_topdir と %packager を ~/.rpmmacros に書き込んで、
~/rpm/BUILD ~/rpm/SOURCES ~/rpm/SPECS ~/rpm/SRPMS
~/rpm/RPMS/noarch ~/rpm/RPMS/i386 ~/rpm/RPMS/i586 ~/rpm/RPMS/i686
を作ってくれます。
簡単に ~/rpm 以下のディレクトリを作れるので、けっこう便利です。

ビルド時の --target=i686 の指定も、~/.rpmmacros になんか設定書いておけば
省略出来そうな気がするけど、分かりません。

234 :login:Penguin:05/03/16 12:37:34 ID:zQujFZYD
age

235 :login:Penguin:05/03/16 19:42:44 ID:WEPzJzA3
httpd-2.0.53.tar.gz をインストールするのに必要だと言われたため、
apr-1.1.0.tar.gz を落としてきて、

$rpmbuild -ta apr-1.1.0.tar.gz

で rpm を作成しようと思ったんですが、

RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.8821 (%build)

と言われてしまいます。
この /var/tmp/rpm-tmp.8821 っての、
勝手に削除しちゃってもいいんでしょうか?

236 :login:Penguin:05/03/16 20:42:06 ID:xcO5JQtk
>235
spec ファイルをデバッグしないなら、消して構わない。

237 :235:05/03/16 20:58:19 ID:WEPzJzA3
>>236
ありがとうございます。
一旦削除してからもう一度やってみましたが、やはり

/var/tmp/rpm-tmp.17575: line 54: fg: no job control
error: Bad exit status from /var/tmp/rpm-tmp.17575 (%build)


RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.17575 (%build)

と言われてしまいました。
該当のテンポラリファイル /var/tmp/rpm-tmp.17575 の54行目には、

%check

としか書き込まれていません。

spec ファイルのデバッグ、というのはどのようにすればいいのでしょうか?

やはりこのへん↓
http://www.google.co.jp/search?q=rpm+spec+%E3%83%87%E3%83%90%E3%83%83%E3%82%B0&start=0&start=0&hl=ja&lr=lang_ja&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:ja-JP:official
から勉強しないといけませんね。

238 :login:Penguin:05/03/16 23:58:57 ID:V9z55zlo
>>237
>spec ファイルのデバッグ、というのはどのようにすればいいのでしょうか?
httpd-2.0.53.tar.gz から httpd.spec を取り出して ~/rpm/SPEC において、
httpd-2.0.53.tar.gz を ~/rpm/SOURCES において、
spec ファイルから build する。
--short-circuit とか使いながら -bc とか -bi とか順にやっていって、
引っかかったら spec を直すと。

> /var/tmp/rpm-tmp.17575: line 54: fg: no job control
> error: Bad exit status from /var/tmp/rpm-tmp.17575 (%build)
とりあえず、%build でエラーになってるみたいだから、
rpmbuild -bc httpd.spec 2>&1 | tee bp.log
とかやってみればいいかと。
もうちょっと前になんかもっと大事なエラーメッセージが出てそうな気もするけど。

使ってるディストリビューションで用意されてるパッケージの spec も見たほうがいいと思う。

ttp://www.linux.or.jp/JM/html/rpm/man8/rpmbuild.8.html
--showrc とか でマクロがどうなってるチェックするのとかも必要かも。

239 :235:05/03/17 02:20:42 ID:gC8u5PES
>>238
丁寧にありがとうございます。
すみませんが、明日というか今日の早朝から数日間家を空けるので、
再開は週明けからになると思います。
戻って来たらアドバイスいただいたことを試してみたいと思います。

240 :login:Penguin:05/03/17 17:53:11 ID:MYoA17yN
rpm自体のバージョンが古くて%check非対応とかの予感。

241 :login:Penguin:05/03/18 12:19:57 ID:x5kfc3Qj
>>231

rpm2cpio hoge.src.rpm | cpio -idm

242 :235:05/03/20 09:10:36 ID:7RtkTiX5
>>240

$ rpm -qa | grep rpm
rpm-build-4.1-1.06
rpmdb-redhat-8.0-0.20020910
rpmlint-0.60-0.fdr.1.rh80
rpm-python-4.1-1.06
rpm-4.1-1.06
redhat-rpm-config-8.0-1
rpm-devel-4.1-1.06
rpm404-python-4.0.4-8x.27
librpm404-4.0.4-8x.27
librpm404-devel-4.0.4-8x.27
rpm2html-1.7-8

古すぎますかね?

243 :240:05/03/20 13:26:29 ID:0berZzSr
4.1 -> 4.2:
- add %check scriptlet to run after %install (#64137).
ということで、%checkは4.2以降の機能。

244 :235:2005/03/21(月) 21:29:58 ID:NVWhmt+W
>>243
ありがとうございます。
なるほど。

こちらの使っている環境は Redhat8 なんですが、
http://download.fedora.us/fedora/redhat/8.0/i386/RPMS.os/ にある rpm は、
>>242 で書いたように rpm-4.1-1.06 で打ち止めのようです。

http://download.fedora.us/fedora/redhat/9/i386/RPMS.os/ にある
Redhat9 用の rpm-4.2-0.69 あたりを
強引に突っ込んでも問題出ないんでしょうかねぇ、、、

245 :login:Penguin:皇紀2665/04/01(金) 22:13:55 ID:jmD04yJB
>>235
他のプログラムをrpm化するときに、同じようなtmp〜のようなエラーが出ていた。

rpm化は諦めて、手動インストールしようとドキュメントを読んでいたら、他のrpmが必要だということで、
そのrpm(openssl-devel-0.9.7a-33.12.i386.rpm他)をインストールして、手動インストールしてみた。

で、その直後にもう一度rpm化を試したら今度は通った!!

だから、そのtmp〜っていうエラーは依存関係の問題かもしれないので、
よくドキュメントを読んでみては?

246 :login:Penguin:2005/06/26(日) 00:24:36 ID:/USjl/Oi
php-4.3.9-3.6.src.rpm のspecを利用してphp-4.3.11.tar.gzを
インストールしようと思います。

rpm -i php-4.3.9-3.6.src.rpm

SOURCE/ へ php-4.3.11.tar.gz を移動
php.spec のバージョンの書き換え
php.spec のpatchの無効化

rpmbuild -ba php.spec 

上記でrpmのビルドを行いましたが、ビルドでエラーになります。
patch を無効化したことがまずいのでしょうか

247 :login:Penguin:2005/06/26(日) 01:20:11 ID:eav5hmc+
>>246
>ビルドでエラーになります。
ただ今エスパー氏は不在。

248 :246:2005/06/26(日) 01:49:03 ID:/USjl/Oi
php-4.3.9-3.6.src.rpm の patch は php-4.3.11.tar.gz
に適用できないんでしょうか。

249 :login:Penguin:2005/06/26(日) 02:27:42 ID:ZWBgDAYC
>>248
そもそもphp-4.3.11のmakeは通るの?
そこでコケるのならくだ質とか使ってるディストリのスレで訊いたほうがいい。

つか、php-4.3.11のsrpmならググれば結構引っかかるけどな…
それを自環境に合わせて修正するのじゃダメなのか

250 :login:Penguin:2005/06/26(日) 02:56:15 ID:eav5hmc+
>>248
まず「php-4.3.9-3.6.src.rpm」といってもモノはひとつではない。
patchといっても1つじゃなくて20個ぐらいあるだろ?
全部はphp-4.3.11.tar.gzには当たらない
というかphp-4.3.11では既に不要なpatchがいっぱいある筈。

251 :login:Penguin:2005/06/26(日) 02:57:56 ID:eav5hmc+
あと>>247の意味を理解して欲しいのだが。

252 :login:Penguin:2005/06/26(日) 15:12:45 ID:+cLoHgEN
すみません。
Centos4をつかってます。
http://rpm.pbone.net/ で探しましたが、php-4.3.11のCentパッケージは
ありませんでした。

php-4.3.11.tar.gzをmakeしては通ります。しかしspecと手動makeでは
./configureの指定がだいぶ異なります。
Centのspecではbuild()と関数化して行っているようです。
いままでmake か checkinstallを使用してインストールを
行っていたのですが、インストール先をredhatにあわせたほうが良いので
rpmに挑戦したのです。

エラー内容ですが、
creating reloadable object files...
creating a temporary reloadable object file: ext/domxml/.libs/ext/domxml/domxml.la-1.o
/usr/bin/ld: cannot open output file ext/domxml/.libs/ext/domxml/domxml.la-1.o: No such file or directory
make: *** [ext/domxml/domxml.la] エラー 1

domxml.la-1.oは作られていないようなんです。

253 :login:Penguin:2005/06/26(日) 16:02:02 ID:JD/WWY4F
>>252
fedoraのじゃダメかね php-4.3.11
ttp://download.fedora.redhat.com/pub/fedora/linux/core/updates/3/SRPMS/

254 :login:Penguin:2005/06/26(日) 17:46:23 ID:+cLoHgEN
>>253
ためしに、fedora3をダウンロードしてspecを確認しました。
そしたら、RHEL(Centos)と違う部分がありました
(たとえば下)
PEARのパッケージです。
Source20: http://pear.php.net/get/DB-1.7.5.tgz
Source21: http://pear.php.net/get/HTTP-1.3.5.tgz
Source22: http://pear.php.net/get/Mail-1.1.4.tgz
Source23: http://pear.php.net/get/XML_Parser-1.2.6.tgz
Source24: http://pear.php.net/get/Net_Socket-1.0.6.tgz
Source25: http://pear.php.net/get/Net_SMTP-1.2.6.tgz

また、素朴な疑問です。
php-4.3.11 は普通のmake & installできますが
なぜspecでは php-4.2.2-lib64.patch
こんなに古いパッチを当てるのでしょうか。
このような指定が数箇所あります。

いまビルド中です。

255 :login:Penguin:2005/06/26(日) 19:58:24 ID:JD/WWY4F
PHPのことはくだ質かCentスレで。

要らないパッケージの部分はコメントアウトすればいいんでない?
%files <パッケージ名> のセクションを見れば、そのパッケージの構成が分かるから、
そこを見ながら%setup〜%installから要らない部分を削っていく。

ファイルの配置は rpmbuild -bi でbuildroot以下に仮インストールできるから、
それでconfigure のオプションや make install に渡す環境変数を調整していく。
ビルドし直すまでもない修正のときは--nobuiidを付ける。
俺の場合はこんな感じで作業してるけど。

256 :login:Penguin:2005/08/15(月) 09:44:17 ID:Dh2nyB7V
php-4.3.11のrpmを作成したくspecファイルについてお聞きしたいのですが、
php-imapパッケージが生成されずに困っています。
行頭には以下の記述があるのですが、どうも with_imapが0に設定されているようなのです。
%define contentdir /var/www
%define with_oci8 %{?_with_oci8:1}%{!?_with_oci8:0}
%define with_mssql %{?_with_mssql:1}%{!?_with_mssql:0}
%define with_mhash %{?_with_mhash:1}%{!?_with_mhash:0}
%define with_imap %{?_with_imap:1}%{!?_with_imap:0}

この部分がマクロであることは分かるのですが、_with_imapがどのように判断されて1か0かに
設定されているのかがよく分かりません。 勝手に1に設定しちゃってもいいものなんでしょうか?
お分かりになる方がいらっしゃればよろしくお願いします。
ちなみにimap関係のパッケージは以下のものが既にインストールされています。
imap-2001a-10
imap-devel-2001a-10

257 :login:Penguin:2005/08/15(月) 11:02:42 ID:Dh2nyB7V
自己レスです。
rpmbuild --define "_with_imap 1"

で作成できました。 お騒がせしました。

258 :login:Penguin:2005/08/15(月) 21:37:10 ID:xQpAXLUC
ただリビルドするだけの時に--defineを使うのは正しいのか?
rpmbuildのヘルプにあるのは--with=とか--without=だけど。

まあ俺はwithoutじゃなくてspec書き換えてるけど…

259 : ◆/UXtw/S..2 :2005/08/16(火) 15:47:59 ID:Vn0puH61
>>258

rpmbuild のヘルプをちゃんと読んだか?

Options implemented via popt alias/exec:
--dbpath=DIRECTORY use database in DIRECTORY
--with=<option> enable configure <option> for build
--without=<option> disable configure <option> for build

popt による alias と書いてあるだろ。正しいも正しくないも、
やってることは一緒なわけだが。popt が分からなかったら、
とりあえず

/usr/lib/rpm/rpmpopt-<rpmのバージョン>

でも読んでおけ。


260 :login:Penguin:2005/10/21(金) 15:09:28 ID:ugQ65p6N
yoper linuxのサイトにspecのひながたとrpmbuildの
スクリプトがある。これはすごい簡単。suseで
インストールのディレクトリを/usr/src/package/RPMS/i686
に指定してまとめてインスコできるか試してます

261 :login:Penguin:2006/06/11(日) 22:38:14 ID:cW+uyL68
%prep %setup %patch を飛ばして %build からテストしたいのですが、可能ですか?

262 :login:Penguin:2006/06/11(日) 22:42:16 ID:UdaIvYnC
short-circuit

263 :login:Penguin:2006/07/06(木) 03:11:44 ID:sbcTXFsT
http://www.linux.or.jp/JF/JFdocs/RPM-HOWTO-6.html

264 :login:Penguin:2006/07/06(木) 07:53:46 ID:jwQED/TG
誰か CentOS4.3 用 Apache2.2 系の RPM 作成をお願いしまーす。

265 :login:Penguin:2006/07/06(木) 15:25:43 ID:5XYo67aq
>>264
バーカ

266 :login:Penguin:2006/12/12(火) 18:31:21 ID:lKiUJVj/
rpmでパッケージできるSourceの最大サイズはどこかに書いてある?
電子辞書データを自分専用にrpm化しておきたいのだけど、2GBまでなら大丈夫かな?

267 :login:Penguin:2007/02/13(火) 13:30:40 ID:ec1JRjDY
rpmbuildの-short-circuitってなぜ-bc と-bi だけなんでしょうね。
(少なくともrpm 4.3.3ではそう)パッケージングも出来れば
-bpをした後ちょこっとソースを変更してパッケージをビルドとか出来て
便利だと思いません?

268 :login:Penguin:2007/02/13(火) 14:50:56 ID:g40J6Ywy
>>267
その方法だと -bp の後のソースの変更部分を src.rpm に取り込めないから不便。
あとで同じことをやる時にも手作業しなきゃならないから
src.rpm とは別にどこを変更したのかとかを残しておく必要が出てくる。
極端な言い方だけどそんな不完全なパッケージなら作る意味がない。

ビルド中にソースに変更が加えられるとかってなると
パッケージのバージョンとかリリースとかが意味の無いものになってしまう。

ソースに変更加えるなら patch を作って spec に書いて src.rpm に入れるべき。
そうしないのであれば make install するか
checkinstall で適当なリリース番号とかつけてインストールすべき。

SPEC を工夫すれば define とか with,without とかで
rebuild 時になんらかの情報を付け足すこともできる。

269 :login:Penguin:2007/02/13(火) 15:47:42 ID:VnTofYnD
>>267
だよね、でも何故か、-bp,-bc,-bi,-bl,-bbと順にできてしまったことが
あるようなないような、記憶違いか、なにかか?-blなんてあったっけか?w

270 :login:Penguin:2007/02/14(水) 10:36:18 ID:2LebhKkc
>>268
> src.rpm とは別にどこを変更したのかとかを残しておく必要が出てくる。
> 極端な言い方だけどそんな不完全なパッケージなら作る意味がない。

想定したのはちょっとしたデバッグ目的です。どうにも挙動が不明なパッケージが
あってちょっとsyslog()やprintfをはさんでみてインストールしてみて動作確認を
するなど。

> そうしないのであれば make install するか

それもそうですね。けどターゲットに開発環境が無い場合にはちょこっとRPMが
作れれば便利だなと思いました。


271 :login:Penguin:2007/02/16(金) 00:09:10 ID:cIm5BEYP
>>267
ちょこっとソースを変更してコンパイルをしたあと
%prep
%setup

%build
CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{prefix}
make

%install
rm -rf $RPM_BUILD_ROOT

%prep
%setup -T -D

%build

%install
rm -rf $RPM_BUILD_ROOT
の様に変更し、rpmbuild -bbしてパッケージングではダメ。


272 :268:2007/02/16(金) 01:05:55 ID:bK5AnHCm
>>267 >>270 もう一個 spec 書けばいいだけのことのような気がする。
もとの hoge.spec で $rpm -bi hoge.spec 。
必要なファイルは /var/tmp/hoge-ver-root とかにインストールされてるはずだから
どこか適当なところで mkdir gehogeho-1
cp -pr /var/tmp/hoge-ver-root/* gehogeho-1/
tar czf gehogeho-1.tgz gehogeho-1/
cp gehogeho-1.tgz ~/rpm/SOURCES/

***gehogeho.spec***

Source0: gehogeho-1.tgz

%prep
%setup -q
%install
cp -pR * %{buildroot}
%files
/*
これでとりあえずgehogeho-1.tgzの中身が全部入るはず。

85 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)