1 :
login:Penguin :
02/10/12 14:56 ID:JJtJdOQ0
2get.i386.rpm
3get.i386.rpm
4get.i686.rpm
IDにrpmが出るまで頑張るスレはここですか?
6get.i386.rpm
9 :
login:Penguin :02/10/12 20:29 ID:nRxvn2NR
age忘れた
10get.i386.rpm
11get.noarch.rpm
12 :
login:Penguin :02/10/13 03:42 ID:KrauaeCC
12
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ファイル作成支援ソフトってないの?
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 の実行に失敗 ってなメッセージがでて、インストールできません。 このエラーメッセージについて解説とかされてるページってありますか?
20get.i686.rpm
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
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 コマンドについて、調べてみることにします。
とりあえず %preでmkdir なんかするのやめれ 最初は他人の書いたspecお手本にしてパクれ。あんたヤバすぎ
29get.i686.rpm
>>27 とりあえず
>>1 のリンクにある文章を良く読んでみることを
お薦めします。
31get.i386.rpm
32 :
19 :02/10/25 16:27 ID:VoziM/9t
>>28 >%preでmkdir
>なんかするのやめれ
これって不要ですか?
bash で動かしてたシェルスクリプトを SPEC に書き直したって形なので、
いろいろ SPEC あさって基本的なところから勉強してみます。
>>30 まだ軽く目を通した程度なので、これからしっかりと読んでみます。
33get.ppc.rpm
>>32 >
>>28 > >%preでmkdir
> >なんかするのやめれ
> これって不要ですか?
不要です。
> いろいろ SPEC あさって基本的なところから勉強してみます。
それがいいと思います。まずはMaximum RPMからどうぞ。
35get.alpha.rpm
アーキテクチャ依存バイナリ量産スレはここですか。
37get.s390.rpm
38 :
login:Penguin :02/10/25 23:20 ID:MPp++zFp
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
っていうところ以外は特に目立った違いは無かったです。
rpm -ivh rpm -ivvh ちがいは画面に出力される情報の量だけで動作は同じなはず。 $ man rpm して /-vv で当該のオプションの説明を見るべし。 >なぜインストールできたのかわかりません rpm作るのは勝手だけどそれを人に配るとかしないように。
42get.i286.rpm
43 :
19 :02/10/26 13:48 ID:Y9mSORQQ
>>41 >ちがいは画面に出力される情報の量だけで動作は同じなはず。
>$ man rpm して /-vv
>で当該のオプションの説明を見るべし。
そのへんは、27 を書き込む段階で、もう man とかみてたからわかってたんです。
日本語でヘルプでてきたし。
情報量の違いだけのはずなのに、インストールできたのがわからないんです。
なんかやらかして、 rpm の動作がおかしくなっちゃたのかな。
44get-ximian.i686.rpm
kernelを再構築してRPMでインストールしたいのですが、 kernelのRPMの作り方がわかりません。 どのように作成すればいいのでしょう?
46get.m86k.rpm
ftp.gnu.org:/gnu/grep/grep-2.5-1.src.rpm だれか、このgrepをRPMした人いますか?
50get.ia64.rpm
51 :
login:Penguin :02/11/12 03:33 ID:njpLkln3
erojpgdown-0.11-3-1.i386.rpm
ballistic-calc-1946-0215.eniac.rpm
ese-windows-5.00.2195-i386.rpm
>>53 だがeniacではインストールはどうやっても手動だ(w
>>53 だがeniacではインストールはどうやっても手動だ(w
ブラウザの調子がわるくて書き込み失敗したとおもって繰り返してもーた。スマヌ。
59 :
名無しさん :02/11/18 12:51 ID:bWmkhLVp
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
63 :
login:Penguin :03/01/07 16:55 ID:jAoI9O7Q
>>62 ページを見てないので、何とも言えないけど、
spec がなかったら、どうやってメンテナンスするの?
64 :
login:Penguin :03/01/07 17:15 ID:odDJao2L
65 :
login:Penguin :03/01/07 23:17 ID:445OY7S+
>>63 使ってみた。
結局、specファイルは作る。
ヘッダのとこだけ自分で入力。スクリプトとかは自動で作ってくれる。
かなり楽。( ゚∀゚)アヒャ
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を提出することがある。
なんでも俺を実験に使うそうで
>307 どうせただのテキストファイルなんじゃないの。
なんだコピペかよ(^^;
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
73 :
498 :03/02/17 16:27 ID:+1GxSOcB
>>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ファイルの書き方を修得するのは数ヶ月ぐらいかかるんでしょうか?
>>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配布されている パッケージすべてにおいて、コンパイルオプションを知る方法があるのなら 知りたいです。
>>81 SRPMの中身見れば?
specとconfigure見れば大体分かると思うけど。
83 :
login:Penguin :03/04/12 08:18 ID:ig7oBkvx
RedHatLinux7.2のsamba作ってくれよー
Vine 用の src.rpm 取ってきて --rebuild 汁。
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 / とか入ってたり・・・(+д+)
--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も流そっと。
>>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
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
∧_∧ ∧_∧ ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。 =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕 = ◎――――――◎ 山崎渉&ぼるじょあ
96 :
山崎 渉 :03/08/15 23:26 ID:dil3w4kp
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
質問です。 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
>>97 本当はなんかやりかたあるのかもしれんが、てけとーな回避策。
echo "/usr/lib/rpm/find-requires | egrep -v libsomething.so" > /tmp/fr
chmod +x /tmp/fr
%__find-requires /tmp/fr
>>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のようにコマンドでインストールをおこないます。」とありましたが、さっぱりわかりません。どこに打ち込めばいいのでしょうか?
>>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を押すとどの文字を打っても四角の枠が打ち込まれます。
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'. どう対応したらいいのかわからないので解る人教えて下さい。
>>110 Google 様に聞いてみたり、ドキュメントを読んでみたり、
違うバージョンを試してみたりする事ができないような馬鹿が
無理する必要はないんじゃないですか?
>>111 まあまあ。落ち着けよ。
>>110 Remember to add `AC_PROG_LIBTOOL' to `configure.in'.
113 :
screen@作成中 :03/10/31 08:33 ID:Hgy94LpE
114 :
screen@作成中 :03/10/31 09:01 ID:Hgy94LpE
115 :
screen@作成中 :03/10/31 09:52 ID:Hgy94LpE
116 :
login:Penguin :03/10/31 16:26 ID:7CFvfgMW
どこかからベースとなる .spec を持って来たんでしょ? だったら、Initial build じゃねーだろうが。
>>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/* が削除されそうで怖い。
他のアプリと共通のディレクトリを使う場合には、
具体的なファイル名にしておいてほしい。
>>117 > %files の %{_bindir}/* って書かれてると /usr/bin/* が削除されそうで怖い。
その書き方は、いろんな rpm で使われているようですが。
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
>>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 そのものには特にツッコミ入らなかったみたいだし。完成おめでとう。
#今後のソースの更新にあわせたバージョンアップとかもがんばってください。
公開する場合は問題でしょう。
126 :
screen@作成中 :03/11/02 00:05 ID:YinYUYa6
>>125 >公開する場合は問題でしょう?
redhatが問題だっていってたの?
それならchangelogの変更ぐらいいくらでもするけど
123でも言ったようにchangelogにredhatの名前をだすほうが
redhatは迷惑に思うんじゃないかな?
ここにspecファイルを公開したのは
私の作ったspecファイルを自分以外の誰かに評価してもらいたかったからで
redhatのspecファイル丸写しだったらわざわざここで評価してもらう必要はないです。
RedHat に迷惑がかかるなんてことはありえない。 changelog の先頭に最終更新者の名前を書くという慣行があるわけだから、 誰がいじったパッケージかは自明なわけです。 rh な rpm をバラして patch を drop したと聞けば、 派生物であるという認識しかできませんよね? なにか解釈間違ってますか?
128 :
screen@作成中 :03/11/02 00:21 ID:YinYUYa6
patchを落しただけじゃないから わざわざここで評価してもらってたの
つか、changelogなんて著作権表示じゃないんだから 削ったって問題ないにきまってんじゃん まぁ、有った方がわかりやすいけど 長いとウザイし
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を作るしかないのかな?
>>132 sbit についてよく分かってないけど。
sbit をたてる処理を
[pre,post]install script とかに書いてもだめですか?
>>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
138 :
login:Penguin :04/01/11 23:13 ID:XkTcZwk7
139 :
sage :04/01/27 12:49 ID:sR4svUSa
バイナリrpmからソースrpmってできないですよね? 普通に考えたらできないのはわかるのですが、 もしもそんなことをご存知の方がいたら教えてください。
141 :
login:Penguin :04/01/27 16:01 ID:8Y1SuBnZ
だれか、GworkspaceとGNUMailをrpmで作ってください。
RPMパッケージを作りたいのでredhat PRESSのRed Hat RPM Guideを買おうかと思っています。 この本はRPMパッケージを作りたいだけの私にとって買いなのでしょうか?
144 :
142 :04/01/31 18:39 ID:ZaQKaUKE
RPM Version3とVersion 4でのSPECファイルの内容に違いはあるのでしょうか? あまりないのでしたらネットでの情報で十分そうです。
>>145 Vine の mkrpmdir は
mkrpmdir /home/username/rpm ではなく、mkrpmdir /home/username にしないと、
/home/username/rpm/rpm/SPECS とかが作られてしまう。
%_topdir が ~/rpm なら mkrpmdir ~ でいい。
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 ファイルにしても まったく同じ反応です. なぜなのでしょうか?
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以下にインストールしたプログラムなどが依存ファイルと して挙げられる場合もあり、それも阻止したいなと。
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
>>155 悪いことはいわんから、オフィシャルなRHのspecをもらってきて、それを土台に好きに編集した
方が、checkinstallと格闘するよりも楽だぞ。
>>100 alien ー slackware,plamo 流の tgz から バイナリrpmを作成するツール
156がいい事言った。
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
>>161 どなたかお願いします、て
引き取ってくださいという意味?
163 :
login:Penguin :04/07/06 23:24 ID://KMVL63
>>162 いや、作ってください、お願いしますって意味
>>163 RedHat の PostgreSQL の src.rpm はどこにある?
古いバージョンの SPEC を書き直せばなんとかなるんじゃない?
165 :
login:Penguin :04/07/06 23:40 ID://KMVL63
>>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
%exclude っていうのを使うと、どういう利点があるですか? エライ人、教えてつかーさい。
>>170 詳しく知らんが
excludeつーくらいだからそれを除く、ってことじゃないの?
%file /2ch/*
%exclude /2ch/uma-
みたいに使うのかな?
ちゃんと知らないので適当に答えてみた
>>170 ,171
%exclude マクロが定義されていなかったので、それを除くとして作りなおした事がある。
> %file /2ch/*
> %exclude /2ch/uma-
を
%file /2ch/*
で、すませると支障があるときに使う。
このような場合、%exclude マクロがないバージョンでのrpmに対応させるためには、
必要なものを全部書くか、
%install セクションで少し工夫しなければならないが、
%excludeマクロをうまく使うと、可視性が良くなって、わかりやすくなる。
>>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だけを入手したの?
nosrc.rpm の事かな?
>>175-176 自作のspec数十個あって、1つ1つ開いてマクロを展開しながら
ダウンロードするのが辛いので。
あと、specをそのまま他の人に渡してtarballは各自で落として
もらいたいってのもあります。
>>177 > あと、specをそのまま他の人に渡してtarballは各自で落として
こっちは受けとった方の話だよね。自分ならspecもらえるだけで感謝するけど。
ダウンロードなんか大した手間じゃないし。
> 自作のspec数十個あって、1つ1つ開いてマクロを展開しながら
specまで書いておいて、どしてsrc.rpm作んないの?
src.rpmにしとけばtarballも一緒にしまい込めるでしょ。
>>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)になっています。
183 :
180 :04/09/25 10:47:05 ID:2FJYePtf
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 [...] よろしくお願いします。
>>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です。
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のリンク先を書き変えて るはずですよね(よく知らないので間違ってたらごめんなさい)。
rpmって、4.0 -> 4.1で極端に重くなった? Vine使ってみたら軽くて驚いた。RHはいつのまにか激しく重くなってたんだな。 rpmってゆうかdb4なのかな。
くだ質だけどRPMってもとはRed Hat Package Managerの略だよね。 今はRPM Package Managerに名称が変更されたけどそのRPMって なに?って素朴な疑問なんだけど。 Red Hat Package Manager Package Manager?(w
>>194 GNU is Not Unixと同じだよ。
>>194 RPM は RPM Package Manager の略ですよ。
197 :
login:Penguin :04/10/14 13:03:58 ID:wyCxSj6l
あぁ、上げてしまった。
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 です。なにか他に必要でしょうか?
>>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作るときにも分けた方がいいですか?
>>203 配布するのでなければ、あなたの好きにどうぞ。何ならsourceをたくさんつけて、
巨大複合rpmを作ってもよし。
>>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
ワロタ
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
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
ぐぬぬぬぬぬぬぬぬぬぬぬぬぬぬ
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 です。
>>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ファイルでバージョンが指定されているから(場合によっては)エラーが出るわけですが、 ではなぜそのバージョン(以降)でなければならないのか、といった情報はソース等のどこで確認すればよいのだろうかと。
>>220 経験と勘。似非職人の世界でし。
ソフトによるけど、(ある機能のサポートを外してもいいのであれば)
外してみてもいいんじゃないかと思う。
>>220 README や INSTALL, configure を読む。
configure より configure.{in,ac} じゃねーか?
いままでrpm-modeと思って使っていたもの(Shell 何とか[rpm])は、rpm-modeではな かったようだ。本物のrpm-modeを入れたら強烈にラクチンだった。今までの俺って orz
226 :
login:Penguin :05/02/10 09:28:36 ID:UHvPf+P5
すみません。ちょっと教えてください。 RPMデータのみあったとして、そのspecファイルの内容を見ることはできるのでしょうか? できないとは思うんですけど…もしかしてできたりします?
>>226 普通はSRPMでないRPMにSPECファイルは入れないので、出来ない。
SRPMならrpm -iでspecとソース一式が%_topdir以下に入る。 後は好きなように弄り回してrpmbuildでも何でも出来る。 binaryのRPMはspecの中身を見ることはできないけど、 rpm -qp --scripts momimomi.rpm で、インストール、アンインストール時に実行するスクリプトは表示できる。
>>227-228 ですよね。そのシステム環境に適合するRPMデータがあったとしても、
specファイルを確認したい、場合によってはリビルドして入れたいということがあると思うのですが、
やはりSRPMデータなくしてspecファイルの内容は確認できませんよね。
ありがとうございました。
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
>>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
に展開されます。
>>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 になんか設定書いておけば
省略出来そうな気がするけど、分かりません。
age
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 っての、 勝手に削除しちゃってもいいんでしょうか?
>235 spec ファイルをデバッグしないなら、消して構わない。
237 :
235 :05/03/16 20:58:19 ID:WEPzJzA3
>>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 丁寧にありがとうございます。
すみませんが、明日というか今日の早朝から数日間家を空けるので、
再開は週明けからになると思います。
戻って来たらアドバイスいただいたことを試してみたいと思います。
rpm自体のバージョンが古くて%check非対応とかの予感。
>>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
>>235 他のプログラムをrpm化するときに、同じようなtmp〜のようなエラーが出ていた。
rpm化は諦めて、手動インストールしようとドキュメントを読んでいたら、他のrpmが必要だということで、
そのrpm(openssl-devel-0.9.7a-33.12.i386.rpm他)をインストールして、手動インストールしてみた。
で、その直後にもう一度rpm化を試したら今度は通った!!
だから、そのtmp〜っていうエラーは依存関係の問題かもしれないので、
よくドキュメントを読んでみては?
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 を無効化したことがまずいのでしょうか
>>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 に適用できないんでしょうか。
>>248 そもそもphp-4.3.11のmakeは通るの?
そこでコケるのならくだ質とか使ってるディストリのスレで訊いたほうがいい。
つか、php-4.3.11のsrpmならググれば結構引っかかるけどな…
それを自環境に合わせて修正するのじゃダメなのか
>>248 まず「php-4.3.9-3.6.src.rpm」といってもモノはひとつではない。
patchといっても1つじゃなくて20個ぐらいあるだろ?
全部はphp-4.3.11.tar.gzには当たらない
というかphp-4.3.11では既に不要なpatchがいっぱいある筈。
すみません。
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は作られていないようなんです。
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
自己レスです。 rpmbuild --define "_with_imap 1" で作成できました。 お騒がせしました。
258 :
login:Penguin :2005/08/15(月) 21:37:10 ID:xQpAXLUC
ただリビルドするだけの時に--defineを使うのは正しいのか? rpmbuildのヘルプにあるのは--with=とか--without=だけど。 まあ俺はwithoutじゃなくてspec書き換えてるけど…
>>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 に指定してまとめてインスコできるか試してます
%prep %setup %patch を飛ばして %build からテストしたいのですが、可能ですか?
short-circuit
263 :
login:Penguin :2006/07/06(木) 03:11:44 ID:sbcTXFsT
誰か CentOS4.3 用 Apache2.2 系の RPM 作成をお願いしまーす。
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をした後ちょこっとソースを変更してパッケージをビルドとか出来て 便利だと思いません?
>>267 その方法だと -bp の後のソースの変更部分を src.rpm に取り込めないから不便。
あとで同じことをやる時にも手作業しなきゃならないから
src.rpm とは別にどこを変更したのかとかを残しておく必要が出てくる。
極端な言い方だけどそんな不完全なパッケージなら作る意味がない。
ビルド中にソースに変更が加えられるとかってなると
パッケージのバージョンとかリリースとかが意味の無いものになってしまう。
ソースに変更加えるなら patch を作って spec に書いて src.rpm に入れるべき。
そうしないのであれば make install するか
checkinstall で適当なリリース番号とかつけてインストールすべき。
SPEC を工夫すれば define とか with,without とかで
rebuild 時になんらかの情報を付け足すこともできる。
>>267 だよね、でも何故か、-bp,-bc,-bi,-bl,-bbと順にできてしまったことが
あるようなないような、記憶違いか、なにかか?-blなんてあったっけか?w
>>268 > src.rpm とは別にどこを変更したのかとかを残しておく必要が出てくる。
> 極端な言い方だけどそんな不完全なパッケージなら作る意味がない。
想定したのはちょっとしたデバッグ目的です。どうにも挙動が不明なパッケージが
あってちょっとsyslog()やprintfをはさんでみてインストールしてみて動作確認を
するなど。
> そうしないのであれば make install するか
それもそうですね。けどターゲットに開発環境が無い場合にはちょこっとRPMが
作れれば便利だなと思いました。
>>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の中身が全部入るはず。
rpm-4.4.9 released
274 :
login:Penguin :2007/06/06(水) 03:17:13 ID:lGsmCtkv
不思議に思うのでage。 SOURCES/以下にgcc等で作成したバイナリ置いて rpm -bb hoge.spec にてhoge.i386.rpmを作成。 rpm -qlp hoge.i386.rpm で中身見るとバイナリのサイズが異なっている。 rpm -Uvh --nodeps hoge.i386.rpm すると、やはりサイズの異なるバイナリがインストールされる。 インストールされたバイナリは実行すると正常に動く。 皆さんもこのようにサイズって変わります?
276 :
274 :2007/06/09(土) 02:01:07 ID:pwWD+Gu2
>>275 strip のようです。
レスthxでした。
もちょっと調べてみます。
277 :
login:Penguin :2007/06/26(火) 05:01:51 ID:u8xPlGSp
rpmbuild -cleanってBUILDの中しか、掃除してくれないのですね。 SOURCESが腐臭を放ってるのですがrm -rfしか無いですかね?
279 :
277 :2007/06/26(火) 05:19:26 ID:u8xPlGSp
>>277 考えてみればこれはインスコしたrpmの責任と思われ。しかしちらっと見た所ソースパッケージの
情報ってrpmのデータベースには入らないんですよね? すると何を消せばいいかを知る者は
誰もいない。 皆さんどうやって整理してます?
280 :
277 :2007/06/26(火) 05:24:14 ID:u8xPlGSp
>>278 ふと気がつくと50Gぐらい溜まってたので整理したいなと。 けど今使ってるのは消したくないなと
思いまして。
>>280 俺が見てるHDDの値段だと、買った方がいいような気がするけど
>>277 >>279 src.rpm は残してないの?
rpm -qi で src.rpm の名前がわかるし
rpm -qpl src.rpm で Source も Patch も Spec もわかる。
Spec を取り出してもいいんだけど。
rpmbuild -b? spec とか -t? じゃなくて
rpmbuild --rebuild src.rpm すると Source,Patch,Spec は削除される。
無くなってて泣きそうになったことがある。w
普段メンテし続けてないパッケージは -ba のあと
Spec 見て Source と Patch と Spec を手動で削除してる。
パッケージいじる度に整理してるからゴミはたまらない。
283 :
login:Penguin :2007/08/09(木) 17:44:02 ID:VAkbqcfi
自分のやったことを書き残しておかないと俺は忘れるので rpmbuildは絶対に-baだしspecの中にコメントを残しまくる めんどくさがって無精すると絶対に泣くからな 経験上 pm5:00に「金下ろしにいくのめんどくせーpm9:00までだから8:30くらいに出りゃいいや」 とかめんどくさがると、決まって 「本日のATM営業はpm7:00時までとさせていただきます」 これ何度やられたか覚えてない程食らった しかも大型連休の前で、連休中はATMも窓口もやってねえから 連休中引き篭りの如き生活を余儀なくされる 無理して出かけるとロクなことにならない。 前日に買ったばかりの一眼レフカメラを滝壷に落としたりとか
285 :
login:Penguin :2007/08/09(木) 19:10:02 ID:MwiSZeKc
rpmで分からない事 ・1 filesに入るものの判断 ・2 公式サイトにも上がってないようなパッチはどこから生まれ来るのか *1 ある程度の判断できても、それでホントに正しいかどうかってわかんねえじゃん。 *2 特にバカ棒とか、fedoraのrpmはパッチだらけ。で、そのパッチはどこから来たものかね?と言いたくなる。
>>285 *1 どういう事?
*2 色々としかいいようがないけど、具体的に例えば
何のパッケージ?
>>285 >*1
パッケージ作ったら動作確認。
そのパッケージに依存するパッケージがあればそれも。
どのファイルが必要かとかわからなくて
それを確かめることもできないのであれば
ちゃんとわかる人につくってもらったほうがいいと思う。
>*2
ちゃんとメンテナンスされてるパッケージなら、
changelog にだれがいつパッチを追加したか書いてある。
パッチを追加した人にメール出して言ってみればいい。
fedora のことはよく知らないけど
MLやBTSなどを見ていけば直接きかなくてもわかるだろうし
パッチ自体に誰が書いたか情報が残ってる場合もある。
>>285 1) パッケージャなら分かる。
逆に言うと、filesはパッケージが判断したものが入っている。
2) 公式以外のところのpatch。本家の出したものは普通tarballに入っている。
security fixとかのpatchは、"まだ"マージされていないかもしれないが。
rpmの仕組み的に必要だが、本家tarballには必要ないpatchがあるが、
こういうのは本家にはマージされないことが多い。
あと、ビルドできなければビルドできるようにしてパッケージ作成するし。
この時のパッチ作成者は俺。
具体的な話しないと良く分からんかもな。
>>288 > 具体的な話しないと良く分からんかもな。
質問じゃなくて日記と思われ。
だから具体的な事は故意に書いていないんじゃ。
触れない方が良い人かもね。
rpmより debだよ〜www
291 :
login:Penguin :2007/08/10(金) 11:29:21 ID:YRDOnw55
いろんな所に顔出す
>>289 vineスレで「チョンのド素人」とバレて以来トラウマになり
何かあると悔しさのあまりすぐに「apt君」とか
「句読点が」とかしか言えなくなったかわいそうなド素人
apt君とか句読点とか良くは知らないが、 やっぱり触れないでいた方が良い人なのは解った。
293 :
login:Penguin :2007/08/10(金) 11:39:07 ID:YRDOnw55
図星らしいw
294 :
login:Penguin :2007/08/12(日) 20:42:51 ID:uSeb1di4
うむむうううううううううううんんんん これほどまで長時間RPMに向き合ったのは初めてだ 気づけば夜になっていた その昔、アセンブラ覚えたての頃PCに15時間 コラムスでメガドライブに向き合って20時間以来
installしないrpmって作れないかな。 設定手順だけ纏めたいんだよね。 ダミーで/usr/shareあたりにファイルを突っ込んでおくのが妥協点かな? そんな運用してる人っていません?
>>295 %files とだけ書いておけばいい。
ダミーファイルは不要。
>>296 >%files とだけ書いておけばいい。
>ダミーファイルは不要。
あ、ほんとだ。
先日試してみたときはinstallするものが無いといった感じで出来なかった記憶があったけど、さっき試したらちゃんと出来た。
ありがとう。
これで%triggerunとかでトリガーをいっぱい仕掛けておくと勝手に設定してくれるような管理ができそうでいい感じです。
manってsource.tar.gzのどこに入れておくのが親切?
>>298 別にどこでも。
どこに置かれようとinstallできるだろうし、
Makefileがあればmake installでmanが入るだろうから、なおどこでもいい。
俺ちょいとばかり難しく考えていたのだが、 RPMってテキトーにテンポラリフォルダにインストールしてみて 出来てきたファイルを見て%files とかに追加してくだけで出来ちまうのではないかと思った。 configureとか負けは既に用意されてるファイル使うだけだし、 あとは--enableとか、そういったオプションさえ知れば何て事ないのではないかと!!
>>300 その通りだよ。
%files
%defattr(-,root,root)
%doc ChangeLog README TODO
%{_bindir}/*
%{_libdir}/*
%{_datadir}/*
こんな感じで書いておけばtmpにインストールしてみる事すらほぼ不要だ。
となると、問題はパッチと わけのわからんトリッキーなインストール方法を要求する奴をどうやって見抜くか なんだな。 Fedoraのrpm見てると、結構 何このインストールの書式っていうのがある。 ./configure make (allとかworldとか) make install じゃないもんなそういうの。
>>302 そういうのは普通READMEとかINSTALLとかに
どうやってインストールするか書いてあるから、それを
まねするもの
>>301 それを元にtry & error するならわかるが、
そのままだと不要なdirectory まで globしてしまって、
他のパッケージとconflictするのでお勧めできない。
あと、file list を作る方法も同様の理由でお勧めできない。
%files ちゃんと書くためには--prefix=/tmpで試すのは有効だ。
ああ、ほんとだ。 /usr/share/manとか思いっきりかぶるね。
spec開くと、右のスクロールバーがみるみる小さくなったので いったい何千行あるんだと辟易 よーく見ると、%changelog が8割
あるあるwww
無駄に情報量が多くなるから消せばいいのにと思うよねえ
稀に、サマリーとかの項とインストール部との間にchangelogがあるものもあって 何かの嫌がらせじゃあないかと思うときも
>>310 流し読みしてると何か特殊なインストール方法の記述か? と勘違いすることがある。
やたらと長いchangelogって%includeとかで 別ファイルに分けるわけにはいかないのかな?
313 :
login:Penguin :2007/08/19(日) 02:41:18 ID:6PmGWnqi
>>313 Fedora rawhide i386でrpmbuild -bcまでは
やってみたけど、特に問題は無かったよ?
315 :
login:Penguin :2007/08/19(日) 20:50:56 ID:A6OZXdnI
まじぇ????
316 :
login:Penguin :2007/08/19(日) 22:24:42 ID:2BMa5AWC
-bcはエラーでないけど何も作られない。 -baでやると途中でエラー
>>316 でもそれって%buildの段階でないでしょう?(多分)
>>313 さんの言わんとしていることとは違うと思うけど
318 :
login:Penguin :2007/08/19(日) 22:58:39 ID:3+aG+0ex
%build だな
319 :
login:Penguin :2007/08/19(日) 23:23:09 ID:kSeo9d0v
違った
320 :
login:Penguin :2007/08/28(火) 06:31:02 ID:Gwp/CtQd
BuildRequiresって妙な習慣だよな 普通、提供されているソースをそのまんまmake installしても ちゃんとビルドされるだろ なのに、rpmだけはいろんなもんを要求される これはおかしい
最近このスレもグダグダだね
>>320 configure とかでつけるオプションによって
必要なライブラリが出てくるだろ。それを先に書いておくだけの話だ。
たとえば、ビルドで1時間かかって最後の最後でリンク失敗するより、
ビルドの頭で判明したほうが親切ということだ。
パッケージ単体で完結していれば、書く必要は無い。
glibcとかgccとかrpm-buildは暗黙のBuildRequiresで省略するからな。
323 :
login:Penguin :2007/08/30(木) 20:08:52 ID:SA0u7RyM
ちょっとちょっとちょっと聞きたいんだが、
少し前にFC6のkernelを2.6.22.2-42.fc6.i686にUpdateしたんだが、
今まで使ってたATrpmsのsk98linドライバーを探しにいったけども、
kernel2.6.22.2用のカーネルモジュールのrpmがなかったんで、
いっちょsrc.rpmからrebuildしちゃろと思って、sk98lin-8.41.2.3-11.src.rpmを落としてきて、
# rpmbuild sk98lin-8.41.2.3-11.src.rpm ってやってみたところ、
エラー: 1 行目: 不明なタグ: %kmdl sk98lin
っていきなり一行目でエラー発生。
SPECの中身見たり、ぐぐってみたりしてみたんだが、
どうも'%kmdl'とか'%kmdl_parentdependencies'とかのマクロ定義をしないといけないっぽいんだが、
どう指定したらいいかわかりません。
--defaine 'kmdl 1' とか 'kmdl /lib/kernel/KERNEL_VERSION/kernel/drivers/net/sk98lin'とか
やってみたんだけど、やっぱり’エラー: 1 行目: 不明なタグ’でこれより先に進めません。
みんなどうやってますか?
ヒントや参考URLだけでもおながいします。
ちなみにファイルは
http://dl.atrpms.net/all/sk98lin-8.41.2.3-11.src.rpm srpm
っと思ったら今日昼過ぎからずっと落ちてる・・・orz
中身はそのまま。変更せず。
>>324 確かにsky2ならそのまま動くんだけども、
うちネットワークカード二枚差しで使ってて、以前(kernel2.6.19くらいのころ)に
不定期(週一くらい?)でネットワークがダウンすること発生して、それ出たときは、
/etc/init.d/network restart では復旧せずに、結局システム再起動で直してたんが、
そん時ぐぐってみたら、どっかの英語のメーリングリストで
「sky2がハングするときは、sk98lin使え」ってのがあったから、
それからsk98lin入れるようにした。
それ以降半年くらいほぼ24時間稼動(月一回くらい再起動)で、ネットワークがらみの
トラブルが出なかったから、sk98lin使いつづけてたんだけど・・・。
ちなみに2.6.22にあげてから、まだ一週間位しかたってないけど、今んとこ不具合はなし。
でもいつまた発生するかってびくびくしながらすごしたくないんです。
(一応自鯖やってまして、かーねる2.6.20にした時もsky2で同様のエラーがでました。)
>>326 今ATrpmsが落ちてるから別のファイル落としてこれないんですが、
昨日探してみた感じでは、各バージョンごとのカーネルモジュールのrpmは置いてたんですが、
src.rpmはこのファイルしかなかったんでこれ落としてみたんです。
これダウンしたページにSPECだけのリンクもあったんで、それ見てみたんですが、
中身はsrc.rpmに含まれてるSPECと全く同じ(あたりまえか)で、ほかにREADMEとかINSTALLとか
探してみたんですが見つからず・・・。
とりあえず教えてもらったURLみてちょっといろいろ試してみます。
ありがとう。
>>326 macro定義ならsrc.rpmじゃなくてnoarch.rpmだろ?
急ぐんなら
>>326 のサイトに書いてあるのを自分のmacrosに書いてみ。
>>325 >でもいつまた発生するかってびくびくしながらすごしたくないんです。
だったら、メンテナの Stephen Hemminger に言って
upstreamで直してもらった方が確実。
out-of-treeのsk98linがkernel API が変わって
いつ使えなくなかわからないし、カーネルアップデートする度に
コンパイルし直すのは賢くない。
sky2のトラブルはかなり多くの環境で出ているから
>>325 の人が言わなくても対策は試みてるんじゃない?
最近はかなりマシになってきたらしいけど最新のカーネルでも相変わらずたまに止まるらしいし、
今安心して使うためにはsk98linをビルドするか他のカードに行くかするのが一番でしょ。
NICのモジュール程度のちょっとしたものならrpmにこだわらないで、
makeして/lib/modules/どこか適当な場所/にコピーしてdepmodしちゃった方が簡単な様な気がするけど。
いや〜
>>326 さんのサイトみたり、
>>328 さんのゆうとおり自分のmacrosに定義書き足したりして
色々やってみて、なんとかuserlandのrpmは出来上がるようになりました。
とりあえずどうもありがとう。
でも、カーネルモジュールのほうはgccがエラー吐いてコンパイルできず・・・。
デバドラのソース改変する実力はないんで残念・・orz。
>>329 確かにいうとりだとは思うんだけどさ、
>>325 のエラーが出た時に、
/var/log/messageのエラーを追っかけて、本家のMLとかBugレポートとかで検索して、
似たようなのをいくつか見て見たんだけどさ、それぞれが
「acpi=offにしろ」とか「IO-APICがどうこう」とか、「そもそも3c59xが悪い」(相方のNICが3C905Bなんで)とか
色々言われてたんんで、それぞれやって見たんだけど、
「acpi=off」ではそもそもbootせずに最初の画面の「udev」で止まるし、
「noapic」だと、起動はするけどsky2を読み込まない(「eth0 or eth1にケーブルが繋がれてません」とか言いやがるしw)
NICも3cはじめ、intel,via,蟹(マザーオンボードのやつなんかGbits対応なのに5Mbitsしかでない!!)とか試してみるも
やっぱりネットワークがダウンすることがしばしば発生して、本気でbugzilla送ろうかなんて考えたこともあるんだけど、
なんつーか、再現性がないんで、うまくレポート書けずじまい。エラーの種類も違うの出るし・・・。
(100GBのファイル転送したり、Apacheにabで秒間数千リクエスト送ってcpuに負荷かけまくるとか、
あと、2枚のNICでそれぞれUPとDownを同時に実行するとかetc...)
そんな時に見つけたMLで「sk98イイヨ〜」みたいなの見つけたから、とりあえずこれで様子見するかって
やってみたら、不具合がでなくなった ってゆう経緯があるんすよ。
まあ、そのStephenのアニキ(アネキじゃねーよな?)にレポート出して、本気で直してくれるってゆうんなら、
次に同様のエラーでた時は、errorlogの内容そのままでレポート出してみるよ。
ちょっとスレ違い気味だけどかんにん。
連投すまそ
>>330 そうなんです。
上にも書いたとおり、srpm中のカーネルモジュールのコンパイル通らなかったんで、
結局本家
http://www.syskonnect.eu/d_de/support/driver.html?navid=14 から、ソースのtar落としてきて、makeしてみたら、コンパイル通ったんで、それ使うことにします。
>>329 にあるように、いつサポート切れるかわからん状況だけれども、最近(2007/07/18)にUpdateしてるみたい
なんで、まだしばらくは大丈夫そう・・。
まあでも、多分だけど、自分のPCにNIC二枚差ししてんのが、そもそも諸悪の根源のような気がするし、
kernel が頻繁にUpするfedora使ってるからこうゆうことになってるようなんで、
FC6がレガシー行きした時は、違うディストリ検討します。
長々と失礼しました。
333 :
login:Penguin :2007/09/06(木) 11:24:02 ID:sOmiXYmo
自分の環境でビルドしたのに、できあがったものを-Uvhしようとすると libstdc++.so.6 は swig-1.3.31-0.i386 に必要とされています libstdc++.so.6(GLIBCXX_3.4) は swig-1.3.31-0.i386 に必要とされています 別にRequiresには何も書いた覚えないし、 GCC-4.2.1のlibstdc++.so.6は存在してるのだが 勝手にこういう依存を付加されるものが結構あるけど なんとかできね?
>>334 > 何をビルドしたの?
見りゃあswigだってことくらいわかるだろうに。
>>335 gccが2つ入ってるんじゃないの?
libstdc++.so.6(GLIBCXX_3.4)が gcc 3.4のとリンクしてる。
338 :
login:Penguin :2007/09/06(木) 12:02:27 ID:QuT2Gbg9
確認してみるわ ccをgccにして4.2.1にしたのは確認したんだけどなあ 3.xだとso.5になってるし
>>338 すまん。ちょっと違うかも。
rpm -qp --requires swig-1.3.31-0.i386
rpm -q --whatprovides "libstdc++.so.6(GLIBCXX_3.4)"
rpm -q --whatprovides "libstdc++.so.6"
でどうなる?
libstdc++をビルドしてないのは文脈から伺えるね。
>>340 が素人orz
ちょっとビックリした。
まぁageてるし、apt君がいつものように 我流でベースシステムコンポーネントを アップデートしてハマっているのかと 思ったよ。
344 :
login:Penguin :2007/09/06(木) 14:03:54 ID:LLFMHwcj
libstdc++.so.6を提供するパッケージは存在しない てなる
>>344 >>339 も言っているが、以下を実行して結果を貼れ。
rpm -q --whatprovides "libstdc++.so.6(GLIBCXX_3.4)"
rpm -q --whatprovides libstdc++.so.6
346 :
login:Penguin :2007/09/06(木) 14:23:00 ID:LLFMHwcj
どっちも存在しないっさ so.5で見るとGCCではなく個別で存在してる。 libstdc++ってGCCに存在するものじゃないのか。
>>346 環境が分からないから、Fedoraの例で言うけど、
Fedora だと gcc41.spec でlibstdc++パッケージを作っている。
それを入れればよい。
>>347 libstdc++.so.5 とか言ってるんだからvine4.Xだよきっと。
>>346 さて、そろそろエスパーごっこも秋田から
・ディストロは何か
・gcc-4.2.1はどうやってどこに入れたか
を聞いて終わりにしよう。
>>348 もうエスパーでもなんでもないが、
野良でいれたgcc-4.2.1のライブラリをswigがリンクしてて、
でも野良だからrpmのデータベースにはその情報がなくて、
依存性の解決が出来ずインストールできない、と。
自分でspec書いたとか言ってなかったか? まあいいや。 libstdc++34 入れて終わり。
>>346 宛でいいのか?
*rebuild自体は正しくできていると確信がある
*でもinstallしようとするとなんか依存するrpmが足りない
とかいわれ、原因不明
*それでも、取り敢えずinstall出来れば動くという
自信がある
というなら、dummy rpmを作ってProvidesを提供してやれば
良い
あるいは *AutoReqに0を指定する、とか *__find_requiresに独自に用意したscriptを使って 余計なRequiresをfilter outする とかいう手もある
ちょっと疑問に思ったんだけど、rpmって共有ライブラリが実際にファイルシステム上に 存在してるだけではだめで、データベースに情報が登録されてなければいけないの?
gcc-4.2.1*.src.rpmをrebuildして、出来上がったrpmのうちのlibstdc++-4.2.1*.rpmを入れ忘れただけ なんてオチはないよな。
>>355 じゃぁどうやってlibstdc++.so.6に依存する
swigをビルド出来たんだ?
>>353 存在してるだけじゃ、依存関係管理できんでしょ。
358 :
login:Penguin :2007/09/07(金) 08:11:04 ID:A3/IMf6K
あのド素人チョン、誰彼構わず言いがかり付けてんな よほど悔しかったらしいw
池乃めだかのネタか?
「よっしゃ、今日はこれぐらいにしといたるわ」ってやつか?
361 :
login:Penguin :2007/09/08(土) 05:26:49 ID:yXAp9DBU
もはや誰が誰だか分からないほどにアタマがおかしくなったんだよ。 あ、アタマ悪いのは元からか! こりゃ失礼失礼。
linux機の前に座る=スペコ書きかプログラミング以外してねえことに 気が付いた。
363 :
login:Penguin :2007/09/10(月) 10:40:04 ID:Mum034m1
ファイルの数とか種類とかバージョンと置場さえ合ってれば、specの書き方はどうでもいい気しね? Fedoraのspecとまったく同じにしろ!て強要されるときがたまにあるけん。
365 :
login:Penguin :2007/09/10(月) 10:50:44 ID:Mum034m1
今までの中で一番、俺からすっとどーでもいいことのように思えること 例えばこんなの %{_bindir} %{_mandir} %{_bindir} %{_datadir} %{_bindir} こういうふうにするなと。 %{_bindir} %{_bindir} %{_bindir} %{_mandir} %{_datadir} としろってさ。
366 :
login:Penguin :2007/09/10(月) 10:52:43 ID:Mum034m1
これだってさ、前者がFedoraのspecの%files なんだから。 べっつに%{_bindir}でまとめようが何しようが構えへんがな。 まとめたらまとめたで、やれ文字数が多い行を下にしたほうがいいとかさ。
いやー野良の集まりで
それは、ディレクトリを纏めておかないと *見辛いし、 *ディレクトリのownershipを確認するのが大変とか あるからでは? 少なくとも「ディレクトリは纏めろ」とはいうと思う。 実際ownershipの間違いは非常に多いし
俺からすっと、もはや20年くらい前から言われてるこれと同じくらいにどーでもいいが 拘るやつは拘るんだなあ。 double Fuckintosh(FuckOS, Fuckers) { double Fuckintosh(FuckOS, Fuckers) { 大括弧なんぞどこでもええがな。
>>370 おまえ、いままで全部一人でやってきただろ?
燃えろ E本田 燃えろ 夏子 って今でも分からん なぜそこでE本田なのか、また、なぜ夏子を焼き殺そうとするのか
誤爆した
野良・ジョーンズ
376 :
login:Penguin :2007/09/10(月) 22:20:46 ID:qdzd/ZK5
超!!疑問なんだが、FEDORAとかってバグジラにもないセキュリティパッチいっぱい当てまくってたり オリジナルのinitスクリプトをsourceにしてたり、どこからそんなパッケージ名が出てくるんだろ、とか どうみてもいらないようなbuildrequiers増やしてたり、sed駆使してトリッキーな作り方するじゃない。 ってことは、一般人のやる./configure make make install って不十分だってこと?
最初は ./configure; make; make install でパッケージ作るんだけど、それだ と不都合がある時には sed とか使ってパッケージ化することはある。 buildrequires は、そのパッケージの configure オプション(あるいはディス トリの仕様)に依存するんじゃないかな。
378 :
login:Penguin :2007/09/10(月) 22:44:31 ID:qdzd/ZK5
configure見て --enable-staticとか--enable-faacとか--bindir=何々、とか追加する そんくらいならやってんだけど、そういう単純なものなら自前でrpm作れるわけだが FEDORAみたいにああいう複雑なことをする意味がまずわからなくてね。 ああしないとセキュアではないとか、機能的に不十分だとか、全く動かないとか言うと 何も見ないでは真似できないのでガッカリきてた。
>>376 野良でパッケージごとにパッケージのやり方を踏襲して、
インストールした人が自分で対応するなら
./configure 負け負けインストールでよい。
他のツールによる自動化などFedoraの枠組みに合わせるために、
configureにオプションつけたり、それでもダメな時に
sedで整形したりする。
セキュリティーパッチは、アップストリームがメンテ放棄してたり、
新しいバージョンが出るのが遅いからバックポートしてたりするのが
ほとんど。
380 :
login:Penguin :2007/09/10(月) 23:15:37 ID:qdzd/ZK5
人に提供するにはそぐわないのかねえ。 FEDORAのような手法でないと他人に提供してはならない!とかなら 俺もうやめるほかはない。
なんか具体例がないと話しづらいなあ...
>>380 何だか何を主軸にした話なんだかレスごとに変わってるし、端折った分かり辛い文章なんだけど、
specの「作り」の話なら出す先に合わせるだけの話でしょう。
理由があってそこのやり方に合わせないのならそれをそのコミュニティで議論すれば良い。
分かりづらいことは書いてないな。
チラ裏なだけで
日本語読めないド素人ってやつ。
俺にはそもそも何に悩んでるのかすらワカランw > バグジラにもないセキュリティパッチいっぱい当てまくってたり 必要なパッチなんだろ。ソースのupdateで既に無効なパッチだったりトンチンカンなパッチなら パッケージごとに問い合わせれば(突っ込み入れれば)いいし、それで間違いとわかればよし。 自分で作る時はそうならないよう注意するだけのこと。 > オリジナルのinitスクリプトをsourceにしてたり ソースに含まれるオリジナルに手を加えてsource取り込みをすることはあるが、本当にオリジナルと同一なら パッケージごとに問い合わせれば(突っ込み入れれば)いいし、それで間違いとわかればよし。 自分で作る時はそうならないよう注意するだけのこと。 > どこからそんなパッケージ名が出てくるんだろ、 パッケージ名の命名で他との混乱を避ける為に悩むことも稀にあるが、ケースバイケース。 自分が作る時にあてはまるなら悩めばいいいしコミュニティに相談するのもいい。 > どうみてもいらないようなbuildrequiers増やしてたり 明らかに不要なRequires/BuildRequiresなら パッケージごとに問い合わせれば(突っ込み入れれば)いいし、それで間違いとわかればよし。 自分で作る時はそうならないよう注意するだけのこと。 > sed駆使してトリッキーな作り方するじゃない それぞれ必要だからそうしているんだろ。他に手段があってそちらの方が効率的ならそうアドバイスすればいいし、 自分で作る時は解りやすくすればいい。 > ああしないとセキュアではないとか、機能的に不十分だとか、全く動かないとか言うと 自分の作ったものに実際そう言われたなら、持論で説明すればいい。 相手の方が正しいとわかればそうすればいい。
387 :
login:Penguin :2007/09/11(火) 08:23:02 ID:AI8K7vmx
どこでの話か何での話かとかド素人はすぐに問題視するが、 んなもん何処だろうが何だろうが関係ないし赤帽とかのspec見りゃ複雑かそうでないかは一発でわかる。 ド素人はやっぱりド素人なんだよ。
>>387 何が言いたいのか分からんが、素人が書いたspecを配布するのは止めろってことだ。
自分で使う分には問題ない。
あと自分が理解できないからって、他人をド素人扱いするのも止めたほうがいいぞ。
>>378 > 何もみないで真似できない
とかマジで思っているなら止めろ。有害だから。
>>388 スルーできないなら「ド素人」はNGワード指定しとけ。
390 :
login:Penguin :2007/09/11(火) 11:56:00 ID:AI8K7vmx
specのひとつも書けないド素人が悔しがって出てきたぞw
rpm を作る時には rpmdevtools パッケージを入れておくと便利。 rpmdev-newspec でいくつかの種類の spec の雛形を作る事ができる し、新しい src.rpm を作った後に rpmdev-diff で旧版と比較する といった事もできる。epel でも提供されているので、CentOS や RHEL でも利用可能。
392 :
login:Penguin :2007/09/11(火) 20:38:25 ID:Dm55EcGN
ハイ ガイズ!!! X.Orgみたいに複数のソースから一つのパッケーヅにすんのってどうやんの。 いちおう、一つづつならできっけどkbproto xcbprotoだのいっぱい出過ぎてきびしい。 まとめてX.org-libにしたい。したいが連続負けとかすると%installの部分でこけるのでできない。
>>392 サブディレクトリ作成して、(cd hoge; make install ; cd -)
を繰り返すだけでは?
394 :
login:Penguin :2007/09/11(火) 23:56:17 ID:Dm55EcGN
./configure \ --いろいろ make install DESTDIR="$RPM_BUILD_ROOT" cd libXt ./configure \ --いろいろなオプション make install DESTDIR="$RPM_BUILD_ROOT" こういうふうにして、%filesをコメントアウトして ファイルの場所は正しいかどうか見ようとしたら、 どっかでインストールエラーになるとか、最初のフォルダのファイルしか表示してくれないとか。 まあそんな感じでまとめ切れねーんだよね。
395 :
login:Penguin :2007/09/12(水) 00:49:11 ID:eWPp95Cc
そんなこともできないド素人は何をやっても無駄
>>394 こんな感じ。
%build
for i in A B C
do
pushd ${i}-%{version}
./configure --prefix=%{_prefix} --libdir=%{_libdir} --mandir=%{_mandir} --sysconfdir=%{_sysconfdir}
make
popd
done
%install
rm -rf %{buildroot}
for i in A B C
do
pushd ${i}-%{version}
make install DESTDIR=%{buildroot} mandir=%{_mandir} libdir=%{_libdir}
popd
done
これで分からなかったら、似たようなspecをググレカス。
別ソースになってる奴は他のlibに依存してたりするんじゃねーの? そのまま連続makeすると今インストールされてるXのlibとリンクしてうまく動かないよ。 必要な物から順にmakeして、後からmakeするものは先にmakeした方のheader, libを使うように指定して、 既に入っている複数に分かれたXのパッケージでconflictするものをObsoleteに指定する必要があるよ。 Xorgのすべてを一まとめにするなんて面倒だから複数パッケージにしてあるんだよ。
それこそ、だから昔のXFree86 4.Xの時代は Xのrebuildって結構大変だったんだよなあ。 make worldとかでrebuildしてたけど
399 :
login:Penguin :2007/09/12(水) 13:43:16 ID:POXQJOwU
「これは別ソースに依存してるんですね」 「そー(ry
{expand: %%define %hoge 0} みたいなのでコケタ。よく分からんけど、 specって#でコメントにしてもチェック入ってエラーになるよね? なんでそういう仕様なんだろう、と。
402 :
login:Penguin :2007/09/13(木) 13:20:12 ID:G42cfI5F
fedoraの解説書にも載ってる コメントとして扱われるところとそうでない場所があるから気を付けろ、みてえな
403 :
login:Penguin :2007/09/13(木) 16:55:26 ID:yYpRfvNR
思い出したんだが、FreeTypoとかGTK plusとかって1と2に分かれてるよな。 然し乍ら、"freetype"名で要求があるものと"freetype2"名で要求があるものがあるわけだが、 freetype名をconfigure内で要求してくる奴ってfreetype2のライブラリ類ではダメなもんかね? 俺、面毒せ絵からfreetypeもfreetype2も、どっちもfreetype2のものにしてしまってるわけだが。
404 :
login:Penguin :2007/09/13(木) 16:58:07 ID:yYpRfvNR
そもそもfreetypoeがなぜ、今になっても1と2の並行存在なのかがわかってないワケだが! フツー、ver2はver1を取り込んでる進化系だから2があれば1いらない、というのが当り前だろう。 freetypeはそうじゃないのか?
なんつうか、もう少し腰を据えて勉強すれや。
406 :
login:Penguin :2007/09/13(木) 17:07:34 ID:yYpRfvNR
まずわけわからんから、やめてほしい。 fontconfigかfreetypeかxftのどれか、まあfontoconfigだろうが、 ペァンゴゥをインストールしたら全部が□になったことがあるので! 直すのが面倒だったからな
407 :
login:Penguin :2007/09/13(木) 17:10:43 ID:MKOJES52
言い訳しかできないド素人は何をやっても無駄
というか、そもそも「rpm作成」と関係ないし
409 :
login:Penguin :2007/09/13(木) 17:22:25 ID:yYpRfvNR
いやあるよ freetype2をfreetypeで作ればいいのか、freetype2はfreetype2で作って freetypeをfreetypeで作らないといけないのか
そっとしておいてやれ。
>>403 > freetype名をconfigure内で要求してくる奴ってfreetype2のライブラリ類ではダメなもんかね?
ダメに決まってる。名前が別なら別者。
1系を使ってるアプリがあるのに、2と同じだろとまとめるなんてアホのやること。
412 :
login:Penguin :2007/09/13(木) 21:28:55 ID:zWzuDstu
ド素人チョン悔しがり過ぎだろw
413 :
login:Penguin :2007/09/13(木) 22:05:47 ID:ioiJbWsp
本当。ド素人は馬鹿なことしかしない。 2だけにまとめればいいとかド素人の考える事 specも書けないチョンはディストリのパッケージそのままで使っていろ 何をやっても駄目なやつは駄目な証拠
いや、まあ最初は皆素人なんだし :-)
>>414 触るなよwwwww
apt君はスルー推奨でよろ。
煽ってる馬鹿は素人未満のゴミだな。 自分でパッケージ作って試してる方がまだマシだ。
>>401 >>402 心配な時は、--eval オプションを使って、どのように展開されるかを確認しま
す。
$ rpm --eval '%configure'
$ rpm --eval '# %configure'
$ rpm --eval '# %%configure'
418 :
login:Penguin :2007/09/14(金) 00:57:53 ID:bw7yJuDn
あのド素人チョンはspecも書けないからなw freetype1と2の違いも言えずに1と2は別物だとかバーカコイてっからw
419 :
login:Penguin :2007/09/14(金) 01:02:15 ID:bw7yJuDn
420 :
login:Penguin :2007/09/14(金) 01:05:01 ID:bw7yJuDn
で、どこが 「ダメに決まってる。名前が別なら別者。」だってぇ?wwww By default, FreeType 2 supports the following font formats. * Type 1 fonts * CID-keyed Type 1 fonts 無知ド素人のバァカは目障りだから引っ込んでろよw
>420 もしかしてType1フォントの事Freetype 1だと思ってる
>>420 ひょっとしてギャグで言ってるのか?
Type 1 fontsとfreetype1の違いを言ってみてよ。
423 :
login:Penguin :2007/09/14(金) 01:34:36 ID:bw7yJuDn
ド素人は知らないらしいw Freetypeにはフォントが含まれないとまた恥晒しw
荒らすのは止めてくれ
425 :
login:Penguin :2007/09/14(金) 02:34:41 ID:UKRKYk61
>>423 freetypeのソースにフォントなんて含まれていないが。
426 :
413 :2007/09/14(金) 07:31:58 ID:qUTD/upy
スマン。ちょっと確認したいことがあって真似して書いてみた。 案の定ID:yYpRfvNRはapt本人だったみたいだな。 荒れさせてすまん。
荒れついでに。 freetype(libttf)を要求するパッケージに自分で手を入れて"freetype2版"に自分で作り変えられれば freetype2(libfreetype)のみの構成でも構わないが、freetype2(のTrueType部)とfreetypeは 完全なAPIの互換性はないので、手を入れる時は注意。 両者は混在可能なので、両方を入れているディストリ(バージョン差異含む)もあり、 別々のsrc.rpmから作られていたり、同じsrc.rpmからfreetype-2とfreetype-1.xを作っている ディストリもある。(勿論その場合はsourceに1.x系と2系の両方を持っている) また、ディストリによっては1.xを不要とし、freetype-2(libfreetype)のパッケージ名を "freetype"としているものもある。 そういう訳で、 > freetype2をfreetypeで作ればいいのか、freetype2はfreetype2で作って > freetypeをfreetypeで作らないといけないのか ディストリ、またはそのバージョンにもよるし、どこまで自分で手を入れられるのかにもよる。 レスから察するところ、Vine等の「混在」ディストリとお見受けするが、パッケージ名の決め事を 無視した加工を入れるのなら、それに関する他パッケージにも何らかの処置をしないとならない。
428 :
login:Penguin :2007/09/14(金) 08:21:10 ID:5G+5E9KC
そもそもfreetype1が入ってないものも多いんだよな。 ド素人チョンはそんなことも知らないバカ。まさにド素人。 何かレスするたびに「自分はバカです」と自分から恥さらししているに過ぎないw
>>428 >>427 を見てもまだ解ってないようだな。
Vineスレにまで貼って恥晒すなよ。
ここで頑張って暴れてろ。
430 :
login:Penguin :2007/09/14(金) 09:00:26 ID:5G+5E9KC
Freetype2ではTTF扱えないとかバカコイてたチョンが必死w
このスレではやさしくしてあげてよ。 他のスレに出てこないように。
freetype1はライセンス的にGPL互換じゃなかったから ほとんどのアプリはこぞってfreetype2へ移行した。
434 :
login:Penguin :2007/09/14(金) 11:16:06 ID:5G+5E9KC
よっぽど悔しかったんだなあw
435 :
login:Penguin :2007/09/14(金) 13:21:20 ID:5G+5E9KC
例えばMplayer1.0 区別してねえw --disable-freetype Disable freetype2 font rendering support [autodetect]
残念ながら optionの名前を--{disable,enable}-freetype2 としていないだけで、freetype 2.0.9以上で無いとビルドできない。 echocheck "freetype >= 2.0.9" #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9))) #error "Need FreeType 2.0.9 or newer" #endif
437 :
login:Penguin :2007/09/14(金) 14:43:19 ID:5G+5E9KC
残念ながら、「freetype2」ではないんだよなw freetype1とfreetype2が別なら、 「freetype2-2.0.9」などになる。 「freetype」と「freetype2」を勘違いして分けているものがある場合、これはエラーの素なんだがw
>>436 もう触るな。
ってか隔離するためにもっと触れか。
439 :
login:Penguin :2007/09/14(金) 14:44:40 ID:5G+5E9KC
freetype-2.0.9と認識しているということは freetype2はfreetypeの直系であって何ら別系統ではない、 別系統ではないということはド素人のバーカのいうことはまさに無知の恥とw
>>437 エラーを引き起こすのは当然。というかなる方が正しい。
そのためにわざわざmajor versionあげてるんだから。
そのせいで罠にはまろうと知ったことではない。
>>439 rpmのパッケージ名と本家freetypeバージョン名を混同している。
>>427 が書いてくれた内容を読みなさい。理解できないだろうけど。
441 :
login:Penguin :2007/09/14(金) 15:05:00 ID:5G+5E9KC
>>440 freetypeすら知らんバカは引っ込んでろよ。
freetype2はttfが使用できる。
(だからspecが厳密にfreetype2だのfreetypeだの区別していない)
442 :
login:Penguin :2007/09/14(金) 15:08:06 ID:5G+5E9KC
だいたい、freetype以外でも「バージョン上がれば使えない」なんてものは当り前。 昨今のものはpkgconfig-0.9を要求してチェックするものばかりだが 「だからpkgconfig0.8と0.9は別物」 とか無知なバカをコイてるやつなど、無知ド素人チョンしかいない。 freetypeも然り。
>>441 > freetype2はttfが使用できる。
これと
> specが厳密にfreetype2だのfreetypeだの区別していない
この2つに関連性は無い。
freetype1.specとfreetype2.specに分けて書くこともできるからだ。
要するに意味不明な文章である。
>>412 major versionを知らないのがミス1
pkgconfigの例をfreetypeと同等に扱えると思ってる点がミス2
そもそも「バージョン上がれば使えない」例を出して時点で
>>439 の話と180度変わっている。
書いている内容を自分で分かっていない証拠である。
こいつは故意に馬鹿言ってるんだから説明しても無駄なのに。 よくやるよ、まったく。
>>441 libttf(freetype-1.x)を使うMPlayer1.0なんてありえねぇww
446 :
login:Penguin :2007/09/14(金) 17:17:45 ID:5G+5E9KC
pkgconfigで、分けてspec書けないと思ってる素人もいるんだなあw
またえらい騒ぎだこと
> 区別してない
って、今のFedoraやなんかはfreetype1系を使ってなくてfreetype2をパッケージ名:freetypeとして使ってるから
それら用に書かれたspecでも見てんでしょう
>>444 確かにここまで凄いと意図的としか考えられませんね
しっかしスレ違いな話題で良くのびますねぇ
2002年10月にはじまったこのスレが1000レスのうち1/4強を消費し
2007年8月の最初のレスがあったのは
>>283 。
それから妙なのが住み着いて、9月の半ばで既にスレの消費は半分近くに。
すばらしい。
449 :
login:Penguin :2007/09/14(金) 18:25:30 ID:nAlkAlCW
単発IDが多いな
痛い人が頑張ってると聞いてやってきました。記念カキコ。
>>449 お前みたくageるやつがいるから訪問者もまちまちなんだろ。
452 :
login:Penguin :2007/09/15(土) 10:47:34 ID:pxQr+6oy
ド素人のいうように、全く違うものだとしたら 全く違う=役割も当然全く違う ものなので、 Fedoraのように片方を捨てる事は絶対にできない こともわからんからなw 捨てることができたのは何故か、そんなことすらわからん恥晒しのバーカだよw
しつこい
454 :
login:Penguin :2007/09/15(土) 11:41:46 ID:pxQr+6oy
いや、あのド素人チョンは、二言目には具体的に具体的にというが 自分が何一つ具体的でないからw 具体的に、全く別物だとバカをコイてるのになぜFedoraは捨てられたのか ということが何一つ具体的ではないw
くどい
>>454 freetype1に依存するパッケージがレポジトリからなくなったからだよ。
457 :
login:Penguin :2007/09/15(土) 11:45:41 ID:Kg5lcweP
早く勝手に勝利宣言して首津って士ねよ基地外
458 :
login:Penguin :2007/09/15(土) 11:51:45 ID:pxQr+6oy
そもそも、別物である証拠がない んだよなw
はやく終われ
>>452 同じものだったら新しいものだけ残せば古いものを削除可能。
別物ならば依存するものをなくせば削除可能。
Fedora develの場合は、freetype-2.3.5-3.fc8 と freetype1-1.4-0.4.pre.fc8
があるから捨てていない。
>>458 馬鹿には分からないだけ。
ていうか、作ってるほうがなぜft2の1色にできたかだな。 役割違うってんなら、ft2だけで組むことできねーんだから。
462 :
login:Penguin :2007/09/16(日) 12:21:06 ID:0vXgbD0F
プログラムもできない素人だとボコボコにされ、精神がおかしくなり 自分で自分と会話してるかわいそうな素人をイジメないで! 666 :login:Penguin [] :2007/09/16(日) 11:07:11 ID:/C4NjY4a 本望だろうな。 667 :login:Penguin [] :2007/09/16(日) 11:19:05 ID:/C4NjY4a つか ここはaptの巣なのに釣りも糞もないだろ
463 :
login:Penguin :2007/09/16(日) 12:51:17 ID:/C4NjY4a
駄目でしょ。関係ないよそのスレにまで迷惑かけて。 しょうがない構ってちゃんだなあw
464 :
login:Penguin :2007/09/18(火) 15:11:49 ID:GQFfmvEO
野良はここでspec晒して腕を磨け
465 :
login:Penguin :2007/09/19(水) 00:23:58 ID:1UfR1y/Q
あるパッケージのシンボリックリンクに別のパッケージが依存してる時って どうやればアップデートできるの。 ・前の版では、ビルド時に自動でso.0が生成されていて、プリインストールされているものがそのso.0 ・そのアプリの新版では、ビルド時に自動生成されるのはso.1 ・既存のいろんなものが、前の版のものであるso.0に依存しまくっちゃってんだがよう ・しかたながいので、手動lnでso.0を作るようにspec書いた ・それでも--force も--upgradeも受け付けない ちゃんと同じにしたんだから、置き換わってくれてもよさげなもんなんだけど。
>>465 例えば、Fedoraのredhat-rpm-config-9.0.1-1.fc8にある
/usr/lib/rpm/redhat/find-providesを見ると、
28 # --- Library sonames and weak symbol versions (from glibc).
29 for f in $solist; do
30 soname=$(objdump -p $f | awk '/SONAME/ {print $2}')
となっている通りobjdumpでsonameをしっかり調べているから、
その方法ではごまかせない
467 :
login:Penguin :2007/09/19(水) 00:42:02 ID:1UfR1y/Q
みなこういうのどうしてんの? こういうのって、必ずと言っていいほどぶち当たるもんじゃないの。
>>467 -develパッケージを分割して.soのシンボリックリンク張りかえ
.so.0に依存しているもの全部rebuild
基本だろ。
rebuildはXが絡んでるやつとか、無理があるものが多すぎる。
470 :
login:Penguin :2007/09/20(木) 11:48:13 ID:gJiplxyS
その昔、俺はRADが嫌いでWinMainからウィンドウクラスから変数から何から何まで、全て手書きだった。 HTMLも同じ。 Linuxでは、パッチを手書きしてた。 diff知らなかったから。 で、diffでパッチできるというのがわかったのがつい3分前。 便利だな!!
471 :
login:Penguin :2007/09/20(木) 11:50:02 ID:gJiplxyS
すげえ楽でいいな!! いちいち時間まで調べて、前のファイルの時間がこれで、新しいのは今の時間で日本時間だから+0900とか 全部手書きしておったんや!! あまりにも便利すぐるdiff
472 :
login:Penguin :2007/09/20(木) 12:03:48 ID:gJiplxyS
ぬおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお 便利すぐる 便利すぐるうううううううううううううううううううううううううううううううううううううううううううううううううううううううう
>>470 乙。俺もWinMainもWinProcも全部手書き派だったぜ。。。そこがこだわりなんだよな!!
475 :
login:Penguin :2007/09/22(土) 19:27:26 ID:6FkHurkV
PHP-5.2.4っていうか、PHPってなんで %setup -q しても展開されないの。 buildrootに展開されずに、リアルディレクトリに全部展開されるし %installでは本当に直にインストールされるもんだから RPMにできない。
FedoraのでもVineのでもいいから既存のspec見てみればいいのに。
しかし、最近こいつの質問ばっかりw
478 :
login:Penguin :2007/09/23(日) 02:06:24 ID:4Mi5QzQW
ド素人はチャチャ入れのみかw
479 :
login:Penguin :2007/09/23(日) 11:48:47 ID:h+45r0r6
ド素人はチャチャ入れのみかw
480 :
login:Penguin :2007/10/02(火) 08:26:03 ID:x3bZOibE
"X11R7"にならんの?
NoSource: 0 NoSource: 1 ・ ・ NoSource: 20 みたいに、たくさん NoSource で指定する必要があるのですが、 NoSource: 0 1 2 みたいに一行にまとめることって出来ますか?
483 :
481 :2007/10/04(木) 02:31:49 ID:t125sx4B
484 :
login:Penguin :2007/10/04(木) 10:43:46 ID:oJ6I00tk
コメンティング・アウツするとき、一行一行#打ってくのめんどうなんだけど Cの/**/みたいな復行コメントアウツないの?
>>484 %if 0
コメントにする内容
%endif
とか。
487 :
login:Penguin :2007/10/04(木) 12:32:54 ID:oJ6I00tk
%ifって手もあるのか
>>486 そんな大層なもの等ねえよ
<⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
例えばviなら
10行目から15行目までコメントアウト
:10,15 s/^/#
とか
現在の行から10行分コメントアウト
:.,+9 s/^/#
でいいな。
戻す時は逆に s/^#/ すればいいし。
>>485 だと極端な話構文エラーになるような文字列が中にあると駄目なこともあるし。
489 :
login:Penguin :2007/10/04(木) 15:48:02 ID:oJ6I00tk
毛一個 XFree86-develってXorgので代用できないんかな。 出来そうな気もしないでもないような気もするのだが。
flymake誰かつくってほしいです
>>489 最近のXFree86*をobsoleteにしているものなら、xorgで代用しているはず。
>>490 emacs22のパッケージなら同梱されているはずだが?
なぜ、flymakeだけ欲しいの?
>>491 emacs22にすればいいのですね
今まで21使ってたから動かなかったんだ
>>494 そりゃ手で打つ時も同じなんだから、普通付ける時に考慮するっしょ。
496 :
login:Penguin :2007/10/09(火) 00:15:49 ID:Bgze7+jb
./configureするのではなく、libtoolから始めるやつあんじゃん。 あれってどっちから始めればいいかってのは、何を基準に判断すればいいの。
libtoolの意義が分かれば、順序が分かる
違う人が作成した、同じソフトウェアの spec ファイルを、両方のいいところ をとってマージした場合、changelog の扱いはどうするのが普通でしょうか?
>>498 両方の情報を適当に織り込んで書くか、
面倒臭ければ
- Initial spec file, based on foo and bar
みたいに書いておけばよいのでは
>>499 ありがとうございます。
適当に織り込んで書いてしまうと、履歴じゃなくなる気がするので、
'〜 based on 〜' のアイデアを使おうと思います。
501 :
login:Penguin :2007/10/29(月) 12:03:01 ID:XFknqRWc
marged A xxx section and B yyy section
502 :
login:Penguin :2007/12/10(月) 10:17:50 ID:aaBPBrum
この制御文字なんとかなんね?? 入れざるを得ないのに表示できねえから cat << EOF > ${RPM_BUILD_ROOT}%{_bindir}/7zr #! /bin/sh /usr/lib/p7zip/7zr "$@" EOF
"\$@"
>>502 普通に
/usr/lib/p7zip/7zr $@
でできているが。
>>504 shellにもよるがエスケープしないと出ないから
>>503 で。
"でくくっとけ。理由はわかるよな。
506 :
login:Penguin :2007/12/10(月) 10:50:02 ID:aaBPBrum
すばらしい
507 :
login:Penguin :2007/12/13(木) 08:20:31 ID:JeZOHY5G
buildrequiresは || でORできないのか? findで見てから%ifしかないのか?
>>507 or条件は書けないはず。
言ってる通り、%defineして%ifするのが妥当。
>>507 書けないかどうかは分からないが、取り敢えず私には
思いつかない
510 :
login:Penguin :2007/12/14(金) 11:31:40 ID:djUpt+2w
できれば BuildRequires: jdk >= 1.6 || jre >= 1.6 とかできればいいのに
>>510 よく知らないが、jdkとjre側でProvidesをうまいこと指定しておけって
事じゃない?
512 :
login:Penguin :2007/12/19(水) 00:26:24 ID:D/sQ0LFM
JDKおよびJREはSUN Microsystemsの範疇だからユーザーにはどうともできないだろ
パッケージ情報だけいじれない?
515 :
login:Penguin :2007/12/25(火) 00:58:37 ID:WxwdOmPj
rpm -U で新しいヴァージョンに更新したときの動作として、古いパッケージを削除してからインストールされるのか、 インストールされてから削除されるのか、どっち?
>>515 /usr/share/doc/rpm-4.4.2.2/triggers
インストールされてから削除される
517 :
login:Penguin :2007/12/25(火) 01:55:30 ID:H9VdeBFN
インストールする前に削除やったらマッキントッシュのファイル移動みたいな 頭の悪いことになってしまいかねない。 (ファイル移動完了前に消すのでキャンセルすると移動元も移動先もどっちも消える)
519 :
login:Penguin :2008/01/14(月) 02:52:48 ID:Hy4ZdnuO
specの見づらさといったらない タブ下げできないだろ 出来る場所もあるけど タブで下げると認識しない部分が多すぎ
fedoraのカーネルとかglibcとか、ああいう大規模specは例外なく見づらい。
だからといって、kernelのspecがインデントで見易くなるとは思えん。
523 :
login:Penguin :2008/01/15(火) 11:02:08 ID:802CxOrm
「おじーちゃんspec臭ーい」 「インデントー」
>>521 今見た感じ、両方ともパッケージの性格上、
%defineと%ifarchが多いけど、読むだけなら普通クラスだな。
525 :
login:Penguin :2008/01/29(火) 09:43:44 ID:PiAk8lBM
%makeinstall では正常に動作せず、 make install DESTDIR=""${RPM_BUILD_ROOT} でなければいけないものと、 GDBM-1.8.3のように %makeinstall でなければいけないものがあるわけだが この差はどこからきてるんだ?なんで。
俺もなんかmakeinstallが嫌な動作するので すべてmake install DESTDIRにしてるんだが gdbmはこの時点でprefixにインストールされてしまう
>>527 gdbm 1.8.3のMakefile.inを見てみたけど、
最近のautotoolで自動生成された形式ではないね。
古いMakefileではDESTDIR=fooを受け付けないのは
良くあること。
でgdbm 1.8.3の場合はMakefile.inを見た限りでは
INSTALL_ROOT=fooとかいうのを受け付けそうな
気がするけど?(試してはない)
INSTALLに対するパッチで力技やった そっちのほうがスマートだな ありがとう
>>529 それは gdbm にパッチを当てて、Fedoraのガイドラインに
沿った spec ファイルを書いて、merge review に入る。
と期待していいのかな。
531 :
login:Penguin :2008/02/03(日) 04:12:48 ID:FV7Cq710
ALSAってあらかじめspec入ってるよな それ使ってRPM作ると、音鳴らないんだけど何で。 見たところどうも/dev/sndにデバイスがないのでポートが使えないようなのだが こういうのって自分でMAKEDEVしなきゃならんもんなのか????
532 :
login:Penguin :2008/02/03(日) 04:13:28 ID:FV7Cq710
ないならやれってことなんだろうが、なら最初からspecに書いてくれよって
>>531 alsa*.specが面倒を見るものではないから。
もしくはそういう前提でspec書いているから。
使ってるdist.知らないけど、いまどきは/dev以下はudevが面倒みるんじゃね?
アップデートすると今まであったデバイス全部消えるけんな
このスレに何か最近こんな感じの文体や態度が独特な人が増えたみたいだけど、同じ人かな。 や、良し悪しとかそういう意味じゃないけど。
>>535 一人じゃないと思うよ。
スルーせずにレスつける人がいるから助長してる部分もあるのだと思うけど
キレてたり、独り言みたいな書き方だったり、方言?みたいなの使ってみたり
普通に質問できない人は他のスレでも増えてると思う。
>>535 Vineスレで暴れてる人と同じ人。
specが書けることがアイデンティティーを保つ手段。
>>537 > Vineスレで暴れてる人と同じ人。
今は隔離スレの方だけで本スレに迷惑かけてはいないけどな。
隔離スレを本スレと言い張って困惑させてはいるが。
まあここでは暴れてる訳でもなく、ちょっと風変わりなだけで済んでるから
弄らなければ気にせずとも良いのではと。
どんだけイジメられてビビッてんだか知らんが すぐにそれだな毎回w
本人乙
いい加減スレ違いだ
以後彼はスルーで
むしろ気になることは、普段英語は発音大事といってるのに 空港の免税店で「デューリ゛ィフゥリィィでーす」と聞くとなんかムカッと来ること。
546 :
login:Penguin :2008/02/17(日) 21:35:20 ID:KKn1ILV+
emacs で spec ファイル編集する際に,changelog に現在の日付を簡単に挿入 するばあいはどうするのでしょうか?
547 :
login:Penguin :2008/02/17(日) 23:44:54 ID:jnu314v4
>>546 rpm-spec-user-full-name と rpm-spec-user-mail-address を
設定しておいて C-c C-e(rpm-add-change-log-entry)
どうやってもcyrus-saslで--enable-sql --with-mysql=/usr/lib/mysqlでできない…。 もう朝になったしorz ダメなのは俺の頭と分かってるんだけど誰かヒントだけでもくれませんか? vineのcyrus-sasl-2.1.18-0vl6.src.rpmなんですが…。
>>548 ログくらい出せ。
エスパー募集ならそう書いとけ。
http://pc11.2ch.net/test/read.cgi/linux/1155412397/355 上記スレにて質問していたのですが、specファイルの作成ミスなのかも
知れないと思いこちらにて質問させていただきます。
rpmbuild -baやrpmbuild -bbでも
manやinfoをPrefixにインストールしようとしてしまうようです。
rootで行うと実際にmanを書き込んでしまいました。
user権限なので書き込み出来ずパーミッションで弾かれていたようです。
man-pages-2.79で試してみました
%pre
%setup -q
%build
%install
make install
man-pages.specの一部ですが、書き方を間違っているのでしょうか?
>>550 ログみないとはっきりは言えないが、
手元のman-pages.spec では make install 使ってない。
man-pages自体でそういう入れ方しろって書いてないか?
あ、すっかり忘れてました man-pages.specは自分で書いたものですが テストとして他の鳥の*.src.rpmでリビルドしても同じ現象になります
>>552 「必ずレスがもらえる質問のガイドライン」じゃないんだから、
情報小出しにするなボケ。
インストールの手順も試したsrc.rpm名も
パッケージ作成時のログも見せずに解決できるわけがない。
自分でログ見て考えな。
すいません小出しにするつもりはありませんでした。 src.rpmは一つや二つじゃなくどのsrc.rpmでも同じ現象になります rpmというかパッケージシステムに慣れていませんので どういう風に質問すればいいのかさえ理解できておりません。 パッケージ作成時のログというのは/var/tmpに作られるxxxx.tempファイルでしょうか?
555 :
login:Penguin :2008/06/01(日) 21:30:29 ID:o2YzY2CY
xxxx.tmpじゃなく/var/tmp/rpm-tmp.xxxxでしたね ログとはこれの事でしょうか? 今、問題の環境で起動しました。 さっきまで違うパソコンでしたので。
普通はよく知らないことを質問するときは 相手が情報を調べられるようにするもんだ。 いまの場合、当該の状況が回答者の目の前の マシンで起きてるわけじゃないから、 やった手順を提示して追試してもらい、 それで情報のすりあわせをやる。
とりあえず、そのRPMのログというのを教えて頂きたい /var/log、$HOME、/var/lib/rpmにもそれらしきものは無く 先程書いた/var/tmp以下にあるファイルしか思い当たる節がないです。 rpm --showrc | grep log と実行してみた結果も -14: __dbi_rebuild nofsync !log !txn !cdb -14: _changelog_truncate 1 year ago という事で何をどうしたらいいのかサッパリです。
なんとなく解決の糸口が見つかりそうです error: Installed (but unpackaged) file(s) found: /usr/man/man1/m4.1 このように/usr/manや/usr/infoの時にエラーになってる /usr/{man,info}は/usr/share/{man,info}へのシンボリックリンクです
>>557 - sampleとなるspec file
- rpmbuild -ba XXXX.specとした時に表示されるログ
を最低限どっかのupろだに上げて示す。
私たちはエスパーではない。あなたのマシンで何が起きているか、
分かるような情報を提示してもらわないと答えようもない。
まあ、分かった。本当は
> 標準出力のログでしたか。
標準エラー出力も欲しいところだけど (2>&1)
要は、インストールされる予定のもので、%filesに
記述が足りないものがある、という事でしょ?
>>558 > error: Installed (but unpackaged) file(s) found:
>>560 m4.specに関しては、
>>561 の言うとおり
%filesに以下を追加すればよい。
%{_mandir}/man1/m4*
でも、
>>550 の
> manやinfoをPrefixにインストールしようとしてしまうようです。
という症状は良く分からん。
>>550 make install ってやったら
Makefile に書かれてるところにインストールされるのが当然の動作。
普通 rpm を作るってことは考慮されてないから
/usr とか /usr/local とかにインストールされる。
rpm を作る時は %install のところで
prefix とか DESTDIR とかをいじることで
実際のパスとは違うところ(%{buildroot}/%{_prefix} とか)にインストールする。
$ rpmbuild --showrc|grep makeinstall -A 20 とかやって
%makeinstall ってマクロがどんなことやってるのかを確認してみるといい。
マクロが使えれば使う。
使えなければ
%{__make} --prefix=%{buildroot}/%{_prefix} install
とかいったようにディレクトリを指定する。
一部のpackageについては、 prefix=%{buildroot}や、make install DISTDIR=%{buildroot}/・・・ が通用しないのもある。(configure及びMakefileが、gconf,gmakeじゃない??) そうゆうpackageについては、spec詳しくみれば分かると思うけど、%installや%makeinstallブロックに、 install -D -m 644 %RPM_BUILD_ROOT/%{name}/***.so %{buildroot}/lib/・・・ みたいに書いてある。 今手元にあるいくつかのspec覗いてみると、CGI-SpeedyCGIがそうだったけど、これは以前、自分が改造したやつだった。 (でも確か、上の通りDISTDIRやprefixが効かなかったので、何かは忘れたけど別のpkgのspecを参考にした記憶がある。)
いや、多分 > error: Installed (but unpackaged) file(s) found: > /usr/man/man1/m4.1 という表示を、「m4.1が/usr/man/man1にインストールされたようだ」 と勘違いしているんだと思う
皆さんレスありがとうございます
今、帰宅しました。
>>562 さん
後でトライしてみます。
> manやinfoをPrefixにインストールしようとしてしまうようです。
これについてなんですが、
>>550 で書いた
%install
make install
と記述したせいなのか/usr/man/man1等の中にファイルが書き込まれてしまいました
rpmbuild -ba や rpmbuild -bb はrpmパッケージ、srpmパッケージを生成し
インストール作業は行われないと思っていたのですがこの時点で自分の勘違いでしょうか?
-ba : rpmとsrpmを生成
-bb : rpmを生成
環境変数を書き換えてないからじゃないの? make -e prefix=$RPM_BUILD_ROOT%{prefix} install こんな感じですかね
>>566 御託はいいからとっととやれ。そして報告しろ。
prefixの件はやっぱり
>>565 さんの解釈で正しいようだな。
てっきり
>>550 読んで/usr/m4.1 とかつくるのかと思ってしまったよ。
make installすれば、Makefileの通り動作すると言われてるだろ。
普通のインストールは/usr/man/man1とかに書き込む動作で正しい。
rpmbuildではDESTDIRとかに%buildrootを使って指定して
仮想インストールしてパッケージ作ってるんだよ。
なぜならそうしないと、今の環境を上書きしてしまって困るからだ。
ついでに、「/usr/man/man1 に書き込まれた」って、もしかしてrpmbuildを
root権限で実行してやしないだろうな? もしやってたら止めるように。
最後にこいつ
> rpmbuild -ba や rpmbuild -bb はrpmパッケージ、srpmパッケージを生成し
> インストール作業は行われないと思っていたのですがこの時点で自分の勘違いでしょうか?
お前のspecファイルの書き方が悪いだけ。
ちゃんと動作するやつを参考にしろ。
分かりもしないのに0から書くのは時間の無駄。
>>567 それ環境変数か? ただの変数では?
当たり前の事を偉そうに並べ立ててなんだこの馬鹿は?
570 :
login:Penguin :2008/06/12(木) 18:31:38 ID:+3KxROOU
"BuildRoot:"を必ず宣言して "%install"で rm -rf %{buildroot} make DESTDIR=%{buildroot} install とするのがいいんじゃないかとFedoraのPackaging Guidelinesに書いてある。
571 :
login:Penguin :2008/06/12(木) 23:38:40 ID:KwSl/q6b
rpmの競合エラーの解決方法教えてください。 --forceでも、エラーとなってダメです。
573 :
login:Penguin :2008/06/13(金) 00:12:24 ID:w1f2e4XO
>>572 それもやったんですけど、MD5がマッチしないみたいなエラーが出てまして、どうしたらいいのか検討もつきません。
インストールしたいのは、openldap2.3です。
>>573 正確なエラーメッセージはなに?
入力コマンドと出力結果をそのまんま書いて
575 :
login:Penguin :2008/06/13(金) 00:49:05 ID:w1f2e4XO
>>574 レスどうもです。今、家なので正確なエラーまでは今はわかりません。すいません。
やった手順としては、
tar展開、configure色々オプション付きで実行、make、checkinstallでrpm作成、
rpm -ivh openldapのrpm
ここで、競合エラーが5つ程出ました。競合しているのはCのライブラリやjava関連とかでした。
仕方ないので、--forceや--replacefilsやったら、今度は、
/bin/catのMD5がミスマッチ?だみたいなエラーが一行出て終わってしまいます。。。
それでは意味が分からん....
cpio: MD5 sum mismatch なら 1.6.1 のバグじゃない? 1.6.0 を試すといい
578 :
login:Penguin :2008/06/14(土) 00:21:45 ID:BZR5Dj+H
どうやらそうみたいでした。しかし、最初の競合エラーまでなぜか解決。 MD5はググって自己解決してたんですけど、最初のエラーが気になっていたのでインスコは見送って、バージョン下げたら何とか出来たっぽいです。 うーん気持ち悪い。 ソースからrpm作成なんてしばらくやりたくないな。
579 :
login:Penguin :2008/06/14(土) 15:41:55 ID:4kV5wYkG
rpmってどんだけ昔のパッケージを管理システムだよ。 まだこんなの使われてんの?
debなんて車輪の再発明だろ?
rpmのChangeLogによれば最初のcommitは1995/11/27 dpkgのChangeLogによれば最初のcommitは1994/08/25
>>580 「てにおは」じゃなくて「てにをは」だろwwww
rpmbiuld --eval についてなんですけど、 例えば、rpmbuild --eval "%_topdir" や rpmbuild --eval "%configure" とかで、定義されているマクロを表示することが出来ますが、 これは、.rpmmacrosやrpmrc内で定義されている内容しか表示できないのでしょうか? 自前(じゃなくてもいいけど)のspecファイルを用意して、動作確認とかをしたい時、 そのspec内で定義されているマクロや変数なんかを出力したいのですが、 そのようなことは可能でしょうか? 一応 rpmbuild の--helpやman、"rpmbuild --eval"などでググって見たのですが、 それらしいやり方を見つけられませんでした。 例えば、rpmbuild --nobuild ~/mydir/perl.spec --eval "%perl_debugging" とかやってみても、 %perl_debugging とそのまま出力されてしまいます。 OSはCentOS/4.7、rpm及びrpmbuildは4.42です。
>>584 specにこういう内容を書けば望みどおりの動作する?
print_config() {
cat <<EOF
configuration check
perl_debugging -> %perl_debugging
EOF
}
print_config
>>584 普通はspec fileの中に
echo %__sed
とか書いて、rpmbuildを実際に実行して何と表示されるか確認する。
というか、macroはspec fileの中で何度でも再定義出来るから、
macroが展開される場所で実際に何と定義されているか知るには
それしかないと思うけど。
>>585 ,
>>586 夜分遅くありがとうございます。
>>585 の内容をどこかのセクション(例えば%prepとかに)書いて、実際にrpmbuild -bpとかやってみれば、出力されます。
>>586 やはりそうですか。
自分も今までは、rpmbuild -bp(とか -bc) > rebuild.txt みたいな感じで保存して、
そのファイル内から "+ 〜〜"の行を探してどう実行されたかや、rpmbuildが途中で
コケた時に残った/var/tmp/rpm_tmp***** なんかを読んだりしてたんですが、
再確認にあたり、%prep 程度ならすぐに済みますが、%installセクションとかまで進んでから
「ありゃ?オプション間違ってるべ」 みたいなことになったときに、またまたそこまで進んで
状況を確認するのに30分とか1時間とか待たないといけないようなことが結構あったので、
実際に実行しなくても、定義されてる内容を出力できないかと思い、色々調べてみたり、聞いてみたりしました。
でも確かに仰る通り、どの時点の、かをrpmbuildに知らせることが出来ないようですので、
やっぱりそのような地道な方法でやるしかないようですね。
( rpmbuild -bp ~/mydir/perl.spec --eval "%perl_debugging" でやってみたら、
%perl_debuggingと一行出力された後、%prepセクションが実行されてしまいました。)
ともかく、こんな夜分遅くに素早いレスありがとうございました。
>>587 時間かかるなら、--short-circuit すりゃいいんじゃね?
個人的には信じてないからspec変更したら最初から作り直すけど。
>>584 > 自前(じゃなくてもいいけど)のspecファイルを用意して、動作確認とかをしたい時、
> そのspec内で定義されているマクロや変数なんかを出力したいのですが、
> そのようなことは可能でしょうか?
可能
SPEC ファイルの中に
%dump
って書いておいて普通にビルド。
rpmbuild -ba hoge.spec
rpm -ivh --test hoge.rpm error: Failed dependencies: ここで%filesの全てが必要だという依存性の問題が出るんですが 回避するにはどうすればいいですか?
>>590 エラーメッセージはそのまま貼り付けるのが
基本です
592 :
590 :2009/05/23(土) 18:40:33 ID:9mtn0p3C
---- エラーメッセージです ----
rpm -ivh --test screen-*.rpm
error: Failed dependencies:
/usr/bin is needed by screen-4.0.3-1.LFS.i686
/usr/share/doc is needed by screen-4.0.3-1.LFS.i686
/usr/share/info is needed by screen-4.0.3-1.LFS.i686
/usr/share/man/man1 is needed by screen-4.0.3-1.LFS.i686
/usr/share/screen is needed by screen-4.0.3-1.LFS.i686
---- specのヘッダ部です ---
Summary: screen manager with VT100/ANSI terminal emulation
Name: screen
Version: 4.0.3
Release: 1%{?dist}
License: GPL-2
Group: app-misc/screen
Source0:
ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz URL:
http://www.gnu.org/software/%{name}/ Distribution: Linux From Scratch
Vendor: pc
BuildRoot: %{buildroot}
--- spec の %files です ----
%files
%defattr(-,root,root)
%doc COPYING ChangeLog INSTALL NEWS README TODO
%{_bindir}/*
%{_mandir}/man*/*
%{_infodir}/*info*
%{_datadir}/screen/*
>>592 *rpmのバージョンは何ですか(ひょっとして5系の
ものを使っていませんか)?
*"filesystem"という名前のrpmがあれば、それを先に
installすると回避出来ませんか?
594 :
590 :2009/05/23(土) 18:59:27 ID:9mtn0p3C
>>593 ビンゴです!
5系です。5.1.1を使ってます。
5系はまずかったでしょうか……。
filesystemというのがよく解りませんが、もしかして
初期のディレクトリ構造を作るrpmファイルが必要なんでしょうか?
>>594 Fedora/RedHat系では"filesystem"という名の
rpmがあって、それが正に初期のディレクトリ構造を
作成する為のrpmです(他の主要なdistributionでも
同様のrpmを提供しているはずです)。
多分Fedora/RedHatのfilesystem rpmを
rebuildしてもinstall出来ると思います
rpm5系では、(聞いた話では)installされるfileのparent directory
を提供するrpmがinstallされていないとエラーを出します。
因みにrpm5はrpmの最初(?)の開発者である
Jeff Johnsonがほとんど独りでに開発しているもので、色々な
経緯や対立があって主要なdistributionは採用していないと
思います。
596 :
590 :2009/05/23(土) 19:26:59 ID:9mtn0p3C
ベースにしてるVineにもfilesystem-*.rpmがありました。 覗いて研究してみます。 ちなみにrpm5にしたのは特に理由はなく軽い好奇心でした。 どんなもんかなぁと。 しかし凄いですね、本物のエスパーに出会えた気がします。 ありがとうございました!!
> %{_bindir}/* > %{_mandir}/man*/* > %{_infodir}/*info* こういうシステムに必須のディレクトリやFHS準拠のディレクトリは filesystem.rpmに含めやすいけど > %{_datadir}/screen/* /usr/share/screenのようにアプリごとに必要なディレクトリは どうしたらいいんだろう?
>>597 %{_bindir}/* などは filesystem.spec では持たない。
filesystem.spec 側で持つのは、%dir %{_bindir} のみ。
個別のディレクトリは個別(今回はscreen.spec) で持つに決まってるだろ。
あ、解った。
>>592 の%filesを
>%{_bindir}/*
>%{_mandir}/man*/*
>%{_infodir}/*info*
%dir %{_datadir}/screen
>%{_datadir}/screen/*
こういう風に変えりゃいいのか
すみません。
wget
http://www.openspf.org/blobs/pypolicyd-spf-0.7.1.tar.gz tar xzf pypolicyd-spf-0.7.1.tar.gz
cd pypolicyd-spf-0.7.1
python setup.py bdist_rpm
ってやると、SRPM作るまでは行くんですが、rpmbuild --rebuildの部分で止まってしまうんです。
policyd-spf.1がないよ!と言ってるのは分かるんですけど、どこにそのファイルがないと言ってるのかが分からず、自力では解決できませんでした。。
誰かお分かりの方おられましたら教えていただけませんか?
602 :
login:Penguin :2009/10/05(月) 17:40:24 ID:iORBSUfn
RPMを作成するためにspecファイルを作っているのですが %preを記述することでinstall前に色々と行うことが出来ると思います。 ですがいくつかのspecファイルを見ていると$installの下の方に%preが記述しているのですが これは書式が正しければ順序はあまり気にしなくてもよいということでしょうか?
>>602 何だか勘違いをしているかも知れないので一応
言っておくと、%installステージはsrpmからrpmbuildで
binary rpmを作成する時に実行されるもの。
一方%preはbinary rpmをインストールする時に、
その直前に実行されるもので、
srpmを作成する時に実行される%installの前に実行される
訳ではないというのはOK?
604 :
603 :2009/10/05(月) 18:33:57 ID:Plg/ruqL
> srpmを作成する時に実行される%installの前に実行される訳ではない 正しくはsrpm「から binary rpmを」作成する時に 実行される %installの前に実行される訳ではない
605 :
602 :2009/10/05(月) 18:41:33 ID:iORBSUfn
すいません勘違いしてました。 RPMのインストール前に実行されるのではなく、RPM作成時における%install前にに行われる作業ということですね。 ありがとうございました。
いやいや、そうではなく%preは 「(binary) RPMの(システムへの)インストール前に実行される」のであって、 「(srpmからの) (binary) RPM作成時における%install前に行われる作業」 ではないという事。 つまりsrpmからrpmbuildでbinary rpmをrebuildするときは、 %prep -> %build -> %install -> %checkが実行され、 rebuildされて作られたbinary rpmをシステムにインストールする時は (主要なものだけ書くと) (これからinstallされるbinary rpmの)%pre -> binary rpmの展開とシステムへのインストール -> (installされたばかりの rpmの)%post -> (前のrpmの)%preun -> 前のrpmのclean up -> (前のrpmの) %postun が実行される
607 :
602 :2009/10/05(月) 20:03:15 ID:iORBSUfn
>>606 度々ありがとうございます。
しかも非常にわかりやすく説明していただいて申し訳ありません。
実際には書く順序は上から流れに沿っていなくてもよさそうでね。
%installの中でinstallをするに当たって指定のファイルがあれば
install -m 755 hoge.hoge /etc/hoge.hoge
を実行して、指定ファイルがなければ
install -m 755 moge.moge /etc/moge.moge
みたいな事が出来ればと考えておりました。
そこで%preの部分で判断して、その結果をふまえて%install内のinstallをif文で
分岐させれば出来るのではないか?と考えておりました。
>>607 そういう事がしたいのであれば、hogehogeもmogemogeも
両方別の所にインストールしておき、%postで適当に処理する
のが妥当だと思う。%install時に必要なファイルがあるかどうかを
判断するのは正しくない。例えば:
------------------------------------------
%install
rm -rf %buildroot
mkdir -p %buildroot%_datadir/%name
install -cpm 644 hogehoge mogemoge \
%buildroot%_datadir/%name/
....
%files
%_datadir/%name/
....
%post
if [ -f some_needed_file ] ; then
install -cpm 644 %_datadir/%name/hogehoge %_sysconfdir/
else
install -cpm 644 %_datadir/%name/mogemoge %_sysconfdir/
fi
-------------------------------------------
%filesに%config(missingok) %_sysconfdir/mogemogeとか
書きたくなるかもしれない
609 :
602 :2009/10/05(月) 22:33:24 ID:iORBSUfn
>>608 なるほど。
一旦ファイルは違う所に入れておいて%postで判断して再配置してやるわけですね。
非常に勉強になります。
こちらを参考にしてやってみます。
本当にありがとうございます。
610 :
login:Penguin :2009/10/13(火) 15:19:19 ID:ZJEPQsCG
rpmでtarget指定出来るけどXeonとかの場合はどれになるの?i686?
i686
612 :
610 :2009/10/13(火) 15:33:37 ID:ZJEPQsCG
613 :
login:Penguin :2009/10/14(水) 11:35:33 ID:FeA2ufKe
現在バージョンをtest1とtest2の2つ作ってみたのですが 両方入れることが出来ます。(ファイルは上書きされていますが) RPMでダウングレードとか出来ないようにしたいんですがspecにはどう書けばいいんでしょうか?
>>613 どういう状況かよく分からない。
fooって名前のrpmで、バージョン1.0と2.0のもの(foo-1.0-X foo-2.0-Y)
があってfoo-2.0-Yがインストールされていたとして、どう頑張っても
一旦foo-2.0-Yを削除してfoo-1.0-Xをインストールすれば
ダウングレードは出来てしまうから(というかやっぱりどういう状況か
よく分からんけど)、ダウングレードを禁止する、というのは
無理なのでは?
615 :
613 :2009/10/14(水) 12:25:46 ID:FeA2ufKe
>>614 説明不足でした。
foo-1.0とfoo-2.0のバージョンがあります。(SPECのバージョン以外は同一です)
foo-2.0が入っている状態で(foo-1.0を削除しない状態で)rpm -ivh foo-1.0とするとfoo-1.0はインストールされて
rpm -qa | grep fooなどで見ると
foo-1.0
foo-2.0
と2つのバージョンが出てきます。
あくまで1.0 -> 2.0 -> 3.0という風にしたいのですが、現状では1.0 <-> 2.0が出来てしまう状態でなおかつバージョンが複数存在してしまう状況です。
あくまでバージョンアップのみで1つのバージョンのみにしたいという事になります。
こういった事が可能なのでしょうか?
>>615 複数のバージョンが同時にインストールされないように
したいというのであれば、例えば foo-2.0.specに
Conflicts: foo > %{version}-%{release}
Conflicts: foo < %{version}-%{release}
を加える。これでもrpm -Uvh --oldpackage foo-1.0-X.noarch.rpm とかすると
古いバージョンへのdowngradeは可能だけど(こういうことをしなくても
結局さっきも行った通り一旦新しいのを削除して古いバージョンを
入れ直すとかいうことは可能だし)、foo-1.0とfoo-2.0が同時に
インストールされる、とか言うことは出来なくなる。
>>615 Conflicts とか Obsoletes とか。
けど普通、615の通りにしたら、rpm -ivh した時に、
「もう既に、入れようとしてるのより新しいバージョンが入ってるよ」
とか言われない?
まあどっとにしろ--forceオプションつければ入ってしまうんだけども…。
リロードしてなかった・・・orz
619 :
613 :2009/10/14(水) 13:40:49 ID:FeA2ufKe
>>616-617 ありがとうございます。
conflictsというのがあるのを知りませんでした。
旧バージョン削除とかされたら対処のしようがないですがこちらで対応できそうですので試してみます。
# rpm -ivh --test perl-5.8.8-1.LFS.i686.rpm error: Failed dependencies: perl >= 0:5.00404 is needed by perl-5.8.8-1.LFS.i686 perl >= 0:5.00405 is needed by perl-5.8.8-1.LFS.i686 perl >= 0:5.00503 is needed by perl-5.8.8-1.LFS.i686 perl >= 0:5.007003 is needed by perl-5.8.8-1.LFS.i686 perl >= 0:5.008001 is needed by perl-5.8.8-1.LFS.i686 perl >= 1:5 is needed by perl-5.8.8-1.LFS.i686 perl >= 1:5.7.2 is needed by perl-5.8.8-1.LFS.i686 perl >= 1:5.8.0 is needed by perl-5.8.8-1.LFS.i686 perl(Carp::Heavy) is needed by perl-5.8.8-1.LFS.i686 perl(FCGI) is needed by perl-5.8.8-1.LFS.i686 perl(Mac::BuildTools) is needed by perl-5.8.8-1.LFS.i686 perl(Mac::InternetConfig) is needed by perl-5.8.8-1.LFS.i686 perl(NDBM_File) is needed by perl-5.8.8-1.LFS.i686 perl(Tk) is needed by perl-5.8.8-1.LFS.i686 perl(Tk::Pod) is needed by perl-5.8.8-1.LFS.i686 perl(VMS::Filespec) is needed by perl-5.8.8-1.LFS.i686 perl(VMS::Stdio) is needed by perl-5.8.8-1.LFS.i686 perl(getopts.pl) is needed by perl-5.8.8-1.LFS.i686
Summary: The Perl package contains the Practical Extraction and Report Language.
Name: perl
Version: 5.8.8
Release: 1%{?dist}
License: GPL
Group: Development/Language
Source0:
ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.bz2 BuildRoot: %{buildroot}
URL:
http://www.gnu.org/software/%{name}/ Distribution: Linux From Scratch
Vendor: pc
%description
Perl is a language that combines some of the features of C, sed, awk
and shell. See the manual page for more hype. There are also many Perl
books available, covering a wide variety of topics, from various publishers.
See pod/perlbook.pod for more information.
Please read all the directions below before you proceed any further, and
then follow them carefully.
%prep %setup -q %build ./configure.gnu \ --prefix=%{_prefix} \ -Dman1dir=%{_mandir}/man1 \ -Dman3dir=%{_mandir}/man3 \ -Dpager="%{_bindir}/less -isR" %{__make} %install rm -rf ${RPM_BUILD_ROOT} make DESTDIR=${RPM_BUILD_ROOT} \ prefix=%{_prefix} \ install %clean rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,root) %doc AUTHORS Copying Changes* Cross README README.linux %{_bindir}/* %dir %{_libdir}/perl5 %{_libdir}/perl5/* %{_mandir}/*/* %changelog
623 :
620 :2010/02/24(水) 19:28:47 ID:Wf0IZUea
ncursesを入れようとしたらperlが必要と言われるのでperlを入れようとしたら
>>620 のエラーが出ます。このエラー内容から何をperlより先に入れればいいのでしょうか?
rpmのバージョンは5.1.1です。
>>623 正直perl.specに手を出すのは手が早すぎるのでは無いかと
思うけど...
取り敢えずFedoraのspec fileを参照すると(下のURL参照)
http://cvs.fedoraproject.org/viewvc/rpms/perl/devel/ * perl(FCGI), perl(Mac::XXXX, perl(NDBM_File), perl(TkXXXX
はperl.reqからこれらをfilter outするスクリプトを作って、
%__perl_requiresを再定義する
* perl(Carp::Heavy), per(VMS::XXX , perl(getopts.pl)は、手動で
Provides:に加える
* perl >= foo 関連は Epoch: 1を加えて対応する
余りに意味が分からなければ、正直vendor配布のsrpmをrebuild
したほうがいいと思う。
>>625 鳥がLFSなんでsrpmが無いんです。
あまりにも意味が解らないですが、何とか頑張ってみます。
Epochとか初歩的な事なんだろうか?全然知らなかった。
perlは鬼門かぁ、rpm難しいなぁ……
取り敢えず面倒臭ければ * Release: 1%{?dist}の次の行に Epoch: 1 と書いておく * perl(foo) is needed by ... と出ているものは 全部Providesに加える e.g. Provides: perl(Carp::Heavy) とか何とか をBuildRoot: の行以下にずらっと書いておく とすると多分行けると思う。
>>627 ありがとうございます、うまくいきました!
Epochについて詳しく説明されてるサイトは無いでしょうか?
http://www.jp.redhat.com/magazine/NO8/ >実はパッケージの新旧を判別するときにバージョンより前に比較されます。
>このフィールドはEpochです。Epochは整数値で、基本的にRPMのバージョン
>比較アルゴリズムを使用して正しく比較されないような方法でアップスト
>リームバージョンが変化するときに使用されます。特に理由がないかぎり、
>またEpochが悪用される可能性を理解していないかぎり、Epochはパッ
>ケージングで使用するべきではありません。
また、Vineのサイトでは「Epochは無闇に使わない」と書いてました。
バージョン比較に関する事のようなので自分のように理解の浅い者が使うと最初は良いが後で大変な事になりそうです(汗)
>>628 書かれてある通り。
(Fedora rawhideな私はrpm 4.8.0なので)詳しいことは
/usr/share/doc/rpm-4.8.0/dependenciesに書かれてあるけど、
要は普段使うVersionタグの更に上位の数字で、通常のversion
numberを上げる方法では「どうしても」解決出来ない事態が
起こったときに使う。
A. 今まであるソフトのversion 1.2を使っていたけど、1.3にupgradeした。
所が「うまく行かない」と苦情がいっぱい出たので1.2に戻したい。
このときEpochを導入してEVR (Epoch:Version:Release)が
1.3 -> 1: 1.2という流れになるようにして「upgrade」させる
(実質的には downgradeだけどepochを入れたためrpmの
EVR比較ではupgradeされる、という判断になる)
B. あるソフトは、数学の少数のように1.2 -> 1.21 -> 1.22 -> 1.3 みたいな
バージョンの上がり方をする。この時このバージョンをそのままrpmの
Versionに使おうとすると、rpm的には1.22 > 1.3なのでupgradeが出来ない
(rpmは 1.8 -> 1.9 -> 1.10 みたいな上がり方を前提としている)
この為1.22から1.3に正常にupgrade出来るようにEpochを導入する。
>>620 で perl >= 0:5.00404 is needed by perl-5.8.8-1.LFS.i686
というエラーが出ているけど、 rpmのversion判断としては
5.8.8 < 5.00404 ( [5, 8] < [5, 404])なので、Epochが必要になる。
630 :
620 :2010/02/26(金) 15:24:30 ID:O248/D0k
>>629 返事が遅くなりました。
詳しく丁寧な解説で大変スッキリしました。
おかげでやりたいことが順調に進んでいます。
ありがとうございました。
631 :
login:Penguin :2010/03/02(火) 22:18:26 ID:fWiC3lm1
632 :
login:Penguin :2010/03/08(月) 14:36:56 ID:MwhnzSUc
>>632 g++: command not found というメッセージが大量に出てるけど?
>>632 netatalkスレワロタ
文字通りネタtalkだなw
そこにも書いてあるが
原因と対処法を知りたきゃ
エラーメッセージを読んでぐぐれよ。
他人に聞くのはその後だ。
>>634 いや、specがFedora用だから。
CentOSだとgccと別パッケージになってる。
638 :
login:Penguin :2010/03/08(月) 16:06:57 ID:MwhnzSUc
取り敢えずconfigureは終わっているみたいだけど? makeの途中で失敗しているのならそのログがほしい
640 :
634 :2010/03/08(月) 16:25:03 ID:2sdD7ihs
>>632 >>636-637 >ページ作者さん すまんかった。
>>638 log 最終行が
exit 1 から exit 0 になったから configure はたぶん正常終了した。
cat -n up4108.txt | lv
(lv で行番号表示するオプションがあるかどうかは知らない。)
で読んでみた。lv の画面で /630 Enter で 630行までとべる。
630 configure:8489: checking for shl_load
631 configure:8546: gcc -o conftest -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -fPIE -pie -Wl,-z,relro,-z,now,-z,noex
ecstack,-z,nodlopen conftest.c >&5
632 /tmp/cc078QFy.o(.text+0x13): In function `main':
633 /usr/src/redhat/BUILD/netatalk-2.0.5/conftest.c:65: undefined reference to `shl_load'
634 /tmp/cc078QFy.o(.data.rel+0x0): undefined reference to `shl_load'
635 collect2: ld returned 1 exit status
"shl_load" がどうこうで失敗してるらしい。
なんちゃら-debel かなにか、パッケージが足りてないのかもしれない。
CentOS 使ってないからパッケージ名はわからない。
$ rpmbuild -bp hoge.spec $ rpmbuild -bc --short-circuit hoge.spec $ rpmbuild -bi --short-circuit hoge.spec $ rpmbuild -bb --short-circuit hoge.spec # rpm -ivh --test hoge.rpm 段階的にやる事をお薦め まぁ好みかもしれないが……。
一歩進むたびにここで質問か。 まったく自力で解決する気のないヤツだなw
取り敢えず私はCentOS持ってないのでFedoraのkoji builderでしか 確認してないけど、Fedoraのnetatalk-2.0.5-2.fc13を元にするなら *BR: quota-devel cracklib-devel tcp_wrappers-develは-develを退かす *CentOS 4のdb4が(確認した限りでは)4.2.52なのに対し、Patch1が db4 4.3以上でコンパイルする為のものなので、patch1を当てない (当てると cnid_index.c:280: error: too many arguments to functionと 言われる) と、koji build --scratch dist-4E-epel-testing-candidate <修正したnetatalk.src.rpm> は一応成功した。動作するかは当然未確認
環境はCentOS 5.4 です。 rpmのバージョンは 4.4.2.3 です。 例えば、specファイルの %files で以下の様に定義していたとします。 %files %config(missingok) /etc/mypkg/conf/mypkg.conf.sample そして、このspecファイルで作ったrpmをインストール後に上記の ファイルを削除します。 その後、Release: を上げて作ったrpmを -Uvh でインストールしても、 上記のファイルはインストールされません。 そういうものなんでしょうか? -V オプションでチェックした時にエラーにはしたくない、 だけど、パッケージのアップグレード時にはインストールしたいといった 場合はどういう風にspecファイルを書くべきでしょうか?
>>644 二重にinstallして%postで必要に応じて処理をするのが簡単かも知れない。即ち、
*どっかに同じファイルをbackupとしてinstallする
例えばmypkg.confを
%files
%config(missingok) /etc/mypkg/mypkg.conf
/usr/share/mypkg/mypkg.conf.sample
と二重にinstallする
* %postに
%post
if ! test -e /etc/mypkg/mypkg.conf ; then
install -cpm 644 /usr/share/mypkg/mypkg,conf.sample \
/etc/mypkg/mypkg.conf
fi
と書いておく
646 :
644 :2010/04/09(金) 01:40:40 ID:+q/YJcXU
>>645 んー、何かスマートじゃない気がするけど、そんなやり方しか無いですかねぇ?
色々悩んでみたけど、やっぱり思いつきません。
647 :
login:Penguin :2010/04/12(月) 10:17:34 ID:0KX27N6a
今までファイル1個1個を指定していたんですがフォルダで指定というのは出来ますか? source0: test.so source1: test2.so と指定してましたが、ファイル数が増えてきたのでフォルダで指定できればと思ってます。
648 :
647 :2010/04/12(月) 11:55:27 ID:0KX27N6a
すいません。試しにやってみました。 Source0: /usr/src/redhat/SOURCES/test %install mkdir -p $RPM_BUILD_ROOT/var/www/html/test/ install -m 755 %{Source0} $RPM_BUILD_ROOT/var/www/html/test/ ここでinstall: cannot stat `%{Source0}': No such file or directoryというエラーが出ます。 ディレクトリもファイルもあるのですがフォルダの指定はダメということでしょうか?
>>648 ダメ。というか漏れはやったことない。
.tarとか.tar.gz .tar.bz2 にするだろJK
650 :
648 :2010/04/12(月) 15:44:16 ID:0KX27N6a
>>649 試行錯誤して
Source0: /usr/src/redhat/BUILD/test/
%install
install -m 755 /usr/src/redhat/BUILD/test/* $RPM_BUILD_ROOT/var/www/html/test
でフォルダごといけました。
tarなどでする場合はinstallでtarを指定して%postで展開という流れでしょうか?
652 :
login:Penguin :2010/04/27(火) 09:54:29 ID:O0k+afFo
RPMを作成しているのですが、ファイルを追加もしくは上書きするだけで RPMを削除しても追加もしくは上書きしたファイルは削除されないようにしたいと思っております。 削除する際のファイルというのはどこで指定されているのでしょうか?
>>652 やりたい事がよく分からない...
例えばfoo-1, foo-2という同じ名前でバージョンの異なるrpmがあって、
foo-2はfoo-1に比べてfoo-1にあるファイルが変更されていたり、
foo-1に比べてファイルが追加されていたりする。
この時foo-1をインストール -> foo-2にupgrade -> foo-2を削除
した時foo-1になくてfoo-2にあるファイル、又はfoo-1にあって
foo-2で変更されたファイルは、foo-2の削除時もuninstallされない
ようにしたいっていう事?(こんな事は出来るとは思わないけど)
654 :
652 :2010/04/27(火) 13:54:25 ID:O0k+afFo
>>653 やりたいことは
test.rpm
example.s
conf.dat
test2.rpm
example.s
とあった場合にtest2.rpmを当てる前にtest.rpmを消すのですが、この時に
conf.datが消えると困るの消えないようにする方法があればと思ったわけです。
もしくはtest.rpmを消しても2つともファイルが消えずに、test2.rpmを当てるとexample.sが上書きされるだけの状態
というのが出来ればいいと思ってます。
656 :
652 :2010/04/27(火) 14:19:21 ID:O0k+afFo
>>655 ありがとうございます。
rpmで入れたものはrpmを削除した際に必ず消えるという事ですかね
別の方法を考えてみます。
いくつかのRPM群で、共通ファイルとRPMごとの選択式ファイル群があるということなら 共通ファイルだけを別RPMにして、選択ファイルは依存関係でどうにかする というのが真っ当な考えなんじゃないの?
658 :
652 :2010/04/27(火) 14:49:28 ID:O0k+afFo
>>657 まったくもってその通りなんですが既存の手順と構成を維持したまま出来ればと思ってました。
%installと%filesでは実際にはこちらが用意した/reposi/に導入し、実際には%postセクションで
installセクションでやってたことをcpコマンドでやってやれば、基本的に上書きだけするようなものが出来るかな〜と漠然と考えております。
全然スマートなやりかたではないですけど・・・
659 :
login:Penguin :2010/05/25(火) 21:47:53 ID:RNYbx8WT
RPMを作成したのですがrpm -iで失敗した際のエラーには依存関係以外で出るものですか? RPMがちゃんと入ったかどうかの判断で、何も出なければ大丈夫だと思うんですが依存関係以外でのエラーが出るのであれば教えてください。
>>659 色んな原因でerrorは出る。
*transactionが起こる前に失敗する例
ー依存性が解決出来ない
ーfileがconflictしている
*transaction中にエラーが起こる例
ーrpmを実際に展開する前/後に実行されるscriptletsが失敗する
ー(良くあるのがsymlinkをdirectoryに置き換えようとする等)rpmを
展開する時に不可能なfileの置き換えをしようとして失敗する
661 :
659 :2010/05/25(火) 23:31:20 ID:RNYbx8WT
>>660 conflictは他のツールなどが使っている可能性がある場合にでるもの。
不可なファイルの置き換えというのは使用中のファイルを触ろうとしたけどロックされてて失敗というような意味でしょうか?
何かあったときのエラー対策をしたいと思ってるのですが、エラーが起こせないので対策をどうしたものかと思ってました。
662 :
660 :2010/05/26(水) 00:36:09 ID:nZtn4Rs+
>>661 取り敢えず
http://www.dotup.org/uploda/www.dotup.org914051.tar.html に例をuploadしたので、downloadしたらtarの中にある4つのspec fileを
rpmbuild -bbした後、rootで順に
# rpm -ivh foo1-0-1.noarch.rpm
# rpm -ivh foo2-0-1.noarch.rpm
# rpm -ivh bar-0-1.noarch.rpm
# rpm -Fvh bar-0-2.noarch.rpm
とやって何が起こるか見てみると分かる(uploaderへの接続が悪いな...
何か別のサイト選べばよかった)
663 :
659 :2010/05/27(木) 08:10:49 ID:mR5kYcIC
わざわざサンプルまでありがとうございます。 いろいろなエラーを起こすことができて大変助かりました。 ただやり方がわるかったせいか上書きできない場合のエラーだけ確認が出来ませんでした。 /bin/sleepをshare/fileとしてコピーしてfile 10000 &とバックグラウンドで動作させ、echo 11 >> fileとしたときにビジーであることを確認した上で RPM内でtouchしたら書き換わってしまいました。 これが正常なのか、異常だけどエラーが返らないのかちょっとわかりませんでしたが・・・。
インストール前のrpmに入っているコンフィグファイルは以下の コマンドで見れますが、 $ rpm -qcp aaa.rpm そのコンフィグファイルがnoreplaceが指定されているか どうかを知る方法は有りませんか?
長いので次のレスで
>>664 例えば $ rpm -q --qf '[%{FILEFLAGS} %{FILENAMES}\n]' bash
とすると、bash rpmに含まれているファイル名の前に何か不明な数字がくっ付いた一覧が
表示される。この数字にconfigか、docか、noreplaceがついているかの情報が入っている。
例えばnoreplaceについては、ファイル名の前についている数と"16"とのANDが0でなければ
そのファイルにはnoreplaceがついている。
rpmのpython APIに詳しくないので汚いshell scriptしか書けないけど、例えば次のshell scriptを
実行するとbash rpmのファイルにどんなflagが付いているかが分かる(もっといいscriptがかける人please)
#!/bin/sh CHECKTYPE="CONFIG DOC MISSINGOK NOREPLACE GHOST" for config_type in $CHECKTYPE do eval num_${config_type}=$(python -c "import rpm; print rpm.RPMFILE_$config_type") done rpm -q --qf '[%{FILEFLAGS} %{FILENAMES}\n]' bash | sort -k 2 | while read line do config_value=$(echo $line | sed -e 's| .*$||') filename=$(echo $line | sed -e 's|^.* ||') for config_type in $CHECKTYPE do eval num_type=\$num_${config_type} if [ $(($config_value & $num_type)) -gt 0 ] then echo -n "$config_type " fi done echo -e "\t $filename" done
>>664 src.rpm持ってきてspecみたほうが早いが、
それできない理由があるの?
ソースコードを少しずつ修正してmakeを繰り返しているのですが、 出来上がったファイル群を再ビルドせずにrpmにするコマンドは何なのでしょうか。 make install DESTDIR=/hoge/huga/と自分で打ち、あとはこれをパッケージングするだけだと思うのですが、方法はあるのでしょうか。 フルビルドに数時間かかるソースなので再makeは避けたいのです。
>>670 > 出来上がったファイル群を再ビルドせずにrpmにするコマンドは何なのでしょうか。
そんなコマンドは知らない。
できあがったものを tar かなんかでまとめて Source0 にして
make install に相当する処理 (mkdir とか install とか) を
spec の %install とかに書いて
%files を書けばパッケージを作れる。
再インストールする予定がないのなら checkinstall で済ませてもいいかと。
672 :
シベリア便 :2010/12/02(木) 17:29:30 ID:4Se6eCpE
Momonga Linuxのrpmにmake installからでも再開できるようなパッチが当たってたと思う
rpm5の5.3.6からtar玉の配布なくなった orz rpmの無い環境で初期導入するにはどうすればいいんだ?
あ?cpioを入れりゃいいのか
復帰
rpmとdebが滅びれば平和になる
679 :
login:Penguin :2011/09/23(金) 17:46:16.42 ID:AcBUdt3J
通常のRPMパッケージの中にSPECが入ってないんですが %postとか%postunに記述したスクリプトはどこにいったのでしょうか?
specはSRPMに入ってるでしょ。 SRPMが無いなら-q --scriptsで確かめるくらいしかない。
sudo-1.8.2を入れたところsetuidしろと怒られたので %files で %attr(4111,root,root) を追加したのですが 実際にインストールしてみると0755になってしまいます。 rpm -qlvp sudo-1.8.2-1.*.rpm | grep /usr/bin/sudo して確認するとパッケージの中ではsetuidされてます。 ---s--x--x 2 root root 386374 Dec 6 12:25 /usr/bin/sudo -rwxr-xr-x 2 root root 386374 Dec 6 12:25 /usr/bin/sudoedit -rwxr-xr-x 1 root root 139875 Dec 6 12:25 /usr/bin/sudoreplay specの%files部分です %files %defattr(-,root,root) %attr(4111,root,root) %{_bindir}/sudo %{_bindir}/sudoedit %{_bindir}/sudoreplay %{_sbindir}/visudo %{_libdir}/sudo_noexec.so %{_libdir}/sudoers.so %dir %{_docdir}/sudo %{_docdir}/sudo/* %{_mandir}/man*/* %dir %{_sysconfdir}/sudoers.d %config(noreplace) %{_sysconfdir}/sudoers %{_localstatedir}/lib/sudo %{_includedir}/sudo_plugin.h %{_datadir}/locale/*/LC_MESSAGES/*.mo %postとか使わずにパーミッションが反映されるようにするにはどう書き換えたらいいでしょうか? rpmのバージョンは5.2.1です
682 :
681 :2011/12/06(火) 13:56:54.75 ID:jQo1eR9l
自己解決しました /usr/bin/sudoは/usr/bin/sudoeditのハードリンクなので/usr/bin/sudoeditにもsuidを与えるとうまくいきました。 お騒がせしました。
SRMPの中に .xz のファイル入れたいんだけどXZ_OPTはspecのどこに入れたらいい? 展開の時のメモリリミットに引っかかってしまうんで XZ_OPT="--memory=max" rpmbuild -bp hogehoge.spec とやってから残りの工程やってるんだけどリビルドする時にもXZのオプション渡さなきゃ ならんのでspecの中に書いてしまいたい。
>>683 %prep の最初(例えば%setup -qの前とか)に
適当に"export XZ_OPT=foo"とか書いとけばいいんでは?
>>684 それだ!
export 付けずにやってた orz
ありがとう!
s/Requires(PreReq)/Requires(pre)/
RHEL6.2のspecファイル内のfilesセクションに以下の記述を追加すると %attr(0755, root, TEST) %{_log_dir} セクション実行時に、必ず/xxxx/rpmbuild/BUILDROOT/ ってパスも追加されちまうんだけどこれ抑止する方法ないですか?
>>687 良く意味が分からない。インストールされるスクリプトか
何かに%buildroot(を展開したもの)の文字列が追加される
と言うこと?
rpmbuild/BUILDにあるものをrpmbuild/BUILDROOT/xxxに 移したいファイルがあるのですが、どうやって移す記述書けばいいの?
>>689 pwd
%{__mkdir_p} "${RPM_BUILD_DIR}"/xxx
%{__install} -m 644 "${RPM_BUILD_DIR}"/FILENAME "${RPM_BUILD_DIR}"/xxx
そんな感じのものを %prep か %build か %install か、適切な場所に書けばいい。
(pwd は確認用)
Source5: Makefile
とか用意しておいて
%{__make} -f %{SOURCE5}
とかでもいいかもしれない。
書くなら%installだろうな。 ちなみに、正しくは、 %{__mkdir_p} "${RPM_BUILD_ROOT}"/xxx %{__install} -m 644 "${RPM_BUILD_DIR}"/FILENAME "${RPM_BUILD_ROOT}"/xxx
∧_∧
( ・∀・) 人 ガッ
( つ―-‐-‐-‐-‐-‐○ < >__Λ∩
人 Y ノ. V`Д´)/
し(_) / ←
>>87
rpmbuild -bi --short-circuit を使って%prepと%buildを省こうと思ったのですが、 %{buildroot}にファイルがインストールされただけでパッケージの構築が行われませんでした。 ($HOME/rpmbuild/RPMS/以下にバイナリパッケージがありませんでした。) これはパッケージを構築する場合には最初からしろということなんでしょうか?
>>693 -bi だと %install までしか実行されないから
それで正常動作。
%files のチェックとか パッケージの作成は
-ba ( -bs + -bb ) に相当するものなので実行されない。
rpmbuild -ba --short-circuit
を試してみればいいかと。
695 :
693 :2013/03/28(木) 23:37:02.59 ID:SPC2WQ1Y
試してみたんですがビルド作業は省かれませんでした。 やはりパッケージを作成するには最初からでないとダメみたいです。 ビルド作業を省く場合はその場合の手順を書いたspecを用意する必要があるようです。
spec fileを編集しファイルの展開など省略して いきなリmakeしたら。
すいません、rpmパッケージファイルを作りたいのですが rebuild -ba XXXX.spec コマンドを打ってrpmファイルとsrc.rpmファイルが出来上がるのは 良いのですがrpmファイルの中身を rpm -qlp XXX.rpm で調べると(contains no files)と表示されます。 RPMパッケージ作成をやるのは今回初めてなのですが %filesセクションで指定したものがrpmファイルに含まれる、という認識で よろしいのでしょうか。以下、specファイルの中身です。 ちなみにRPMのバージョンは4.8.0 ディストリビューションはRed Hat Enterprise Linux server release 6.1です。 ./configureの扱いもわかりません…。 自分で作成しないと無いものなんでしょうか? どこにも置いてなさそうなんですが。
698 :
697 :2013/04/24(水) 07:05:48.77 ID:jQ5QlJQQ
必要なとこだけ書きます。 %filesでファイルのパス指定をしてをするのですが rpmbuild -ba XXX..specコマンドを打つと 「そんなファイルはありません」、と言われてしまいますので 今は何も書いてません。%clearも今はコメント化してます。 ファイル指定の仕方が間違っている? BUILDROOT配下に%{name}-%{version}-%{release}-x84ディレクトリが できますが中身は何も入ってないです。 上手く作成できてないのでしょうか。 License : BSD Group : Development/Libraries BuildRoot : %{_tmppath}/%{name}-%{version}-%{release}-buildroot Source0: %{name}.tar.gz Source1: include.tar.gz %prep %setup -b 1 -n %{name} %build rm -rf ${RPM_BUILD_ROOT} make %install make install %clean #%rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,root)
make installでRPM_BUILD_ROOT以下のディレクトリにfileが インストールされていないと思う。
700 :
login:Penguin :2013/04/24(水) 17:04:54.55 ID:7H/E4+n4
なるほど。それでは、と思いmake install INSTALL_ROOT=${RPM_BUILD_ROOT}というように記述しましたが やはりRPM_BUILD_ROOT配下にファイルがインストールされませんね…。 今の環境で設定がされてなかったので環境変数INSTALL_ROOT=/usr/localと設定しましたが…。
インストールするfileが少なかったら、make installしないで RPM_BUILD_ROOT配下にインストールするコマンドを書けば。
最近のautotools basedなtarballなら、 make install DESTDIR=%{buildroot} と書けば、「普通は」うまくインストールされる。
>>697 >>700 ソースに付属のドキュメントとか、ソースが置いてある Webページとかを読めば
なにか書いてあるんじゃないのか?
ドキュメントとか説明とかいっさい無くても、
make するってのなら Makefile はあるのだろうし。
ドキュメントとかにあたらず推測だけで作業するのは非効率的だぞ。
DESTDIRも設定されてませんね…。 何の値をきるべきでしょうか…。 RPM_BUILD_ROOT配下にインストールする コマンドですか。何と書くべきですかね。 段々わからなくなってきました。
Makefileのinstallのところをさらしてみたら。