rpm作成スレッド

このエントリーをはてなブックマークに追加
1login:Penguin
rpm管理って便利だよねー。
でもたまにrpmのないプログラムに遭遇する。
そんなときどうしようと思ったらこのスレで質問しよう。

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

しかたねー作るかとおもったら
http://www.linux.or.jp/JF/JFdocs/RPM-BUILD-HOWTO.html
http://www.linux.or.jp/JF/JFdocs/RPM-HOWTO.html
http://www.vinelinux.org/MakingRPM/
2login:Penguin:02/10/12 15:01 ID:q0Quvxvv
2get.i386.rpm
3login:Penguin:02/10/12 15:11 ID:edHTZnCC
3get.i386.rpm
4login:Penguin:02/10/12 17:19 ID:d9zqsnUF
4get.i686.rpm
5login:Penguin:02/10/12 18:14 ID:IH3Ac7U0
IDにrpmが出るまで頑張るスレはここですか?
6login:Penguin:02/10/12 18:20 ID:lw2U0E56
>>5
がんがります。⊂⌒~つ´ー`)つ
7login:Penguin :02/10/12 18:44 ID:LmpSEvCe
6get.i386.rpm
8login:Penguin:02/10/12 20:28 ID:nRxvn2NR
無線LANのドライバなんだけど、おまいらSPEC晒してくらさい。
ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/
9login:Penguin:02/10/12 20:29 ID:nRxvn2NR
age忘れた
10login:Penguin:02/10/12 20:31 ID:LmpSEvCe
10get.i386.rpm
11login:Penguin:02/10/13 01:06 ID:Njciv+mu
11get.noarch.rpm
12login:Penguin:02/10/13 03:42 ID:KrauaeCC
12
13login:Penguin:02/10/13 11:16 ID:IVDEZNXD
13get.i586.rpm
14login:Penguin:02/10/14 23:31 ID:7e/+skDr
SRPMからSPEC取り出して、自分で勉強。
















以上。
15login:Penguin:02/10/15 10:18 ID:mO2xZMR1
specファイル作成支援ソフトってないの?
16login:Penguin:02/10/15 12:24 ID:iJSLxL8e
>>15
どんな支援が欲しいの?
17login:Penguin:02/10/15 13:46 ID:2rx4tK4R
>>15
specspo?
18login:Penguin:02/10/15 13:48 ID:2rx4tK4R
>>15
rpmlint のまちがいだた。
19login: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 の実行に失敗

ってなメッセージがでて、インストールできません。
このエラーメッセージについて解説とかされてるページってありますか?
20login:Penguin:02/10/25 02:53 ID:oniQsY0p
20get.i686.rpm
21login:Penguin:02/10/25 03:01 ID:DmrrZMuC
>>19
specファイルをさらしなさい。
2219: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
2319: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
2419: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
2519: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

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

musixtex-T109.tar.gz はここにあります。
http://www.ring.gr.jp/archives/text/CTAN/macros/musixtex/taupin/musixtex-T109.tar.gz
2719:02/10/25 04:53 ID:vY0Ga0iB
とりあえずですが、解決(?)しました。

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

ファイルの不足は無く、ちゃんとインストールできているので、
rpm コマンドについて、調べてみることにします。
28login:Penguin:02/10/25 05:06 ID:TvsuiqXJ
とりあえず
%preでmkdir
なんかするのやめれ
最初は他人の書いたspecお手本にしてパクれ。あんたヤバすぎ
29login:Penguin :02/10/25 09:35 ID:YClfL3Uf
29get.i686.rpm
30login:Penguin:02/10/25 10:45 ID:ELUJiGhm
>>27
とりあえず>>1のリンクにある文章を良く読んでみることを
お薦めします。
31login:Penguin :02/10/25 12:51 ID:19UQLIGl
31get.i386.rpm
3219:02/10/25 16:27 ID:VoziM/9t
>>28
>%preでmkdir
>なんかするのやめれ
これって不要ですか?

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

>>30
まだ軽く目を通した程度なので、これからしっかりと読んでみます。
33login:Penguin :02/10/25 16:28 ID:Qxv5LT4F
33get.ppc.rpm
34login:Penguin:02/10/25 17:59 ID:94un+C3G
>>32
> >>28
> >%preでmkdir
> >なんかするのやめれ
> これって不要ですか?
不要です。

> いろいろ SPEC あさって基本的なところから勉強してみます。
それがいいと思います。まずはMaximum RPMからどうぞ。
35login:Penguin:02/10/25 19:50 ID:KTAW6lRf
35get.alpha.rpm
36login:Penguin:02/10/25 20:21 ID:gF9nx6Dj
アーキテクチャ依存バイナリ量産スレはここですか。
37login:Penguin:02/10/25 23:15 ID:bntYHx4/
37get.s390.rpm
38login:Penguin:02/10/25 23:20 ID:MPp++zFp
まあ、馬鹿は馬鹿なりにドキュメントも読まずにがんばってなさいってこった。

rpm 作りたいのなら、最低限 Maximum RPM くらいは読むべきだと思うなぁ。
http://www.rpm.org/max-rpm/
39login:Penguin :02/10/25 23:55 ID:KTAW6lRf
39get.sparc.rpm
4019: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

っていうところ以外は特に目立った違いは無かったです。
41login:Penguin:02/10/26 09:45 ID:qDv6fjMP
rpm -ivh
rpm -ivvh

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

>なぜインストールできたのかわかりません
rpm作るのは勝手だけどそれを人に配るとかしないように。
42login:Penguin :02/10/26 12:36 ID:kf1WJfoE
42get.i286.rpm
4319:02/10/26 13:48 ID:Y9mSORQQ
>>41

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

そのへんは、27 を書き込む段階で、もう man とかみてたからわかってたんです。
日本語でヘルプでてきたし。
情報量の違いだけのはずなのに、インストールできたのがわからないんです。
なんかやらかして、 rpm の動作がおかしくなっちゃたのかな。
44login:Penguin:02/10/26 14:32 ID:aoYbYg+Z
44get-ximian.i686.rpm
45login:Penguin:02/10/26 17:12 ID:pqOI1FTa
kernelを再構築してRPMでインストールしたいのですが、
kernelのRPMの作り方がわかりません。
どのように作成すればいいのでしょう?

46login:Penguin:02/10/26 17:22 ID:Ygs/ptz/
46get.m86k.rpm
47login:Penguin:02/10/26 21:06 ID:qx5m784S
48login:Penguin:02/10/28 19:32 ID:wnvvzJYb
ftp.gnu.org:/gnu/grep/grep-2.5-1.src.rpm
だれか、このgrepをRPMした人いますか?
49login:Penguin:02/10/28 23:29 ID:1c5W+NSU
>>48
意味わかんないんですが。
50login:Penguin:02/10/29 07:33 ID:pkoB87MI
50get.ia64.rpm
51login:Penguin:02/11/12 03:33 ID:njpLkln3
erojpgdown-0.11-3-1.i386.rpm
52login:Penguin:02/11/12 18:27 ID:90AlMQwr
>>51
クレ
53login:Pennsylvania:02/11/13 04:24 ID:VkalKkhE
ballistic-calc-1946-0215.eniac.rpm
54login:Penguin:02/11/13 21:56 ID:le21UOe2
ese-windows-5.00.2195-i386.rpm
55login:Penguin:02/11/15 02:09 ID:8XQjrk9q
>>53
配線がはいってるのか?
56login:Penguin:02/11/15 02:12 ID:8XQjrk9q
>>53
だがeniacではインストールはどうやっても手動だ(w
57login:Penguin:02/11/15 02:11 ID:8XQjrk9q
>>53
だがeniacではインストールはどうやっても手動だ(w
58login:Penguin:02/11/15 02:17 ID:8XQjrk9q
ブラウザの調子がわるくて書き込み失敗したとおもって繰り返してもーた。スマヌ。
59名無しさん:02/11/18 12:51 ID:bWmkhLVp
rpmbuild コマンドについて書いたドキュメントはまだ無いよな?
RedHatLinux8.0 に付属の RPM4.1 では、rpm -bb が使えないとか聞いたが?
Maximum RPM もその点では落第?

http://www.jp.redhat.com/manual/Doc80/RH-DOCS/rhl-cg-ja-8.0/s1-rpm-using.html
> RPMバージョン4.1から始まったことですが、パッケージの署名は
署名も必要になるの? 別にしなくてもいいの?
60login:Penguin:02/11/18 13:04 ID:iitxNnRI
rpmbuild -bbにすればいいんだよ。
61login:Penguin:02/11/18 13:28 ID:mwUkG5ny
gimageview-0.2.9-1gtk2.SuSE8.1.athlon.rpm
62login:Penguin:03/01/07 16:51 ID:odDJao2L
こんなのどうよ?
http://www.rusthq.com/
やっぱ、specなきゃだめ?
63login:Penguin:03/01/07 16:55 ID:jAoI9O7Q
>>62
ページを見てないので、何とも言えないけど、
spec がなかったら、どうやってメンテナンスするの?
64login:Penguin:03/01/07 17:15 ID:odDJao2L
正直、漏れもまだ使ったことないからわからん。( ゚∀゚)アヒャ

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

とりあえず、specを作らなくてもrpmを作ってくれるらしい。
ちょっと、使ってみるか。
65login:Penguin:03/01/07 23:17 ID:445OY7S+
>>63
使ってみた。

結局、specファイルは作る。
ヘッダのとこだけ自分で入力。スクリプトとかは自動で作ってくれる。
かなり楽。( ゚∀゚)アヒャ
66IP記録実験:03/01/08 21:22 ID:+M/1sqI1
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

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

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

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

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
67login:Penguin:03/01/09 02:35 ID:OzFfd3tm
なんでも俺を実験に使うそうで
68login:Penguin:03/01/09 03:19 ID:rTZl4e5+
>307
どうせただのテキストファイルなんじゃないの。
69login:Penguin:03/01/09 04:08 ID:rTZl4e5+
なんだコピペかよ(^^;
70山崎渉:03/01/15 11:42 ID:vFMPlObn
(^^)
71login:Penguin:03/02/17 16:14 ID:R9X8lCjx
rpmでビルド中に 何パーセントビルドが終ったのかが表示されればなぁ。
中で configure + make 使ってる限り無理かなぁ。
72login:Penguin:03/02/17 16:19 ID:dhR8TYfT
★☆★キラキラお星様★☆★
http://jsweb.muvc.net/index.html
73498:03/02/17 16:27 ID:+1GxSOcB
■■出会い系サイト運営システムレンタル■■

儲かる出会い系ビジネス

初心者でも簡単運営

写メール、画像対応

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


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

ところでインストール,アップデート時のパーセント表示さえ,あんたの期待するものでないことはご存知?
75login: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ファイルの書き方を修得するのは数ヶ月ぐらいかかるんでしょうか?
77login:Penguin:03/02/24 22:35 ID:Slakq2iP
>>76
まずやってみ。
78login:Penguin:03/02/24 23:55 ID:tT0jaPDy
>>75パッケージの/etc/rndc.confが/etc/rndc.conf.rpmnewとなっている。/etc/rndc.confは古いまま ってのはわかるだろ?まず両方見比べてみる。で変更が無ければ rm /etc/rndc.conf.rpmnew変更があれば適当にマージするなりしてから rm /etc/rndc.conf.rpmnew
79login:Penguin:03/02/25 01:59 ID:KsEAMga1
79get.msx.rpm
80山崎渉:03/03/13 17:02 ID:sbQU2y5R
(^^)
81login:Penguin:03/04/12 00:36 ID:CXUZ+J74
rpm配布されているsambaが、ldap対応であるようなコンパイルオプション付きで
コンパイルされているかどうかを知る方法ってありますか?
今は具体的には上のケースを知りたいのですが、なるべくならrpm配布されている
パッケージすべてにおいて、コンパイルオプションを知る方法があるのなら
知りたいです。
82login:Penguin:03/04/12 01:07 ID:4LgseFyC
>>81
SRPMの中身見れば?
specとconfigure見れば大体分かると思うけど。
83login:Penguin:03/04/12 08:18 ID:ig7oBkvx
RedHatLinux7.2のsamba作ってくれよー
84login:Penguin:03/04/12 08:39 ID:m8iSLDdQ
Vine 用の src.rpm 取ってきて --rebuild 汁。
85login:Penguin:03/04/13 03:24 ID:Zc+6yCnQ
rpm
86山崎渉:03/04/17 11:59 ID:PWISM87M
(^^)
87山崎渉:03/04/20 06:13 ID:xFRXxEWb
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
88login:Penguin:03/04/28 01:42 ID:BrbleGyZ

最適化したRPMなどのパッケージをWinnyで流せたら、活性化して面白いかもよ。
ということで実験的age
89login:Penguin:03/04/28 02:26 ID:VMyeIqWH
>>88
WindowsからLinuxにデータ移すの面倒くさいし
そもそも出所不明のRPMなんて、セキュリティ的に怖い。
スクリプトの中に rm -rf / とか入ってたり・・・(+д+)
90login:Penguin:03/04/28 02:31 ID:NDj4sXse
--addsign すればいいわけだし、どこかに安全な場所に md5sum の
リストを置いておけばいいのでは?

そもそも、wine で Winny は簡単に動く時代ですし、あなたの妄想は
時代遅れだと思いますよ。
9189:03/04/28 03:23 ID:VMyeIqWH
>>90
md5sum はちょっと考えたんだけど
Web上にリスト載せるなら、わざわざWinny使う必要ないなと思ったが
まあサーバの負担とか回線のトラフィックとかWebスペースの問題があるならOKだな。
--addsign だったら、この人は安心 って事が分かってないといけないな。

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

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

一度ガン画ってやってみれば、spec の読み方もわかるようになるし、
テメーでインスコしたソフトも簡単に削除できるようになるから、
やったことないヤシは挑戦すべし。
でも、いきなりでかいパッケージは作ろうとしない方が良いと思われ。
洩れは英辞郎をサクサク検索したくて、rdic と それに必要な mmap を
つくてみた。洩れみたいなヘタレにはこれくらいから始めるのがちょうどいい。
93山崎渉:03/05/22 02:05 ID:p4opmoqv
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
94山崎 渉:03/07/15 11:34 ID:doz396Fq

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
95ぼるじょあ ◆yBEncckFOU :03/08/02 05:25 ID:+QUfMouI
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
96山崎 渉:03/08/15 23:26 ID:dil3w4kp
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
97login:Penguin:03/10/29 02:34 ID:SqMCZ52G
質問です。
libsomething.soを必要とするライブラリをmylib.i386.rpmとして配布したいと思っています。
しかし、libsomething.soはrpmではなくバイナリtar ballで配布されています。
すると、mylib.i386.rpmをインストールする際に libsomething.soを必要としています
と言われ、インストールできません。(Requiresが自動的に設定される)

強引な解決策として、Providesにlibsomething.soを追加すれば一応インストールされるのですが、
これは嘘っぱちなので、本当はやりたくありません。
どうすればいいでしょうか?
9897:03/10/29 03:17 ID:SqMCZ52G
自己解決&新たな質問です。
http://www.rpm.org/max-rpm/s1-rpm-depend-auto-depend.html
を見て
AutoReq: no
にしてことなきを得ました。
しかし、これだと他のRequiresも一切無くなってしまうのですが、
libsomething.soだけ無効にする方法はないでしょうか?
http://www.zoi.to/~zoi/widestudio/ml/200205-/msg00153.html
に全く同じ質問がありますが、回答はついていませんでした。
99login:Penguin:03/10/29 03:29 ID:kwetqh4L
>>97
本当はなんかやりかたあるのかもしれんが、てけとーな回避策。
echo "/usr/lib/rpm/find-requires | egrep -v libsomething.so" > /tmp/fr
chmod +x /tmp/fr
%__find-requires /tmp/fr
100login:Penguin:03/10/29 04:20 ID:BmAgd7w0
>>97-98
libsomething.so が入ってるライブラリ用の SPEC ファイル書いて、
nosrc.rpm とか、src.rpm をつくって、
rpm でインストールできるようにして mylib と一緒に置いておく。
バイナリ tar ball なら、それほど難しくないはず。
mylib のほうは、その rpm を Requires に書いておけばいい。

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

libsomething.so をインストールする時に、
checkinstall を使えばごまかせるかもしれないけど。
10197:03/10/29 05:29 ID:SqMCZ52G
>>99
あ、なるほど。結果を改竄するということですね。
find-requiresのパスが気になるところですが、なんとかなりそうですね。
どうもありがとうございました。

>>100
実はlibsomething.soってのは Mozilla のライブラリなんです。
Mozillaは複数インストールされている可能性がある(gtk2の有無やらxftの有無やら
Firebirdだったりする)ので、できるだけrpm化を強制するのは避けたいんです。
> libsomething.so をインストールする時に、
> checkinstall を使えばごまかせるかもしれないけど。
ん…良く分かりませんのでちょっと調べてみます。どうもありがとう。
10297:03/10/29 05:37 ID:SqMCZ52G
調べてみました。勘違いしてるかもしれませんが、
checkinstallはそれ自体をインストールしなきゃいけないようで配布に向いていないみたいです。
取り敢えず>>99さんの案で行ってみたいと思います。
どうもありがとうございました。
103login:Penguin:03/10/29 19:41 ID:e7zkr6A2
最近簡単なrpmの作成はできるようになったんだけど
specファイルのテンプレートはemacsを使うと簡単だよね。
$ emacs hoge.spec &

104login:Penguin:03/10/29 21:15 ID:YDj1s4Qc
日経リナックスの付録のLindnws4.0とOpenOfficeを入れましたが、日本語が入力できないとわかったので、古本屋で見つけたLinuxJapanの付録のWXGforLinux/FreeBSD Ver.1.0βをインストールしようとしましたが、うまくいきませんでした。説明によると
105login:Penguin:03/10/29 21:20 ID:YDj1s4Qc
つづき説明によると、「パッケージはRPMファイルになっていますので、# rpm -ivh wxg-1.0b-1.i386.rpmのようにコマンドでインストールをおこないます。」とありましたが、さっぱりわかりません。どこに打ち込めばいいのでしょうか?
106login:Penguin:03/10/29 22:14 ID:crdJ3Hwi
>>104-105
日系にゴラァ電しましょう。
107login:Penguin:03/10/29 23:09 ID:2QjzLGdx
>>104-105
ここはrpmファイル"作成"スレじゃ。初心者スレ逝けゴルァと言いたいとこだが、、
日本語入力が出来ないとは変わった制限だな
と思ってちょっと検索してみたが、ATOKの変わりに
Canna(フリーの日本語入力ソフト)が入ってると書いてある。

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

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

108login:Penguin:03/10/30 00:43 ID:hvbA9pnn
Shift+Spaceを押すとどの文字を打っても四角の枠が打ち込まれます。
109login:Penguin:03/10/30 05:33 ID:T/Wt5eDR
それは入力できてるけど表示が出来てないだけかと。
日本語表示できない状態なのに日本語を表示しようとするから豆腐に化ける。

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

Lindows Part 4
http://pc.2ch.net/test/read.cgi/linux/1065984614/l50
くだらねえ質問はここに書きこめ! part61
http://pc.2ch.net/test/read.cgi/linux/1067454177/l50
初心者にも優しい総合質問スレ Part61
http://pc.2ch.net/test/read.cgi/linux/1067437547/l50
110screen@制作中: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'.

どう対応したらいいのかわからないので解る人教えて下さい。
111login:Penguin:03/10/30 23:06 ID:x1gj3lfq
>>110
Google 様に聞いてみたり、ドキュメントを読んでみたり、
違うバージョンを試してみたりする事ができないような馬鹿が
無理する必要はないんじゃないですか?
112login:Penguin:03/10/30 23:42 ID:yTtw0JEU
>>111
まあまあ。落ち着けよ。

>>110
Remember to add `AC_PROG_LIBTOOL' to `configure.in'.
113screen@作成中:03/10/31 08:33 ID:Hgy94LpE
一応完成したので、採点してくださーい。

http://parsley339.at.infoseek.co.jp/screen.spec.mine
114screen@作成中:03/10/31 09:01 ID:Hgy94LpE
rpm作成中のログもつけておきます。
http://ime.nu/parsley339.at.infoseek.co.jp/log5.txt
115screen@作成中:03/10/31 09:52 ID:Hgy94LpE
インストールテストをしたらコンフリクトしてた。
$ rpm -U --test screen-4.0.1-1.i386.rpm
file /usr/share/terminfo/s/screen from install of screen-4.0.1-1 conflicts with file from package ncurses-5.3-4
file /usr/share/terminfo/s/screen-bce from install of screen-4.0.1-1 conflicts with file from package ncurses-5.3-4
file /usr/share/terminfo/s/screen-s from install of screen-4.0.1-1 conflicts with file from package ncurses-5.3-4

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

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

一応インストールテストはOKだったけど
ひとりでパッケージングしてると
とんでもない間違いに気づかない怖れがあるので
バッシング覚悟で公開してみました。
宜しく評価下さいますようお願いします。
116login:Penguin:03/10/31 16:26 ID:7CFvfgMW
どこかからベースとなる .spec を持って来たんでしょ?
だったら、Initial build じゃねーだろうが。
117login:Penguin:03/11/01 00:15 ID:EODMVSrn
>>115 SPEC をみて、3点ほど。
1. SOURCE0,1 のところは、SPEC ファイルをみてソースをダウンロードできるように、
 URL をちゃんと書いてほしい。たいていの場合ググればすぐみつかるんだけど
 SOURCE0: ftp://hoge/hoge/%{name}-%{version}.tar.gz みたいに。
2. mkdir -p や、install などのコマンドも、
 %{_mkdir_p} や %{_install} のようにマクロをつかったほうがいいと思う。
 (rpm --showrc で確認)
3. 問題無かったはずだけど、
 %files の %{_bindir}/* って書かれてると /usr/bin/* が削除されそうで怖い。
 他のアプリと共通のディレクトリを使う場合には、
 具体的なファイル名にしておいてほしい。
118login:Penguin:03/11/01 00:21 ID:oX8Ddgno
>>117
> %files の %{_bindir}/* って書かれてると /usr/bin/* が削除されそうで怖い。

その書き方は、いろんな rpm で使われているようですが。
119login:Penguin:03/11/01 00:56 ID:bcJ0fjGW
rpmのファイルリストに*が書かれるわけじゃないよ。
120screen@作成中:03/11/01 06:30 ID:33TDV9Lc
>>116
確かに自分の使ってるDistributionのスペックファイルを元にしているんだけど
今作ってるscreenではredhatがつけたpatchを全部はずしちゃってて
(古いscreenのバージョンに対してつけられたpatchをそのまま使う必要があるか
疑問だったから)
changelogにredhatの履歴を入れた方が整合性がくずれると思ったので入れてない。
121screen@作成中: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
122login:Penguin:03/11/01 13:16 ID:oX8Ddgno
>>120
何の整合性がくずれるとおっしゃりたいのですか?

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

元ネタになった .spec を書いた人々に失礼では?
とりあえず、整合性とは何なのか教えてね。
123screen@作成中: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というディストリビューションに
なんら関係(責任)のないものだっと理解しちょうだい。










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

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

spec そのものには特にツッコミ入らなかったみたいだし。完成おめでとう。
#今後のソースの更新にあわせたバージョンアップとかもがんばってください。
125login:Penguin:03/11/01 23:38 ID:oX8Ddgno
公開する場合は問題でしょう。
126screen@作成中:03/11/02 00:05 ID:YinYUYa6
>>125
>公開する場合は問題でしょう?

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

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


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

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

rh な rpm をバラして patch を drop したと聞けば、
派生物であるという認識しかできませんよね?
なにか解釈間違ってますか?
128screen@作成中:03/11/02 00:21 ID:YinYUYa6
patchを落しただけじゃないから
わざわざここで評価してもらってたの
129login:Penguin:03/11/02 02:22 ID:eRDNG3h9
つか、changelogなんて著作権表示じゃないんだから
削ったって問題ないにきまってんじゃん
まぁ、有った方がわかりやすいけど
長いとウザイし
130login:Penguin:03/11/02 02:48 ID:SJzd4yuw
screen@作成中は"Change"したわけじゃないんだろ?
ChangeしてないのにChangeLogがあったらおかしいだろが。
13197: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
132login:Penguin:03/11/14 06:43 ID:mSK1q7Vj
rpmを作っているとたまにsbitをたてることがあるんだけど
もちろん一般ユーザーではできません。
こんなときルートでrpmを作るしかないのかな?
133login:Penguin:03/11/14 12:05 ID:QuM3c/XV
>>132
sbit についてよく分かってないけど。
sbit をたてる処理を
[pre,post]install script とかに書いてもだめですか?
134login:Penguin:03/11/14 14:55 ID:OaQ/asUo
>>132
%files セクションで %attr を使って
%attr(4711,qmailq,qmail) /var/qmail/bin/qmail-queue
みたいにする。これなら一般ユーザで rpm を使っても
インストールした時に sbit がたちます。
135132:03/11/15 23:34 ID:k6c00/SP
>>134
無事ユーザーでsbitを立てられました。
ありがとうございました。

>>133
そのやりかたでもできそうな気がするけど
とりあえず Making RPM に >>134 まんまの説明があったので
134のやり方でやってみました。
情報ありがとうね。
136login:Penguin:04/01/09 23:18 ID:V3n+96H0
保守
137login:Penguin:04/01/11 09:09 ID:B+ozCSbr
こんなツールもあります。RPMをSPECを使わずに作成できる。
http://asic-linux.com.mx/~izto/checkinstall/

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

ただし、このツールもまだまだ発展途上って感じです。これからに期待。
簡単なツールのRPMならこれで大丈夫だと思うけど、複雑なツールのrpm作成は
まだまだですなぁ。
138login:Penguin:04/01/11 23:13 ID:XkTcZwk7
RPMについて (Windows To Linux移行支援プロジェクト)
ttp://win2linux.sourceforge.jp/goodapps/RPM.html

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

ちなみに同名のコマンドがpoldekというツールにも含まれている。
ttp://team.pld.org.pl/~mis/poldek/
139sage:04/01/27 12:49 ID:sR4svUSa
バイナリrpmからソースrpmってできないですよね?
普通に考えたらできないのはわかるのですが、
もしもそんなことをご存知の方がいたら教えてください。
140login:Penguin:04/01/27 13:14 ID:DOFDsVK8
141login:Penguin:04/01/27 16:01 ID:8Y1SuBnZ
だれか、GworkspaceとGNUMailをrpmで作ってください。
142login:Penguin:04/01/31 11:32 ID:ZaQKaUKE
RPMパッケージを作りたいのでredhat PRESSのRed Hat RPM Guideを買おうかと思っています。
この本はRPMパッケージを作りたいだけの私にとって買いなのでしょうか?

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

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

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

両方あったら、買う前に手に取って読み比べることをお薦めします。
「本」で欲しいってのじゃなければ、>>1 のリンク先とか、実際の src.rpm も役に立つし。
144142:04/01/31 18:39 ID:ZaQKaUKE
RPM Version3とVersion 4でのSPECファイルの内容に違いはあるのでしょうか?
あまりないのでしたらネットでの情報で十分そうです。
145login:Penguin:04/02/18 22:22 ID:/tGKsCje
>>139

Thanks. 修正しときました。
ttp://win2linux.sourceforge.jp/goodapps/RPM.html
146login:Penguin:04/02/18 22:24 ID:/tGKsCje
>>145

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

%_topdir が ~/rpm なら mkrpmdir ~ でいい。
148login:Penguin:04/02/19 21:01 ID:vAqWJAj0
>>147

たびたび済みません。
149login: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 ファイルにしても
まったく同じ反応です.

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

くだらねえ質問はここに書き込め! Part71
http://pc.2ch.net/test/read.cgi/linux/1077690104/
151login:Penguin:04/03/06 00:11 ID:Yf9cOktg
kconfigure上でcheckinstallって使えますか?
152login:Penguin:04/05/16 03:39 ID:q/JNf/wU
スレ違いかもしれない質問

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

具体的には、/lib/libsafe.so を入れた環境でbuildしたバイナリrpmが
libsafe.soが依存ファイルとなっているのを阻止したいです。
あと、/usr/local以下にインストールしたプログラムなどが依存ファイルと
して挙げられる場合もあり、それも阻止したいなと。
153login:Penguin:04/05/16 07:01 ID:yjh8d7t+
>>152
AutoReqProv: no
154login:Penguin:04/05/16 15:33 ID:q/JNf/wU
>>153
ありがとうございます。
全てチェックしなくなるようですが、当面、エラーを
黙らせるのにはこれで行きます。
155login: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
156login:Penguin:04/06/08 13:00 ID:wwdhZncM
>>155
悪いことはいわんから、オフィシャルなRHのspecをもらってきて、それを土台に好きに編集した
方が、checkinstallと格闘するよりも楽だぞ。
157login:Penguin:04/06/08 15:43 ID:6tyORPCg
>>100
alien ー slackware,plamo 流の tgz から バイナリrpmを作成するツール

158login:Penguin:04/06/09 11:37 ID:7Bbb7z74
156がいい事言った。
159login:Penguin:04/06/26 04:42 ID:Fau6zZtP
>>145
赤星さんですか?
160login:Penguin:04/06/30 08:44 ID:v4g+Ho84
hoge って rpm をつくっていて、他の rpm に含まれてるファイルをいじる必要があって、
%post と %preun で /usr/bin/patch が必要になりました。

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

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

アンインストール時の順番に影響するものってなにかありますか?
PreReq: patch に加えて、Requires: patch と書いてみてもダメでした。
環境は Vine2.6r4 で、apt-get remove でも patch が先になってしまいました。
161login:Penguin:04/07/06 22:24 ID://KMVL63
RedHat Linux9.0
PostgreSQL 7.4.3
ftp://ftp.sra.co.jp/pub/cmd/postgres/7.4.3/postgresql-7.4.3.tar.gz

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

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

どなたかお願いします、て
引き取ってくださいという意味?
163login:Penguin:04/07/06 23:24 ID://KMVL63
>>162
いや、作ってください、お願いしますって意味
164login:Penguin:04/07/06 23:31 ID:Q9/wR7+I
>>163
RedHat の PostgreSQL の src.rpm はどこにある?
古いバージョンの SPEC を書き直せばなんとかなるんじゃない?
165login:Penguin:04/07/06 23:40 ID://KMVL63
>>164
http://cgi2.html.ne.jp/~mini/postgresql_spec.zip

RHL9のCD中のpostgresql-7.3.2-3.src.rpmから取り出したspecファイルです。
今、中身を見てるんですが、さっぱりで・・・
166login:Penguin:04/07/07 03:17 ID:FfF3H9jC
>>165
Fedora Core 2 の postgresql-7.4.2 なら、SPEC ファイルの
修正なしで Redhat 9 で RPM を作ることができました。
こちらでまず試してみてはどうですか?
167login: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

みたいなエラーになるし・・
168167:04/07/07 04:06 ID:9lTBkyff
訂正

先頭に
%define build9 1
を追加して、
%{?build8:%define tcldevel 0} → %{?build89:%define tcldevel 0}
にして再試行中(;´Д`)
169167:04/07/07 04:22 ID:9lTBkyff
なんか知らないけど、うまくいきました。
ありがとうございましたm(_ _)m
170login:Penguin:04/07/10 03:17 ID:/SaxF3E8
%exclude っていうのを使うと、どういう利点があるですか?
エライ人、教えてつかーさい。
171login:Penguin:04/07/10 04:50 ID:Kc8CkSdp
>>170
詳しく知らんが
excludeつーくらいだからそれを除く、ってことじゃないの?

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

みたいに使うのかな?
ちゃんと知らないので適当に答えてみた
172login:Penguin:04/07/16 11:56 ID:25I0vw3T
>>170,171
%exclude マクロが定義されていなかったので、それを除くとして作りなおした事がある。

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

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

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


173login:Penguin:04/07/21 17:35 ID:1y9jngOg
>>145
s/RedHat Package Manager/RPM Package Manager/
# 少なくとも今は。
174login:Penguin:04/08/16 15:27 ID:icY8qRIB
specファイルのSourceやPatchのURLからファイルをダウンロードする
ようなツールはありませんか?
rpm --evalとかじゃできないっぽいので…。
175login:Penguin:04/08/16 17:37 ID:bUzmG/81
>>174
よくわからんが、そのspecを取り出したsrc.rpmの中に入っているよ。
それともspecだけを入手したの?
176login:Penguin:04/08/17 02:08 ID:hWPoBCyJ
nosrc.rpm の事かな?
177login:Penguin:04/08/17 06:38 ID:QB1SEoak
>>175-176
自作のspec数十個あって、1つ1つ開いてマクロを展開しながら
ダウンロードするのが辛いので。
あと、specをそのまま他の人に渡してtarballは各自で落として
もらいたいってのもあります。
178login:Penguin:04/08/17 06:58 ID:PR1Kzzvk
>>177
> あと、specをそのまま他の人に渡してtarballは各自で落として
こっちは受けとった方の話だよね。自分ならspecもらえるだけで感謝するけど。
ダウンロードなんか大した手間じゃないし。

> 自作のspec数十個あって、1つ1つ開いてマクロを展開しながら
specまで書いておいて、どしてsrc.rpm作んないの?
src.rpmにしとけばtarballも一緒にしまい込めるでしょ。
179login:Penguin:04/08/17 13:04 ID:QB1SEoak
>>178
利用者がsubversionのリポジトリからチェックアウトして
ビルドすることを想定しています。
現時点で90近いspecファイルがあるので、1つずつ手動で取ってくるのは
現実的じゃありません(全specをビルドするのが前提)。

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

回答してくれた方、ありがとうございました。
180login: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
を読み込ませるようにするにはどうすればよいのでしょうか。

181180:04/09/25 10:12:58 ID:2FJYePtf
続きです。環境はVine3.0です。SuSEなど他のディストリや私家版のpstoeditのspecを参照して
見ましたがこのあたりの問題は無視しているようです。そのため、対応形式がbuilt-inのみ(psf.
ps, debug, dump, gs, ps2ai)になっています。
182login:Penguin:04/09/25 10:32:51 ID:B6vG4xvt
>>180
まずはspecの中身を晒さないと。
183180:04/09/25 10:47:05 ID:2FJYePtf
>>182ありがとうございます。全てを貼ると冗長なので要点だけ。
Name: pstoedit
Version: 3.33
Source0: http://home.t-online.de/home/helga.glunz/wglunz/pstoedit/%{name}-%{version}.tar.gz
Source1: http://home.t-online.de/home/helga.glunz/wglunz/plugins/pstoedit_linux_plugins.tgz
[...]
%package devel
[...]
%prep
%setup -a 1
%build
%configure
%{__make}
%install
%makeinstall
%{__mkdir_p} %{buildroot}%{_mandir}/man1
%{__install} -m 644 doc/%{name}.1 %{buildroot}%{_mandir}/man1
%{__install} -m 775 lib/pstoedit/plugins_linux.so %{buildroot}%{_libdir}/pstoedit
for i in %{buildroot}%{_libdir}/*.la %{buildroot}%{_libdir}/pstoedit/*.la
do cp -p $i $i~
sed s:%{buildroot}::g <$i~ >$i
rm $i~
done
184180: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
[...]
よろしくお願いします。
185login:Penguin:04/09/25 16:18:10 ID:KeI0AADE
>>180-181 >>183-184
> make installの際に共有ライブラリへのリンクを張り直す
ってのが具体的にどんなことやってるのかを読み解いて
%makeinstall ってところを書き換えて処理するんじゃない?

普通に make install やったらだめだと思う。
186180: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
とか
187180: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以外にも共有ライブラリ
がたくさんあるので。。
188login: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がよきに取りはからってくれるんでしょうかね?
189180:04/09/29 12:03:46 ID:ELXbyaWE
>>188
ありがと。FC2のrpmのバージョンは幾つになっていますか?
Vine3.0はrpm-4.0.5-1vl8です。
190login:Penguin:04/09/29 12:17:08 ID:6ffuRL/D
rpm-4.3.1-0.3(FC2のデフォルトのやつ)です。
191180:04/09/29 12:24:32 ID:ELXbyaWE
>>190
ありがと。4.0 -> 4.3 の間にそんな便利な機能が付いたのかな。
192login: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のリンク先を書き変えて
るはずですよね(よく知らないので間違ってたらごめんなさい)。
193login:Penguin:04/10/01 00:05:19 ID:YcbGdVOj
rpmって、4.0 -> 4.1で極端に重くなった?
Vine使ってみたら軽くて驚いた。RHはいつのまにか激しく重くなってたんだな。
rpmってゆうかdb4なのかな。
194login:Penguin:04/10/13 02:40:29 ID:2rQAnHsu
くだ質だけどRPMってもとはRed Hat Package Managerの略だよね。
今はRPM Package Managerに名称が変更されたけどそのRPMって
なに?って素朴な疑問なんだけど。
Red Hat Package Manager Package Manager?(w
195login:Penguin:04/10/13 06:05:11 ID:5yF3SOmC
>>194
GNU is Not Unixと同じだよ。
196login:Penguin:04/10/13 22:37:26 ID:nncxR37C
>>194
RPM は RPM Package Manager の略ですよ。
197login:Penguin:04/10/14 13:03:58 ID:wyCxSj6l
>>196
>>194の質問のポイントをはずしているよ。>>195が模範解答だと思われ。
198login:Penguin:04/10/14 13:04:24 ID:wyCxSj6l
あぁ、上げてしまった。
199login:Penguin:04/11/01 14:08:07 ID:IUJCgUG8
rpm-4.3.2 の %check ってどんなマクロですか.
200login: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
です。なにか他に必要でしょうか?
201login: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
です。なにか他に必要でしょうか?
202login:Penguin:04/11/02 06:14:40 ID:lUgrEbuh
>>200
> configure: error: no acceptable C compiler found in $PATH

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

# PreReq とか BuildRequires とかちゃんと理解してないと
# rebuild するのが面倒な rpm をつくることになる。
203login:Penguin:04/11/02 13:01:39 ID:NrO/is9i
RPMってよく、develとか分かれて配布されているけど、
個人で、RPM作るときにも分けた方がいいですか?
204login:Penguin:04/11/02 13:13:15 ID:yL6JWkDD
>>203
配布するのでなければ、あなたの好きにどうぞ。何ならsourceをたくさんつけて、
巨大複合rpmを作ってもよし。
205login:Penguin:04/11/02 21:35:01 ID:sfPkbEXf
>>201
> しかし、configure: error: no acceptable C compiler found in $PATH
書いてあるとおりじゃないの?
206login: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はきちんとインストールされているのに、依存性のエラーが?

207login:Penguin:04/11/09 13:11:25 ID:HQ1hTsIR
mandarakeのSRPMをredhat(Fedora)でbuildしたいと思っているのですが、rpm-helperというパッケージ内のスクリプトを使うのであろうと思われる独自拡張らしき変数%pre_addusrなどのマクロを、手動でプリプロセスする手段をご存じの方いらっしゃったら教えてください。
素直にMandarakeを使えばよいのでしょうが、そうおっしゃらずにお願いします。
208207:04/11/09 13:41:35 ID:HQ1hTsIR
mandarakeのrpmのソースみます。スレッド汚してすいませんでした。
209login:Penguin:04/11/09 13:53:02 ID:xI/oBBhC
>>207
Mandrakeだ
210login:Penguin:04/11/09 15:05:09 ID:djcIs5Z+
ワロタ
211207:04/11/09 15:19:55 ID:HQ1hTsIR
>209
あれ、やっぱりそうですか。
ftp.riken.go.jp のディレクトリ名が「mandarake」だったので、「mandrake」じゃなくて「mandarake」だったのかーと思っちゃいました。rpmのソース見たら「mandrake」って書いてあったので、「ありゃ、間違えた」と思っていたところでした。
212login:Penguin:04/11/09 15:27:04 ID:xI/oBBhC
213login:Penguin:04/11/09 16:02:53 ID:cqFt3Vlt
>>212
ワラタ
214login: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
215login: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
216login:Penguin:04/11/21 20:03:40 ID:VQuZ+65z
ぐぬぬぬぬぬぬぬぬぬぬぬぬぬぬ
217login: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 です。
218login:Penguin:04/12/21 01:09:57 ID:EYUAJ9FT
>>217
エスパーを募集しているのでなければ、spec をどこかにうpしる。
219login:Penguin:04/12/24 05:27:08 ID:/MCGO3p3
eval ってbashの組込みコマンドなんじゃないの?
入ってるのがあたりまえだと思うんですけど
220login:Penguin:05/01/04 09:54:50 ID:QgcDWuhd
Requires, Prereq, BuildRequires, BuildPrereqなどでのバージョン指定の根拠となる情報って、どこを探せばいいのでしょうか?
specファイルでバージョンが指定されているから(場合によっては)エラーが出るわけですが、
ではなぜそのバージョン(以降)でなければならないのか、といった情報はソース等のどこで確認すればよいのだろうかと。
221login:Penguin:05/01/04 10:11:05 ID:ZQ6Tj3Xp
>>220
経験と勘。似非職人の世界でし。

ソフトによるけど、(ある機能のサポートを外してもいいのであれば)
外してみてもいいんじゃないかと思う。
222login:Penguin:05/01/05 09:24:04 ID:18TK9aow
>>220
README や INSTALL, configure を読む。
223login:Penguin:05/01/05 09:24:40 ID:LBpiq6Ef
configure より configure.{in,ac} じゃねーか?
224login:Penguin:05/01/28 16:36:50 ID:hLcnqyW0
いままでrpm-modeと思って使っていたもの(Shell 何とか[rpm])は、rpm-modeではな
かったようだ。本物のrpm-modeを入れたら強烈にラクチンだった。今までの俺って orz
225login:Penguin:05/02/03 21:48:28 ID:VhVxZiHg
>>217
実行属性のついたシェルスクリプト。
226login:Penguin:05/02/10 09:28:36 ID:UHvPf+P5
すみません。ちょっと教えてください。
RPMデータのみあったとして、そのspecファイルの内容を見ることはできるのでしょうか?
できないとは思うんですけど…もしかしてできたりします?
227login:Penguin:05/02/10 09:52:51 ID:3A0OW5wm
>>226
普通はSRPMでないRPMにSPECファイルは入れないので、出来ない。
228login:Penguin:05/02/10 09:56:24 ID:tLOdBQ4i
SRPMならrpm -iでspecとソース一式が%_topdir以下に入る。
後は好きなように弄り回してrpmbuildでも何でも出来る。

binaryのRPMはspecの中身を見ることはできないけど、
rpm -qp --scripts momimomi.rpm
で、インストール、アンインストール時に実行するスクリプトは表示できる。
229login:Penguin:05/02/10 10:02:36 ID:UHvPf+P5
>>227-228
ですよね。そのシステム環境に適合するRPMデータがあったとしても、
specファイルを確認したい、場合によってはリビルドして入れたいということがあると思うのですが、
やはりSRPMデータなくしてspecファイルの内容は確認できませんよね。
ありがとうございました。
230login:Penguin:05/02/10 19:52:20 ID:jGutS7SU
>>229
いや、ある程度はできる
ttp://www.barabanov.ru/proj/rpm2spec
ただし、日付に日本語が入ってしまうので、
# LANG=C rpm2spec hgoehoge.rpm > hogehoge.spec
とすること
231login:Penguin:05/03/14 01:09:40 ID:WwdKdJuJ
src.rpm なファイルを展開したい時、どうやるのが手っ取り早いでしょ
う?

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

$ cd /tmp
$ mkdir BUILD SOURCES SPECS
$ rpm --define "_topdir `pwd`" -i ${pkgfile}
$ rpmbuild --define "_topdir `pwd`" --nodeps -bp SPECS/*.spec || rpmbuild --define "_topdir `pwd`" --nodeps --target=i686 -bp SPECS/*.spec
232login:Penguin:05/03/14 02:34:55 ID:f4OaHYK/
>>231
ホームディレクトリに"rpm"とか"redhat"とか適当な名前のtopdirを作ってお
いて、その下にBUILD RPMS SOURCES SRPMS SPECSを作っておきます。(これら
のディレクトリはしょっちゅう使うので、作っておいたまま消さない)
~/.rpmmacrosには
%_topdir /home/foo/rpm
%_tmppath /var/tmp
%_rpmtopdir %{_topdir}/%{name}
と書いておきます。こうしておくと
$ rpmbuild -i bar.src.rpm
だけで、specは/home/foo/rpm/SPECに、ソースファイルは/home/foo/rpm/SOURCES
に展開されます。
233login:Penguin:05/03/14 05:45:27 ID:bsFYPQWA
>>231-232
他のディストリでちゃんと動くか知らないけど、
Vine の vutils って rpm に mkrpmdir ってスクリプトがあります。
mkrpmdir ~ とやると、
%_topdir と %packager を ~/.rpmmacros に書き込んで、
~/rpm/BUILD ~/rpm/SOURCES ~/rpm/SPECS ~/rpm/SRPMS
~/rpm/RPMS/noarch ~/rpm/RPMS/i386 ~/rpm/RPMS/i586 ~/rpm/RPMS/i686
を作ってくれます。
簡単に ~/rpm 以下のディレクトリを作れるので、けっこう便利です。

ビルド時の --target=i686 の指定も、~/.rpmmacros になんか設定書いておけば
省略出来そうな気がするけど、分かりません。
234login:Penguin:05/03/16 12:37:34 ID:zQujFZYD
age
235login:Penguin:05/03/16 19:42:44 ID:WEPzJzA3
httpd-2.0.53.tar.gz をインストールするのに必要だと言われたため、
apr-1.1.0.tar.gz を落としてきて、

$rpmbuild -ta apr-1.1.0.tar.gz

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

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

と言われてしまいます。
この /var/tmp/rpm-tmp.8821 っての、
勝手に削除しちゃってもいいんでしょうか?
236login:Penguin:05/03/16 20:42:06 ID:xcO5JQtk
>235
spec ファイルをデバッグしないなら、消して構わない。
237235:05/03/16 20:58:19 ID:WEPzJzA3
>>236
ありがとうございます。
一旦削除してからもう一度やってみましたが、やはり

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


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

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

%check

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

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

やはりこのへん↓
http://www.google.co.jp/search?q=rpm+spec+%E3%83%87%E3%83%90%E3%83%83%E3%82%B0&start=0&start=0&hl=ja&lr=lang_ja&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:ja-JP:official
から勉強しないといけませんね。
238login:Penguin:05/03/16 23:58:57 ID:V9z55zlo
>>237
>spec ファイルのデバッグ、というのはどのようにすればいいのでしょうか?
httpd-2.0.53.tar.gz から httpd.spec を取り出して ~/rpm/SPEC において、
httpd-2.0.53.tar.gz を ~/rpm/SOURCES において、
spec ファイルから build する。
--short-circuit とか使いながら -bc とか -bi とか順にやっていって、
引っかかったら spec を直すと。

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

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

ttp://www.linux.or.jp/JM/html/rpm/man8/rpmbuild.8.html
--showrc とか でマクロがどうなってるチェックするのとかも必要かも。
239235:05/03/17 02:20:42 ID:gC8u5PES
>>238
丁寧にありがとうございます。
すみませんが、明日というか今日の早朝から数日間家を空けるので、
再開は週明けからになると思います。
戻って来たらアドバイスいただいたことを試してみたいと思います。
240login:Penguin:05/03/17 17:53:11 ID:MYoA17yN
rpm自体のバージョンが古くて%check非対応とかの予感。
241login:Penguin:05/03/18 12:19:57 ID:x5kfc3Qj
>>231

rpm2cpio hoge.src.rpm | cpio -idm
242235: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

古すぎますかね?
243240:05/03/20 13:26:29 ID:0berZzSr
4.1 -> 4.2:
- add %check scriptlet to run after %install (#64137).
ということで、%checkは4.2以降の機能。
244235:2005/03/21(月) 21:29:58 ID:NVWhmt+W
>>243
ありがとうございます。
なるほど。

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

http://download.fedora.us/fedora/redhat/9/i386/RPMS.os/ にある
Redhat9 用の rpm-4.2-0.69 あたりを
強引に突っ込んでも問題出ないんでしょうかねぇ、、、
245login:Penguin:皇紀2665/04/01(金) 22:13:55 ID:jmD04yJB
>>235
他のプログラムをrpm化するときに、同じようなtmp〜のようなエラーが出ていた。

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

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

だから、そのtmp〜っていうエラーは依存関係の問題かもしれないので、
よくドキュメントを読んでみては?
246login:Penguin:2005/06/26(日) 00:24:36 ID:/USjl/Oi
php-4.3.9-3.6.src.rpm のspecを利用してphp-4.3.11.tar.gzを
インストールしようと思います。

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

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

rpmbuild -ba php.spec 

上記でrpmのビルドを行いましたが、ビルドでエラーになります。
patch を無効化したことがまずいのでしょうか
247login:Penguin:2005/06/26(日) 01:20:11 ID:eav5hmc+
>>246
>ビルドでエラーになります。
ただ今エスパー氏は不在。
248246:2005/06/26(日) 01:49:03 ID:/USjl/Oi
php-4.3.9-3.6.src.rpm の patch は php-4.3.11.tar.gz
に適用できないんでしょうか。
249login:Penguin:2005/06/26(日) 02:27:42 ID:ZWBgDAYC
>>248
そもそもphp-4.3.11のmakeは通るの?
そこでコケるのならくだ質とか使ってるディストリのスレで訊いたほうがいい。

つか、php-4.3.11のsrpmならググれば結構引っかかるけどな…
それを自環境に合わせて修正するのじゃダメなのか
250login:Penguin:2005/06/26(日) 02:56:15 ID:eav5hmc+
>>248
まず「php-4.3.9-3.6.src.rpm」といってもモノはひとつではない。
patchといっても1つじゃなくて20個ぐらいあるだろ?
全部はphp-4.3.11.tar.gzには当たらない
というかphp-4.3.11では既に不要なpatchがいっぱいある筈。
251login:Penguin:2005/06/26(日) 02:57:56 ID:eav5hmc+
あと>>247の意味を理解して欲しいのだが。
252login:Penguin:2005/06/26(日) 15:12:45 ID:+cLoHgEN
すみません。
Centos4をつかってます。
http://rpm.pbone.net/ で探しましたが、php-4.3.11のCentパッケージは
ありませんでした。

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

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

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

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

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

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

ファイルの配置は rpmbuild -bi でbuildroot以下に仮インストールできるから、
それでconfigure のオプションや make install に渡す環境変数を調整していく。
ビルドし直すまでもない修正のときは--nobuiidを付ける。
俺の場合はこんな感じで作業してるけど。
256login: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
257login:Penguin:2005/08/15(月) 11:02:42 ID:Dh2nyB7V
自己レスです。
rpmbuild --define "_with_imap 1"

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

まあ俺はwithoutじゃなくてspec書き換えてるけど…
259 ◆/UXtw/S..2 :2005/08/16(火) 15:47:59 ID:Vn0puH61
>>258

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

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

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

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

でも読んでおけ。
260login:Penguin:2005/10/21(金) 15:09:28 ID:ugQ65p6N
yoper linuxのサイトにspecのひながたとrpmbuildの
スクリプトがある。これはすごい簡単。suseで
インストールのディレクトリを/usr/src/package/RPMS/i686
に指定してまとめてインスコできるか試してます
261login:Penguin:2006/06/11(日) 22:38:14 ID:cW+uyL68
%prep %setup %patch を飛ばして %build からテストしたいのですが、可能ですか?
262login:Penguin:2006/06/11(日) 22:42:16 ID:UdaIvYnC
short-circuit
263login:Penguin:2006/07/06(木) 03:11:44 ID:sbcTXFsT
264login:Penguin:2006/07/06(木) 07:53:46 ID:jwQED/TG
誰か CentOS4.3 用 Apache2.2 系の RPM 作成をお願いしまーす。
265login:Penguin:2006/07/06(木) 15:25:43 ID:5XYo67aq
>>264
バーカ
266login:Penguin:2006/12/12(火) 18:31:21 ID:lKiUJVj/
rpmでパッケージできるSourceの最大サイズはどこかに書いてある?
電子辞書データを自分専用にrpm化しておきたいのだけど、2GBまでなら大丈夫かな?
267login:Penguin:2007/02/13(火) 13:30:40 ID:ec1JRjDY
rpmbuildの-short-circuitってなぜ-bc と-bi だけなんでしょうね。
(少なくともrpm 4.3.3ではそう)パッケージングも出来れば
-bpをした後ちょこっとソースを変更してパッケージをビルドとか出来て
便利だと思いません?
268login:Penguin:2007/02/13(火) 14:50:56 ID:g40J6Ywy
>>267
その方法だと -bp の後のソースの変更部分を src.rpm に取り込めないから不便。
あとで同じことをやる時にも手作業しなきゃならないから
src.rpm とは別にどこを変更したのかとかを残しておく必要が出てくる。
極端な言い方だけどそんな不完全なパッケージなら作る意味がない。

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

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

SPEC を工夫すれば define とか with,without とかで
rebuild 時になんらかの情報を付け足すこともできる。
269login:Penguin:2007/02/13(火) 15:47:42 ID:VnTofYnD
>>267
だよね、でも何故か、-bp,-bc,-bi,-bl,-bbと順にできてしまったことが
あるようなないような、記憶違いか、なにかか?-blなんてあったっけか?w
270login:Penguin:2007/02/14(水) 10:36:18 ID:2LebhKkc
>>268
> src.rpm とは別にどこを変更したのかとかを残しておく必要が出てくる。
> 極端な言い方だけどそんな不完全なパッケージなら作る意味がない。

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

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

それもそうですね。けどターゲットに開発環境が無い場合にはちょこっとRPMが
作れれば便利だなと思いました。
271login:Penguin:2007/02/16(金) 00:09:10 ID:cIm5BEYP
>>267
ちょこっとソースを変更してコンパイルをしたあと
%prep
%setup

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

%install
rm -rf $RPM_BUILD_ROOT

%prep
%setup -T -D

%build

%install
rm -rf $RPM_BUILD_ROOT
の様に変更し、rpmbuild -bbしてパッケージングではダメ。
272268: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の中身が全部入るはず。
273login:Penguin:2007/05/21(月) 23:50:01 ID:wTcHQfiz
rpm-4.4.9 released
274login: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 すると、やはりサイズの異なるバイナリがインストールされる。
インストールされたバイナリは実行すると正常に動く。

皆さんもこのようにサイズって変わります?
275login:Penguin:2007/06/06(水) 05:31:10 ID:2s+JxBbh
>>274
strip が実行されるかって話か?
276274:2007/06/09(土) 02:01:07 ID:pwWD+Gu2
>>275
strip のようです。
レスthxでした。

もちょっと調べてみます。
277login:Penguin:2007/06/26(火) 05:01:51 ID:u8xPlGSp
rpmbuild -cleanってBUILDの中しか、掃除してくれないのですね。

SOURCESが腐臭を放ってるのですがrm -rfしか無いですかね? 
278login:Penguin:2007/06/26(火) 05:05:47 ID:IbaDPO04
>>277
貧乏なの?
279277:2007/06/26(火) 05:19:26 ID:u8xPlGSp
>>277
考えてみればこれはインスコしたrpmの責任と思われ。しかしちらっと見た所ソースパッケージの
情報ってrpmのデータベースには入らないんですよね? すると何を消せばいいかを知る者は
誰もいない。 皆さんどうやって整理してます? 
280277:2007/06/26(火) 05:24:14 ID:u8xPlGSp
>>278
ふと気がつくと50Gぐらい溜まってたので整理したいなと。 けど今使ってるのは消したくないなと
思いまして。
281login:Penguin:2007/06/26(火) 05:33:17 ID:IbaDPO04
>>280
俺が見てるHDDの値段だと、買った方がいいような気がするけど
282login:Penguin:2007/06/26(火) 11:44:53 ID:C6Sus7UI
>>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 を手動で削除してる。
パッケージいじる度に整理してるからゴミはたまらない。
283login:Penguin:2007/08/09(木) 17:44:02 ID:VAkbqcfi
自分のやったことを書き残しておかないと俺は忘れるので
rpmbuildは絶対に-baだしspecの中にコメントを残しまくる

めんどくさがって無精すると絶対に泣くからな
経験上

pm5:00に「金下ろしにいくのめんどくせーpm9:00までだから8:30くらいに出りゃいいや」

とかめんどくさがると、決まって
「本日のATM営業はpm7:00時までとさせていただきます」

これ何度やられたか覚えてない程食らった

しかも大型連休の前で、連休中はATMも窓口もやってねえから
連休中引き篭りの如き生活を余儀なくされる
無理して出かけるとロクなことにならない。
前日に買ったばかりの一眼レフカメラを滝壷に落としたりとか
284login:Penguin:2007/08/09(木) 18:43:52 ID:i2G080T2
>>277 >>279 >>282
超亀レスだけど、--rmsource とか --rmspec とかいう
オプションがあってですね
285login:Penguin:2007/08/09(木) 19:10:02 ID:MwiSZeKc
rpmで分からない事

・1
 filesに入るものの判断
・2
 公式サイトにも上がってないようなパッチはどこから生まれ来るのか


*1
ある程度の判断できても、それでホントに正しいかどうかってわかんねえじゃん。

*2
特にバカ棒とか、fedoraのrpmはパッチだらけ。で、そのパッチはどこから来たものかね?と言いたくなる。
286login:Penguin:2007/08/09(木) 21:23:01 ID:i2G080T2
>>285

*1 どういう事?
*2 色々としかいいようがないけど、具体的に例えば
  何のパッケージ?
287login:Penguin:2007/08/10(金) 01:06:48 ID:6t2LYoGm
>>285
>*1
パッケージ作ったら動作確認。
そのパッケージに依存するパッケージがあればそれも。

どのファイルが必要かとかわからなくて
それを確かめることもできないのであれば
ちゃんとわかる人につくってもらったほうがいいと思う。

>*2
ちゃんとメンテナンスされてるパッケージなら、
changelog にだれがいつパッチを追加したか書いてある。
パッチを追加した人にメール出して言ってみればいい。

fedora のことはよく知らないけど
MLやBTSなどを見ていけば直接きかなくてもわかるだろうし
パッチ自体に誰が書いたか情報が残ってる場合もある。
288login:Penguin:2007/08/10(金) 01:21:39 ID:6DrepktQ
>>285
1) パッケージャなら分かる。
 逆に言うと、filesはパッケージが判断したものが入っている。

2) 公式以外のところのpatch。本家の出したものは普通tarballに入っている。
 security fixとかのpatchは、"まだ"マージされていないかもしれないが。

 rpmの仕組み的に必要だが、本家tarballには必要ないpatchがあるが、 
 こういうのは本家にはマージされないことが多い。

 あと、ビルドできなければビルドできるようにしてパッケージ作成するし。
 この時のパッチ作成者は俺。

具体的な話しないと良く分からんかもな。
289login:Penguin:2007/08/10(金) 09:21:01 ID:ZlX02ZfX
>>288
> 具体的な話しないと良く分からんかもな。
質問じゃなくて日記と思われ。
だから具体的な事は故意に書いていないんじゃ。
触れない方が良い人かもね。
290login:Penguin:2007/08/10(金) 10:47:37 ID:OFRvlfOd
rpmより
debだよ〜www
291login:Penguin:2007/08/10(金) 11:29:21 ID:YRDOnw55
いろんな所に顔出す>>289


vineスレで「チョンのド素人」とバレて以来トラウマになり
何かあると悔しさのあまりすぐに「apt君」とか
「句読点が」とかしか言えなくなったかわいそうなド素人
292login:Penguin:2007/08/10(金) 11:34:52 ID:ZlX02ZfX
apt君とか句読点とか良くは知らないが、
やっぱり触れないでいた方が良い人なのは解った。
293login:Penguin:2007/08/10(金) 11:39:07 ID:YRDOnw55
図星らしいw
294login:Penguin:2007/08/12(日) 20:42:51 ID:uSeb1di4
うむむうううううううううううんんんん

これほどまで長時間RPMに向き合ったのは初めてだ
気づけば夜になっていた

その昔、アセンブラ覚えたての頃PCに15時間
コラムスでメガドライブに向き合って20時間以来
295login:Penguin:2007/08/14(火) 03:10:45 ID:DT26MoOB
installしないrpmって作れないかな。
設定手順だけ纏めたいんだよね。

ダミーで/usr/shareあたりにファイルを突っ込んでおくのが妥協点かな?
そんな運用してる人っていません?
296login:Penguin:2007/08/14(火) 09:57:56 ID:T6jHvyjq
>>295
%files とだけ書いておけばいい。
ダミーファイルは不要。
297login:Penguin:2007/08/14(火) 12:25:17 ID:DT26MoOB
>>296
>%files とだけ書いておけばいい。
>ダミーファイルは不要。
あ、ほんとだ。
先日試してみたときはinstallするものが無いといった感じで出来なかった記憶があったけど、さっき試したらちゃんと出来た。
ありがとう。

これで%triggerunとかでトリガーをいっぱい仕掛けておくと勝手に設定してくれるような管理ができそうでいい感じです。
298login:Penguin:2007/08/14(火) 21:13:42 ID:ra5qZy+x
manってsource.tar.gzのどこに入れておくのが親切?
299login:Penguin:2007/08/14(火) 22:48:35 ID:1g2wKjHY
>>298
別にどこでも。
どこに置かれようとinstallできるだろうし、
Makefileがあればmake installでmanが入るだろうから、なおどこでもいい。
300login:Penguin:2007/08/16(木) 05:15:41 ID:SqrROuxG
俺ちょいとばかり難しく考えていたのだが、
RPMってテキトーにテンポラリフォルダにインストールしてみて
出来てきたファイルを見て%files とかに追加してくだけで出来ちまうのではないかと思った。
configureとか負けは既に用意されてるファイル使うだけだし、
あとは--enableとか、そういったオプションさえ知れば何て事ないのではないかと!!
301login:Penguin:2007/08/16(木) 11:03:42 ID:7j7bVIrI
>>300
その通りだよ。

%files
%defattr(-,root,root)
%doc ChangeLog README TODO
%{_bindir}/*
%{_libdir}/*
%{_datadir}/*

こんな感じで書いておけばtmpにインストールしてみる事すらほぼ不要だ。
302login:Penguin:2007/08/16(木) 12:11:19 ID:Q9550e1t
となると、問題はパッチと
わけのわからんトリッキーなインストール方法を要求する奴をどうやって見抜くか
なんだな。

Fedoraのrpm見てると、結構
何このインストールの書式っていうのがある。
./configure
make (allとかworldとか)
make install

じゃないもんなそういうの。
303login:Penguin:2007/08/16(木) 12:59:31 ID:igdB7TDi
>>302
そういうのは普通READMEとかINSTALLとかに
どうやってインストールするか書いてあるから、それを
まねするもの
304login:Penguin:2007/08/16(木) 13:40:56 ID:6nUsWssB
>>301
それを元にtry & error するならわかるが、
そのままだと不要なdirectory まで globしてしまって、
他のパッケージとconflictするのでお勧めできない。
あと、file list を作る方法も同様の理由でお勧めできない。

%files ちゃんと書くためには--prefix=/tmpで試すのは有効だ。
305login:Penguin:2007/08/16(木) 19:33:48 ID:7j7bVIrI
ああ、ほんとだ。
/usr/share/manとか思いっきりかぶるね。
306login:Penguin:2007/08/17(金) 02:48:05 ID:KxcSYsRc
spec開くと、右のスクロールバーがみるみる小さくなったので
いったい何千行あるんだと辟易

よーく見ると、%changelog が8割
307login:Penguin:2007/08/17(金) 02:48:35 ID:mEp2Zb5H
あるあるwww
308login:Penguin:2007/08/17(金) 17:47:41 ID:jI6qmJNL
無駄に情報量が多くなるから消せばいいのにと思うよねえ
309login:Penguin:2007/08/17(金) 18:05:04 ID:fmZO8h3O
一度議論になった事がある

Guidelines for huge spec changelogs?
http://www.redhat.com/archives/rhl-devel-list/2007-May/msg01646.html
310login:Penguin:2007/08/17(金) 20:06:16 ID:W3WewYzL
稀に、サマリーとかの項とインストール部との間にchangelogがあるものもあって
何かの嫌がらせじゃあないかと思うときも
311login:Penguin:2007/08/18(土) 17:15:02 ID:g7CKJwTf
>>310
流し読みしてると何か特殊なインストール方法の記述か? と勘違いすることがある。
312login:Penguin:2007/08/18(土) 17:26:49 ID:4lhAJO8O
やたらと長いchangelogって%includeとかで
別ファイルに分けるわけにはいかないのかな?
313login:Penguin:2007/08/19(日) 02:41:18 ID:6PmGWnqi
http://www.rupan.net/uploader/download/1187458685.spec

たしけて
Perl-5.8.8のSpecなんだけど、これでやるとmakeが通らない。
何とかをmakeするルール<command line>がありません
と出る。何で??

make -f Makefile
とすると、最初のmakeはできるが、その後に続くmakeが
やはり同様のエラーでmakeできないんだよぉぅぁ


No 12665
DL PASS なし
314login:Penguin:2007/08/19(日) 08:56:23 ID:QhImonC2
>>313

Fedora rawhide i386でrpmbuild -bcまでは
やってみたけど、特に問題は無かったよ?
315login:Penguin:2007/08/19(日) 20:50:56 ID:A6OZXdnI
まじぇ????
316login:Penguin:2007/08/19(日) 22:24:42 ID:2BMa5AWC
-bcはエラーでないけど何も作られない。
-baでやると途中でエラー
317login:Penguin:2007/08/19(日) 22:28:32 ID:QhImonC2
>>316
でもそれって%buildの段階でないでしょう?(多分)
>>313さんの言わんとしていることとは違うと思うけど
318login:Penguin:2007/08/19(日) 22:58:39 ID:3+aG+0ex
%build だな
319login:Penguin:2007/08/19(日) 23:23:09 ID:kSeo9d0v
違った
320login:Penguin:2007/08/28(火) 06:31:02 ID:Gwp/CtQd
BuildRequiresって妙な習慣だよな
普通、提供されているソースをそのまんまmake installしても
ちゃんとビルドされるだろ
なのに、rpmだけはいろんなもんを要求される
これはおかしい
321login:Penguin:2007/08/28(火) 09:03:13 ID:coXuOrK0
最近このスレもグダグダだね
322login:Penguin:2007/08/28(火) 10:15:58 ID:UQbs74T6
>>320
configure とかでつけるオプションによって
必要なライブラリが出てくるだろ。それを先に書いておくだけの話だ。

たとえば、ビルドで1時間かかって最後の最後でリンク失敗するより、
ビルドの頭で判明したほうが親切ということだ。

パッケージ単体で完結していれば、書く必要は無い。
glibcとかgccとかrpm-buildは暗黙のBuildRequiresで省略するからな。
323login: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

中身はそのまま。変更せず。

324login:Penguin:2007/08/30(木) 20:12:05 ID:gYbHplvC
>>323
skgeかsky2使え。
325login:Penguin:2007/08/30(木) 20:24:44 ID:SA0u7RyM
>>324

確かにsky2ならそのまま動くんだけども、
うちネットワークカード二枚差しで使ってて、以前(kernel2.6.19くらいのころ)に
不定期(週一くらい?)でネットワークがダウンすること発生して、それ出たときは、
/etc/init.d/network restart では復旧せずに、結局システム再起動で直してたんが、

そん時ぐぐってみたら、どっかの英語のメーリングリストで
「sky2がハングするときは、sk98lin使え」ってのがあったから、
それからsk98lin入れるようにした。

それ以降半年くらいほぼ24時間稼動(月一回くらい再起動)で、ネットワークがらみの
トラブルが出なかったから、sk98lin使いつづけてたんだけど・・・。

ちなみに2.6.22にあげてから、まだ一週間位しかたってないけど、今んとこ不具合はなし。
でもいつまた発生するかってびくびくしながらすごしたくないんです。
(一応自鯖やってまして、かーねる2.6.20にした時もsky2で同様のエラーがでました。)
326login:Penguin:2007/08/30(木) 20:48:44 ID:jiknGnJK
>>323

macroが定義されてあるrpmもatrpmsにおいてあるのでは?
多分それを初めにinstallしておけば良いと思われる。
atrpms.netが今落ちてるっぽいので良く分からんけど。

macroの定義自体は次に書いてある
http://fedoraproject.org/wiki/AxelThimm/kmdls
327login:Penguin:2007/08/30(木) 21:37:13 ID:SA0u7RyM
>>326
今ATrpmsが落ちてるから別のファイル落としてこれないんですが、
昨日探してみた感じでは、各バージョンごとのカーネルモジュールのrpmは置いてたんですが、
src.rpmはこのファイルしかなかったんでこれ落としてみたんです。

これダウンしたページにSPECだけのリンクもあったんで、それ見てみたんですが、
中身はsrc.rpmに含まれてるSPECと全く同じ(あたりまえか)で、ほかにREADMEとかINSTALLとか
探してみたんですが見つからず・・・。

とりあえず教えてもらったURLみてちょっといろいろ試してみます。
ありがとう。
328login:Penguin:2007/08/30(木) 22:26:27 ID:M6r+x7aW
>>326
macro定義ならsrc.rpmじゃなくてnoarch.rpmだろ?
急ぐんなら>>326のサイトに書いてあるのを自分のmacrosに書いてみ。
329login:Penguin:2007/08/30(木) 22:34:22 ID:gYbHplvC
>>325
>でもいつまた発生するかってびくびくしながらすごしたくないんです。
だったら、メンテナの Stephen Hemminger に言って
upstreamで直してもらった方が確実。

out-of-treeのsk98linがkernel API が変わって
いつ使えなくなかわからないし、カーネルアップデートする度に
コンパイルし直すのは賢くない。
330login:Penguin:2007/08/31(金) 10:36:52 ID:cRzkt/Qr
sky2のトラブルはかなり多くの環境で出ているから>>325の人が言わなくても対策は試みてるんじゃない?
最近はかなりマシになってきたらしいけど最新のカーネルでも相変わらずたまに止まるらしいし、
今安心して使うためにはsk98linをビルドするか他のカードに行くかするのが一番でしょ。

NICのモジュール程度のちょっとしたものならrpmにこだわらないで、
makeして/lib/modules/どこか適当な場所/にコピーしてdepmodしちゃった方が簡単な様な気がするけど。
331325,327:2007/08/31(金) 21:47:17 ID:XfawyvzX
いや〜
>>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の内容そのままでレポート出してみるよ。

ちょっとスレ違い気味だけどかんにん。
332325,327:2007/08/31(金) 21:48:17 ID:XfawyvzX
連投すまそ

>>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がレガシー行きした時は、違うディストリ検討します。

長々と失礼しました。
333login: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は存在してるのだが



勝手にこういう依存を付加されるものが結構あるけど
なんとかできね?
334login:Penguin:2007/09/06(木) 11:35:56 ID:ibBMz5wI
>>333
apt君ですか?
何をビルドしたの?
335login:Penguin:2007/09/06(木) 11:38:16 ID:VjmX/FxZ
>>334
> 何をビルドしたの?
見りゃあswigだってことくらいわかるだろうに。
336login:Penguin:2007/09/06(木) 11:40:45 ID:ibBMz5wI
>>335
gccが2つ入ってるんじゃないの?
libstdc++.so.6(GLIBCXX_3.4)が gcc 3.4のとリンクしてる。
337login:Penguin:2007/09/06(木) 11:44:23 ID:VjmX/FxZ
>>336
俺じゃなくて>>333に言ってやれ。
338login:Penguin:2007/09/06(木) 12:02:27 ID:QuT2Gbg9
確認してみるわ

ccをgccにして4.2.1にしたのは確認したんだけどなあ
3.xだとso.5になってるし
339login:Penguin:2007/09/06(木) 12:32:14 ID:ibBMz5wI
>>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"
でどうなる?
340login:Penguin:2007/09/06(木) 13:17:33 ID:2eQ3krOS
>>335は素人
341login:Penguin:2007/09/06(木) 13:22:45 ID:2eQ3krOS
libstdc++をビルドしてないのは文脈から伺えるね。>>340が素人orz
342login:Penguin:2007/09/06(木) 13:23:36 ID:VjmX/FxZ
ちょっとビックリした。
343login:Penguin:2007/09/06(木) 13:37:33 ID:ibBMz5wI
まぁageてるし、apt君がいつものように
我流でベースシステムコンポーネントを
アップデートしてハマっているのかと
思ったよ。
344login:Penguin:2007/09/06(木) 14:03:54 ID:LLFMHwcj


libstdc++.so.6を提供するパッケージは存在しない

てなる
345login:Penguin:2007/09/06(木) 14:13:18 ID:duZurQe3
>>344
>>339も言っているが、以下を実行して結果を貼れ。
rpm -q --whatprovides "libstdc++.so.6(GLIBCXX_3.4)"
rpm -q --whatprovides libstdc++.so.6
346login:Penguin:2007/09/06(木) 14:23:00 ID:LLFMHwcj
どっちも存在しないっさ

so.5で見るとGCCではなく個別で存在してる。
libstdc++ってGCCに存在するものじゃないのか。
347login:Penguin:2007/09/06(木) 14:41:00 ID:duZurQe3
>>346
環境が分からないから、Fedoraの例で言うけど、
Fedora だと gcc41.spec でlibstdc++パッケージを作っている。
それを入れればよい。
348login:Penguin:2007/09/06(木) 14:45:56 ID:ibBMz5wI
>>347
libstdc++.so.5 とか言ってるんだからvine4.Xだよきっと。

>>346
さて、そろそろエスパーごっこも秋田から
・ディストロは何か
・gcc-4.2.1はどうやってどこに入れたか
を聞いて終わりにしよう。
349login:Penguin:2007/09/06(木) 14:51:55 ID:ibBMz5wI
>>348
もうエスパーでもなんでもないが、
野良でいれたgcc-4.2.1のライブラリをswigがリンクしてて、
でも野良だからrpmのデータベースにはその情報がなくて、
依存性の解決が出来ずインストールできない、と。
350login:Penguin:2007/09/06(木) 14:56:24 ID:VjmX/FxZ
自分でspec書いたとか言ってなかったか?

まあいいや。
libstdc++34 入れて終わり。
351login:Penguin:2007/09/06(木) 15:00:45 ID:g3ULnMNH
>>346宛でいいのか?

*rebuild自体は正しくできていると確信がある
*でもinstallしようとするとなんか依存するrpmが足りない
 とかいわれ、原因不明
*それでも、取り敢えずinstall出来れば動くという
 自信がある

というなら、dummy rpmを作ってProvidesを提供してやれば
良い
352login:Penguin:2007/09/06(木) 15:07:02 ID:g3ULnMNH
あるいは
*AutoReqに0を指定する、とか
*__find_requiresに独自に用意したscriptを使って
 余計なRequiresをfilter outする
とかいう手もある
353login:Penguin:2007/09/06(木) 15:11:36 ID:O0ecg2ks
ちょっと疑問に思ったんだけど、rpmって共有ライブラリが実際にファイルシステム上に
存在してるだけではだめで、データベースに情報が登録されてなければいけないの?
354login:Penguin:2007/09/06(木) 15:12:12 ID:g3ULnMNH
>>353
当たり前です。
355login:Penguin:2007/09/06(木) 15:14:32 ID:oKzcgOE0
gcc-4.2.1*.src.rpmをrebuildして、出来上がったrpmのうちのlibstdc++-4.2.1*.rpmを入れ忘れただけ
なんてオチはないよな。
356login:Penguin:2007/09/06(木) 15:17:12 ID:ibBMz5wI
>>355
じゃぁどうやってlibstdc++.so.6に依存する
swigをビルド出来たんだ?
357login:Penguin:2007/09/06(木) 15:17:31 ID:oKzcgOE0
>>353
存在してるだけじゃ、依存関係管理できんでしょ。
358login:Penguin:2007/09/07(金) 08:11:04 ID:A3/IMf6K
あのド素人チョン、誰彼構わず言いがかり付けてんな
よほど悔しかったらしいw
359login:Penguin:2007/09/07(金) 14:24:12 ID:BrFCtcCy
池乃めだかのネタか?
360login:Penguin:2007/09/07(金) 14:28:45 ID:m2yDJjBl
「よっしゃ、今日はこれぐらいにしといたるわ」ってやつか?
361login:Penguin:2007/09/08(土) 05:26:49 ID:yXAp9DBU
もはや誰が誰だか分からないほどにアタマがおかしくなったんだよ。

あ、アタマ悪いのは元からか!
こりゃ失礼失礼。
362login:Penguin:2007/09/09(日) 05:44:12 ID:iQuFNNuL
linux機の前に座る=スペコ書きかプログラミング以外してねえことに
気が付いた。
363login:Penguin:2007/09/10(月) 10:40:04 ID:Mum034m1
ファイルの数とか種類とかバージョンと置場さえ合ってれば、specの書き方はどうでもいい気しね?
Fedoraのspecとまったく同じにしろ!て強要されるときがたまにあるけん。
364login:Penguin:2007/09/10(月) 10:43:15 ID:lxyts0el
>>363
具体的にどういう場面のことをいってるのか良く分からないけど、
少なくともFedoraではPackaging committeeというのがあって
rpmの書き方に関しては相当深く議論されているからでは?

http://fedoraproject.org/wiki/Packaging/
365login:Penguin:2007/09/10(月) 10:50:44 ID:Mum034m1
今までの中で一番、俺からすっとどーでもいいことのように思えること
例えばこんなの

%{_bindir}
%{_mandir}
%{_bindir}
%{_datadir}
%{_bindir}

こういうふうにするなと。
%{_bindir}
%{_bindir}
%{_bindir}
%{_mandir}
%{_datadir}

としろってさ。
366login:Penguin:2007/09/10(月) 10:52:43 ID:Mum034m1
これだってさ、前者がFedoraのspecの%files なんだから。

べっつに%{_bindir}でまとめようが何しようが構えへんがな。
まとめたらまとめたで、やれ文字数が多い行を下にしたほうがいいとかさ。
367login:Penguin:2007/09/10(月) 10:55:38 ID:FRmNxXcA
>>366
それ、どこのレビューのやりとり?
368login:Penguin:2007/09/10(月) 10:58:23 ID:Mum034m1
いやー野良の集まりで
369login:Penguin:2007/09/10(月) 10:58:48 ID:lxyts0el
それは、ディレクトリを纏めておかないと
*見辛いし、
*ディレクトリのownershipを確認するのが大変とか
あるからでは?

少なくとも「ディレクトリは纏めろ」とはいうと思う。
実際ownershipの間違いは非常に多いし
370login:Penguin:2007/09/10(月) 11:01:58 ID:Mum034m1
俺からすっと、もはや20年くらい前から言われてるこれと同じくらいにどーでもいいが
拘るやつは拘るんだなあ。


double Fuckintosh(FuckOS, Fuckers) {


double Fuckintosh(FuckOS, Fuckers)
{


大括弧なんぞどこでもええがな。
371login:Penguin:2007/09/10(月) 11:04:14 ID:FRmNxXcA
>>370
おまえ、いままで全部一人でやってきただろ?
372login:Penguin:2007/09/10(月) 12:02:06 ID:WsKGqIcs
大括弧という表現の方が気になったので調べてみたら、今は大括弧、
中括弧などと言わない方がいいらしいね。
http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AC%E3%83%BC%E3%82%B9
# 話題がズレてすまん
373login:Penguin:2007/09/10(月) 13:34:55 ID:Mum034m1
燃えろ E本田
燃えろ 夏子

って今でも分からん
なぜそこでE本田なのか、また、なぜ夏子を焼き殺そうとするのか
374login:Penguin:2007/09/10(月) 13:35:32 ID:Mum034m1
誤爆した
375野良・ジョーンズ:2007/09/10(月) 21:47:30 ID:lkU+51bz
野良・ジョーンズ
376login:Penguin:2007/09/10(月) 22:20:46 ID:qdzd/ZK5
超!!疑問なんだが、FEDORAとかってバグジラにもないセキュリティパッチいっぱい当てまくってたり
オリジナルのinitスクリプトをsourceにしてたり、どこからそんなパッケージ名が出てくるんだろ、とか
どうみてもいらないようなbuildrequiers増やしてたり、sed駆使してトリッキーな作り方するじゃない。

ってことは、一般人のやる./configure make make install
って不十分だってこと?
377login:Penguin:2007/09/10(月) 22:31:05 ID:WsKGqIcs
最初は ./configure; make; make install でパッケージ作るんだけど、それだ
と不都合がある時には sed とか使ってパッケージ化することはある。
buildrequires は、そのパッケージの configure オプション(あるいはディス
トリの仕様)に依存するんじゃないかな。
378login:Penguin:2007/09/10(月) 22:44:31 ID:qdzd/ZK5
configure見て --enable-staticとか--enable-faacとか--bindir=何々、とか追加する
そんくらいならやってんだけど、そういう単純なものなら自前でrpm作れるわけだが
FEDORAみたいにああいう複雑なことをする意味がまずわからなくてね。
ああしないとセキュアではないとか、機能的に不十分だとか、全く動かないとか言うと
何も見ないでは真似できないのでガッカリきてた。
379login:Penguin:2007/09/10(月) 23:04:39 ID:FRmNxXcA
>>376
野良でパッケージごとにパッケージのやり方を踏襲して、
インストールした人が自分で対応するなら
./configure 負け負けインストールでよい。

他のツールによる自動化などFedoraの枠組みに合わせるために、
configureにオプションつけたり、それでもダメな時に
sedで整形したりする。

セキュリティーパッチは、アップストリームがメンテ放棄してたり、
新しいバージョンが出るのが遅いからバックポートしてたりするのが
ほとんど。
380login:Penguin:2007/09/10(月) 23:15:37 ID:qdzd/ZK5
人に提供するにはそぐわないのかねえ。
FEDORAのような手法でないと他人に提供してはならない!とかなら
俺もうやめるほかはない。
381login:Penguin:2007/09/10(月) 23:30:22 ID:lxyts0el
なんか具体例がないと話しづらいなあ...
382login:Penguin:2007/09/10(月) 23:35:40 ID:rrwxO8vI
>>380
何だか何を主軸にした話なんだかレスごとに変わってるし、端折った分かり辛い文章なんだけど、
specの「作り」の話なら出す先に合わせるだけの話でしょう。
理由があってそこのやり方に合わせないのならそれをそのコミュニティで議論すれば良い。
383login:Penguin:2007/09/10(月) 23:49:08 ID:XeV1NcNB
分かりづらいことは書いてないな。
384login:Penguin:2007/09/10(月) 23:54:36 ID:FRmNxXcA
チラ裏なだけで
385login:Penguin:2007/09/10(月) 23:56:08 ID:ULdN5XCm
日本語読めないド素人ってやつ。
386login:Penguin:2007/09/11(火) 00:03:14 ID:LZZZN9VR
俺にはそもそも何に悩んでるのかすらワカランw

> バグジラにもないセキュリティパッチいっぱい当てまくってたり
 必要なパッチなんだろ。ソースのupdateで既に無効なパッチだったりトンチンカンなパッチなら
 パッケージごとに問い合わせれば(突っ込み入れれば)いいし、それで間違いとわかればよし。
 自分で作る時はそうならないよう注意するだけのこと。
> オリジナルのinitスクリプトをsourceにしてたり
 ソースに含まれるオリジナルに手を加えてsource取り込みをすることはあるが、本当にオリジナルと同一なら
 パッケージごとに問い合わせれば(突っ込み入れれば)いいし、それで間違いとわかればよし。
 自分で作る時はそうならないよう注意するだけのこと。
> どこからそんなパッケージ名が出てくるんだろ、
 パッケージ名の命名で他との混乱を避ける為に悩むことも稀にあるが、ケースバイケース。
 自分が作る時にあてはまるなら悩めばいいいしコミュニティに相談するのもいい。
> どうみてもいらないようなbuildrequiers増やしてたり
 明らかに不要なRequires/BuildRequiresなら
 パッケージごとに問い合わせれば(突っ込み入れれば)いいし、それで間違いとわかればよし。
 自分で作る時はそうならないよう注意するだけのこと。
> sed駆使してトリッキーな作り方するじゃない
 それぞれ必要だからそうしているんだろ。他に手段があってそちらの方が効率的ならそうアドバイスすればいいし、
 自分で作る時は解りやすくすればいい。
> ああしないとセキュアではないとか、機能的に不十分だとか、全く動かないとか言うと
 自分の作ったものに実際そう言われたなら、持論で説明すればいい。
 相手の方が正しいとわかればそうすればいい。
387login:Penguin:2007/09/11(火) 08:23:02 ID:AI8K7vmx
どこでの話か何での話かとかド素人はすぐに問題視するが、
んなもん何処だろうが何だろうが関係ないし赤帽とかのspec見りゃ複雑かそうでないかは一発でわかる。
ド素人はやっぱりド素人なんだよ。
388login:Penguin:2007/09/11(火) 10:34:28 ID:u5zv71lE
>>387
何が言いたいのか分からんが、素人が書いたspecを配布するのは止めろってことだ。
自分で使う分には問題ない。
あと自分が理解できないからって、他人をド素人扱いするのも止めたほうがいいぞ。

>>378
> 何もみないで真似できない
とかマジで思っているなら止めろ。有害だから。
389login:Penguin:2007/09/11(火) 11:07:36 ID:F/xuuvwh
>>388
スルーできないなら「ド素人」はNGワード指定しとけ。
390login:Penguin:2007/09/11(火) 11:56:00 ID:AI8K7vmx
specのひとつも書けないド素人が悔しがって出てきたぞw
391login:Penguin:2007/09/11(火) 12:31:09 ID:TPkG2MYx
rpm を作る時には rpmdevtools パッケージを入れておくと便利。
rpmdev-newspec でいくつかの種類の spec の雛形を作る事ができる
し、新しい src.rpm を作った後に rpmdev-diff で旧版と比較する
といった事もできる。epel でも提供されているので、CentOS や
RHEL でも利用可能。
392login:Penguin:2007/09/11(火) 20:38:25 ID:Dm55EcGN
ハイ ガイズ!!!
X.Orgみたいに複数のソースから一つのパッケーヅにすんのってどうやんの。
いちおう、一つづつならできっけどkbproto xcbprotoだのいっぱい出過ぎてきびしい。
まとめてX.org-libにしたい。したいが連続負けとかすると%installの部分でこけるのでできない。
393login:Penguin:2007/09/11(火) 23:29:15 ID:fqM3XN5r
>>392
サブディレクトリ作成して、(cd hoge; make install ; cd -)
を繰り返すだけでは?
394login: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をコメントアウトして
ファイルの場所は正しいかどうか見ようとしたら、
どっかでインストールエラーになるとか、最初のフォルダのファイルしか表示してくれないとか。
まあそんな感じでまとめ切れねーんだよね。
395login:Penguin:2007/09/12(水) 00:49:11 ID:eWPp95Cc
そんなこともできないド素人は何をやっても無駄
396login:Penguin:2007/09/12(水) 01:04:03 ID:lzM76E9j
>>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をググレカス。
397login:Penguin:2007/09/12(水) 10:19:00 ID:QCq7STDp
別ソースになってる奴は他のlibに依存してたりするんじゃねーの?
そのまま連続makeすると今インストールされてるXのlibとリンクしてうまく動かないよ。
必要な物から順にmakeして、後からmakeするものは先にmakeした方のheader, libを使うように指定して、
既に入っている複数に分かれたXのパッケージでconflictするものをObsoleteに指定する必要があるよ。

Xorgのすべてを一まとめにするなんて面倒だから複数パッケージにしてあるんだよ。
398login:Penguin:2007/09/12(水) 10:22:09 ID:72JPR+2/
それこそ、だから昔のXFree86 4.Xの時代は
Xのrebuildって結構大変だったんだよなあ。
make worldとかでrebuildしてたけど
399login:Penguin:2007/09/12(水) 13:43:16 ID:POXQJOwU
「これは別ソースに依存してるんですね」

「そー(ry
400login:Penguin:2007/09/13(木) 09:36:25 ID:UsZbEfqV
{expand: %%define %hoge 0}
みたいなのでコケタ。よく分からんけど、
specって#でコメントにしてもチェック入ってエラーになるよね?
なんでそういう仕様なんだろう、と。
401login:Penguin:2007/09/13(木) 10:00:59 ID:WkEhKQKr
>>400
macroは常に展開される、というのが基本的な考えらしい
http://www.rpm.org/hintskinks/commenting_not_working/

macroの展開を抑制するには、多分知ってると思うけど
#%%configure --with
みたいに%を2つ連続で書くと、これは一つの%として解釈される。
他にも
echo '%%defattr(-,root,root,-)' > foo.files
みたいな
402login:Penguin:2007/09/13(木) 13:20:12 ID:G42cfI5F
fedoraの解説書にも載ってる
コメントとして扱われるところとそうでない場所があるから気を付けろ、みてえな
403login:Penguin:2007/09/13(木) 16:55:26 ID:yYpRfvNR
思い出したんだが、FreeTypoとかGTK plusとかって1と2に分かれてるよな。
然し乍ら、"freetype"名で要求があるものと"freetype2"名で要求があるものがあるわけだが、
freetype名をconfigure内で要求してくる奴ってfreetype2のライブラリ類ではダメなもんかね?
俺、面毒せ絵からfreetypeもfreetype2も、どっちもfreetype2のものにしてしまってるわけだが。
404login:Penguin:2007/09/13(木) 16:58:07 ID:yYpRfvNR
そもそもfreetypoeがなぜ、今になっても1と2の並行存在なのかがわかってないワケだが!
フツー、ver2はver1を取り込んでる進化系だから2があれば1いらない、というのが当り前だろう。
freetypeはそうじゃないのか?
405login:Penguin:2007/09/13(木) 16:59:31 ID:V08yA5s5
なんつうか、もう少し腰を据えて勉強すれや。
406login:Penguin:2007/09/13(木) 17:07:34 ID:yYpRfvNR
まずわけわからんから、やめてほしい。
fontconfigかfreetypeかxftのどれか、まあfontoconfigだろうが、
ペァンゴゥをインストールしたら全部が□になったことがあるので!

直すのが面倒だったからな
407login:Penguin:2007/09/13(木) 17:10:43 ID:MKOJES52
言い訳しかできないド素人は何をやっても無駄
408login:Penguin:2007/09/13(木) 17:15:49 ID:WkEhKQKr
というか、そもそも「rpm作成」と関係ないし
409login:Penguin:2007/09/13(木) 17:22:25 ID:yYpRfvNR
いやあるよ
freetype2をfreetypeで作ればいいのか、freetype2はfreetype2で作って
freetypeをfreetypeで作らないといけないのか
410login:Penguin:2007/09/13(木) 18:31:04 ID:bkgyGgaa
そっとしておいてやれ。
411login:Penguin:2007/09/13(木) 19:51:21 ID:A7jeepQ9
>>403
> freetype名をconfigure内で要求してくる奴ってfreetype2のライブラリ類ではダメなもんかね?

ダメに決まってる。名前が別なら別者。
1系を使ってるアプリがあるのに、2と同じだろとまとめるなんてアホのやること。
412login:Penguin:2007/09/13(木) 21:28:55 ID:zWzuDstu
ド素人チョン悔しがり過ぎだろw
413login:Penguin:2007/09/13(木) 22:05:47 ID:ioiJbWsp
本当。ド素人は馬鹿なことしかしない。

2だけにまとめればいいとかド素人の考える事
specも書けないチョンはディストリのパッケージそのままで使っていろ


何をやっても駄目なやつは駄目な証拠
414login:Penguin:2007/09/13(木) 22:07:52 ID:WkEhKQKr
いや、まあ最初は皆素人なんだし :-)
415login:Penguin:2007/09/13(木) 22:11:20 ID:46c45aMr
>>414
触るなよwwwww
apt君はスルー推奨でよろ。
416login:Penguin:2007/09/14(金) 00:17:46 ID:CAKDuSGH
煽ってる馬鹿は素人未満のゴミだな。

自分でパッケージ作って試してる方がまだマシだ。
417login:Penguin:2007/09/14(金) 00:32:57 ID:q+DUFN4s
>>401 >>402
心配な時は、--eval オプションを使って、どのように展開されるかを確認しま
す。
$ rpm --eval '%configure'
$ rpm --eval '# %configure'
$ rpm --eval '# %%configure'
418login:Penguin:2007/09/14(金) 00:57:53 ID:bw7yJuDn
あのド素人チョンはspecも書けないからなw

freetype1と2の違いも言えずに1と2は別物だとかバーカコイてっからw
419login:Penguin:2007/09/14(金) 01:02:15 ID:bw7yJuDn
またド素人チョン語録が増えたwwww
http://freetype.sourceforge.net/freetype2/index.html

FreeType 2 supports scalable font formats like TrueType or Type 1 natively
420login: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
421login:Penguin:2007/09/14(金) 01:20:15 ID:jMQXBeNs
>420
もしかしてType1フォントの事Freetype 1だと思ってる
422login:Penguin:2007/09/14(金) 01:30:46 ID:CAKDuSGH
>>420
ひょっとしてギャグで言ってるのか?

Type 1 fontsとfreetype1の違いを言ってみてよ。
423login:Penguin:2007/09/14(金) 01:34:36 ID:bw7yJuDn
ド素人は知らないらしいw
Freetypeにはフォントが含まれないとまた恥晒しw
424login:Penguin:2007/09/14(金) 01:52:42 ID:/k9RWm3k
荒らすのは止めてくれ
425login:Penguin:2007/09/14(金) 02:34:41 ID:UKRKYk61
>>423 freetypeのソースにフォントなんて含まれていないが。
426413:2007/09/14(金) 07:31:58 ID:qUTD/upy
スマン。ちょっと確認したいことがあって真似して書いてみた。
案の定ID:yYpRfvNRはapt本人だったみたいだな。
荒れさせてすまん。
427login:Penguin:2007/09/14(金) 07:34:32 ID:qUTD/upy
荒れついでに。

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等の「混在」ディストリとお見受けするが、パッケージ名の決め事を
無視した加工を入れるのなら、それに関する他パッケージにも何らかの処置をしないとならない。
428login:Penguin:2007/09/14(金) 08:21:10 ID:5G+5E9KC
そもそもfreetype1が入ってないものも多いんだよな。

ド素人チョンはそんなことも知らないバカ。まさにド素人。
何かレスするたびに「自分はバカです」と自分から恥さらししているに過ぎないw
429login:Penguin:2007/09/14(金) 08:40:46 ID:qUTD/upy
>>428
>>427を見てもまだ解ってないようだな。
Vineスレにまで貼って恥晒すなよ。
ここで頑張って暴れてろ。
430login:Penguin:2007/09/14(金) 09:00:26 ID:5G+5E9KC
Freetype2ではTTF扱えないとかバカコイてたチョンが必死w
431login:Penguin:2007/09/14(金) 10:01:40 ID:kCsvrGt5
このスレではやさしくしてあげてよ。
他のスレに出てこないように。
432login:Penguin:2007/09/14(金) 10:08:48 ID:LGchwi2d
freetype1はライセンス的にGPL互換じゃなかったから
ほとんどのアプリはこぞってfreetype2へ移行した。
433login:Penguin:2007/09/14(金) 10:09:16 ID:T2Y+fjTv
>>431
断る
434login:Penguin:2007/09/14(金) 11:16:06 ID:5G+5E9KC
よっぽど悔しかったんだなあw
435login:Penguin:2007/09/14(金) 13:21:20 ID:5G+5E9KC
例えばMplayer1.0

区別してねえw


--disable-freetype Disable freetype2 font rendering support [autodetect]
436login:Penguin:2007/09/14(金) 14:12:14 ID:ulHG3ecC
残念ながら 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
437login:Penguin:2007/09/14(金) 14:43:19 ID:5G+5E9KC
残念ながら、「freetype2」ではないんだよなw

freetype1とfreetype2が別なら、 「freetype2-2.0.9」などになる。
「freetype」と「freetype2」を勘違いして分けているものがある場合、これはエラーの素なんだがw
438login:Penguin:2007/09/14(金) 14:44:40 ID:LGchwi2d
>>436
もう触るな。
ってか隔離するためにもっと触れか。
439login:Penguin:2007/09/14(金) 14:44:40 ID:5G+5E9KC
freetype-2.0.9と認識しているということは
freetype2はfreetypeの直系であって何ら別系統ではない、
別系統ではないということはド素人のバーカのいうことはまさに無知の恥とw
440login:Penguin:2007/09/14(金) 14:57:16 ID:ulHG3ecC
>>437
エラーを引き起こすのは当然。というかなる方が正しい。
そのためにわざわざmajor versionあげてるんだから。
そのせいで罠にはまろうと知ったことではない。

>>439
rpmのパッケージ名と本家freetypeバージョン名を混同している。
>>427が書いてくれた内容を読みなさい。理解できないだろうけど。
441login:Penguin:2007/09/14(金) 15:05:00 ID:5G+5E9KC
>>440
freetypeすら知らんバカは引っ込んでろよ。
freetype2はttfが使用できる。
(だからspecが厳密にfreetype2だのfreetypeだの区別していない)
442login:Penguin:2007/09/14(金) 15:08:06 ID:5G+5E9KC
だいたい、freetype以外でも「バージョン上がれば使えない」なんてものは当り前。
昨今のものはpkgconfig-0.9を要求してチェックするものばかりだが

「だからpkgconfig0.8と0.9は別物」


とか無知なバカをコイてるやつなど、無知ド素人チョンしかいない。
freetypeも然り。
443login:Penguin:2007/09/14(金) 16:32:16 ID:ulHG3ecC
>>441
> freetype2はttfが使用できる。
これと
> specが厳密にfreetype2だのfreetypeだの区別していない
この2つに関連性は無い。

freetype1.specとfreetype2.specに分けて書くこともできるからだ。
要するに意味不明な文章である。

>>412
major versionを知らないのがミス1
pkgconfigの例をfreetypeと同等に扱えると思ってる点がミス2

そもそも「バージョン上がれば使えない」例を出して時点で
>>439の話と180度変わっている。
書いている内容を自分で分かっていない証拠である。
444login:Penguin:2007/09/14(金) 17:01:52 ID:BwS1uakG
こいつは故意に馬鹿言ってるんだから説明しても無駄なのに。
よくやるよ、まったく。
445login:Penguin:2007/09/14(金) 17:12:22 ID:n55/SVnL
>>441
libttf(freetype-1.x)を使うMPlayer1.0なんてありえねぇww
446login:Penguin:2007/09/14(金) 17:17:45 ID:5G+5E9KC
pkgconfigで、分けてspec書けないと思ってる素人もいるんだなあw
447login:Penguin:2007/09/14(金) 17:18:59 ID:R/6LMeDF
またえらい騒ぎだこと

> 区別してない
って、今のFedoraやなんかはfreetype1系を使ってなくてfreetype2をパッケージ名:freetypeとして使ってるから
それら用に書かれたspecでも見てんでしょう

>>444
確かにここまで凄いと意図的としか考えられませんね

しっかしスレ違いな話題で良くのびますねぇ
448login:Penguin:2007/09/14(金) 18:21:18 ID:abizHB2S
2002年10月にはじまったこのスレが1000レスのうち1/4強を消費し
2007年8月の最初のレスがあったのは>>283
それから妙なのが住み着いて、9月の半ばで既にスレの消費は半分近くに。

すばらしい。
449login:Penguin:2007/09/14(金) 18:25:30 ID:nAlkAlCW
単発IDが多いな
450login:Penguin:2007/09/14(金) 19:37:30 ID:443qWdvm
痛い人が頑張ってると聞いてやってきました。記念カキコ。
451login:Penguin:2007/09/14(金) 20:25:47 ID:abizHB2S
>>449
お前みたくageるやつがいるから訪問者もまちまちなんだろ。
452login:Penguin:2007/09/15(土) 10:47:34 ID:pxQr+6oy
ド素人のいうように、全く違うものだとしたら
全く違う=役割も当然全く違う
ものなので、

Fedoraのように片方を捨てる事は絶対にできない

こともわからんからなw
捨てることができたのは何故か、そんなことすらわからん恥晒しのバーカだよw
453login:Penguin:2007/09/15(土) 10:58:58 ID:RILqaS0+
しつこい
454login:Penguin:2007/09/15(土) 11:41:46 ID:pxQr+6oy
いや、あのド素人チョンは、二言目には具体的に具体的にというが
自分が何一つ具体的でないからw


具体的に、全く別物だとバカをコイてるのになぜFedoraは捨てられたのか


ということが何一つ具体的ではないw
455login:Penguin:2007/09/15(土) 11:42:14 ID:RILqaS0+
くどい
456login:Penguin:2007/09/15(土) 11:44:42 ID:X+EQNSuz
>>454
freetype1に依存するパッケージがレポジトリからなくなったからだよ。
457login:Penguin:2007/09/15(土) 11:45:41 ID:Kg5lcweP
早く勝手に勝利宣言して首津って士ねよ基地外
458login:Penguin:2007/09/15(土) 11:51:45 ID:pxQr+6oy



そもそも、別物である証拠がない



んだよなw
459login:Penguin:2007/09/15(土) 11:55:58 ID:RILqaS0+
はやく終われ
460login:Penguin:2007/09/15(土) 21:33:31 ID:mW5ZsJzd
>>452
同じものだったら新しいものだけ残せば古いものを削除可能。
別物ならば依存するものをなくせば削除可能。

Fedora develの場合は、freetype-2.3.5-3.fc8 と freetype1-1.4-0.4.pre.fc8
があるから捨てていない。

>>458
馬鹿には分からないだけ。
461login:Penguin:2007/09/15(土) 22:17:05 ID:IxGUuTuQ
ていうか、作ってるほうがなぜft2の1色にできたかだな。
役割違うってんなら、ft2だけで組むことできねーんだから。
462login: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の巣なのに釣りも糞もないだろ
463login:Penguin:2007/09/16(日) 12:51:17 ID:/C4NjY4a
駄目でしょ。関係ないよそのスレにまで迷惑かけて。
しょうがない構ってちゃんだなあw
464login:Penguin:2007/09/18(火) 15:11:49 ID:GQFfmvEO
野良はここでspec晒して腕を磨け
465login:Penguin:2007/09/19(水) 00:23:58 ID:1UfR1y/Q
あるパッケージのシンボリックリンクに別のパッケージが依存してる時って
どうやればアップデートできるの。

・前の版では、ビルド時に自動でso.0が生成されていて、プリインストールされているものがそのso.0
・そのアプリの新版では、ビルド時に自動生成されるのはso.1
・既存のいろんなものが、前の版のものであるso.0に依存しまくっちゃってんだがよう
・しかたながいので、手動lnでso.0を作るようにspec書いた
・それでも--force も--upgradeも受け付けない

ちゃんと同じにしたんだから、置き換わってくれてもよさげなもんなんだけど。
466login:Penguin:2007/09/19(水) 00:30:51 ID:SDXQCirh
>>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をしっかり調べているから、
その方法ではごまかせない
467login:Penguin:2007/09/19(水) 00:42:02 ID:1UfR1y/Q
みなこういうのどうしてんの?
こういうのって、必ずと言っていいほどぶち当たるもんじゃないの。
468login:Penguin:2007/09/19(水) 01:02:04 ID:u2YXYR2I
>>467
-develパッケージを分割して.soのシンボリックリンク張りかえ
.so.0に依存しているもの全部rebuild

基本だろ。
469login:Penguin:2007/09/19(水) 09:32:08 ID:OpBCdR1J
rebuildはXが絡んでるやつとか、無理があるものが多すぎる。
470login:Penguin:2007/09/20(木) 11:48:13 ID:gJiplxyS
その昔、俺はRADが嫌いでWinMainからウィンドウクラスから変数から何から何まで、全て手書きだった。
HTMLも同じ。

Linuxでは、パッチを手書きしてた。
diff知らなかったから。

で、diffでパッチできるというのがわかったのがつい3分前。


便利だな!!
471login:Penguin:2007/09/20(木) 11:50:02 ID:gJiplxyS
すげえ楽でいいな!!
いちいち時間まで調べて、前のファイルの時間がこれで、新しいのは今の時間で日本時間だから+0900とか

全部手書きしておったんや!!

あまりにも便利すぐるdiff
472login:Penguin:2007/09/20(木) 12:03:48 ID:gJiplxyS
ぬおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお
便利すぐる
便利すぐるうううううううううううううううううううううううううううううううううううううううううううううううううううううううう
473login:Penguin:2007/09/20(木) 12:19:22 ID:jv4IvgQU
>>470
乙。俺もWinMainもWinProcも全部手書き派だったぜ。。。そこがこだわりなんだよな!!
474login:Penguin:2007/09/20(木) 14:42:53 ID:1vjx14e5
>>470-472
【初心者】今日知った喜びを叫びながら書き込むスレ
http://pc11.2ch.net/test/read.cgi/linux/1037640175/
475login:Penguin:2007/09/22(土) 19:27:26 ID:6FkHurkV
PHP-5.2.4っていうか、PHPってなんで

%setup -q
しても展開されないの。

buildrootに展開されずに、リアルディレクトリに全部展開されるし
%installでは本当に直にインストールされるもんだから
RPMにできない。
476login:Penguin:2007/09/23(日) 01:31:43 ID:THh5Io4C
FedoraのでもVineのでもいいから既存のspec見てみればいいのに。
477login:Penguin:2007/09/23(日) 01:33:06 ID:e7ztpf+1
しかし、最近こいつの質問ばっかりw
478login:Penguin:2007/09/23(日) 02:06:24 ID:4Mi5QzQW
ド素人はチャチャ入れのみかw
479login:Penguin:2007/09/23(日) 11:48:47 ID:h+45r0r6
ド素人はチャチャ入れのみかw
480login:Penguin:2007/10/02(火) 08:26:03 ID:x3bZOibE

"X11R7"にならんの?
481login:Penguin:2007/10/04(木) 01:19:17 ID:t125sx4B
NoSource: 0
NoSource: 1


NoSource: 20
みたいに、たくさん NoSource で指定する必要があるのですが、

NoSource: 0 1 2
みたいに一行にまとめることって出来ますか?
482login:Penguin:2007/10/04(木) 02:18:16 ID:j/7g4RSQ
>>481
できない
483481:2007/10/04(木) 02:31:49 ID:t125sx4B
>>482
レスありがとうございました。
484login:Penguin:2007/10/04(木) 10:43:46 ID:oJ6I00tk
コメンティング・アウツするとき、一行一行#打ってくのめんどうなんだけど
Cの/**/みたいな復行コメントアウツないの?
485login:Penguin:2007/10/04(木) 11:49:30 ID:x9/OBJVe
>>484
%if 0
コメントにする内容
%endif
とか。
486login:Penguin:2007/10/04(木) 12:18:31 ID:XQTCgBTt
>>484
エディタにそういう機能ないの?
487login:Penguin:2007/10/04(木) 12:32:54 ID:oJ6I00tk

%ifって手もあるのか


>>486
そんな大層なもの等ねえよ

   <⌒/ヽ-、___
 /<_/____/
  ̄ ̄ ̄ ̄ ̄ ̄ ̄
488login:Penguin:2007/10/04(木) 12:35:00 ID:746BPHGe
例えばviなら
10行目から15行目までコメントアウト
:10,15 s/^/#
とか
現在の行から10行分コメントアウト
:.,+9 s/^/#
でいいな。
戻す時は逆に s/^#/ すればいいし。

>>485だと極端な話構文エラーになるような文字列が中にあると駄目なこともあるし。
489login:Penguin:2007/10/04(木) 15:48:02 ID:oJ6I00tk
毛一個

XFree86-develってXorgので代用できないんかな。
出来そうな気もしないでもないような気もするのだが。
490login:Penguin:2007/10/04(木) 17:11:16 ID:3f+WDTt7
flymake誰かつくってほしいです
491login:Penguin:2007/10/04(木) 17:32:08 ID:x9/OBJVe
>>489
最近のXFree86*をobsoleteにしているものなら、xorgで代用しているはず。

>>490
emacs22のパッケージなら同梱されているはずだが?
なぜ、flymakeだけ欲しいの?
492login:Penguin:2007/10/04(木) 17:34:53 ID:0WRnyS6M
>>491
489=392
493login:Penguin:2007/10/04(木) 18:33:16 ID:3f+WDTt7
>>491
emacs22にすればいいのですね

今まで21使ってたから動かなかったんだ
494login:Penguin:2007/10/04(木) 18:46:50 ID:ijNPUcVM
>>484, >>488
行頭に # を入れるだけではコメントアウトされない場合があります。
>>400, >>401, >>417 あたりを参照
495login:Penguin:2007/10/04(木) 18:49:06 ID:746BPHGe
>>494
そりゃ手で打つ時も同じなんだから、普通付ける時に考慮するっしょ。
496login:Penguin:2007/10/09(火) 00:15:49 ID:Bgze7+jb
./configureするのではなく、libtoolから始めるやつあんじゃん。

あれってどっちから始めればいいかってのは、何を基準に判断すればいいの。
497login:Penguin:2007/10/10(水) 23:53:26 ID:n5ze/4NW
libtoolの意義が分かれば、順序が分かる
498login:Penguin:2007/10/26(金) 01:06:43 ID:FJoUf9J9
違う人が作成した、同じソフトウェアの spec ファイルを、両方のいいところ
をとってマージした場合、changelog の扱いはどうするのが普通でしょうか?
499login:Penguin:2007/10/26(金) 01:11:08 ID:A+/WVlXD
>>498
両方の情報を適当に織り込んで書くか、
面倒臭ければ
- Initial spec file, based on foo and bar
みたいに書いておけばよいのでは
500login:Penguin:2007/10/26(金) 01:24:25 ID:FJoUf9J9
>>499
ありがとうございます。
適当に織り込んで書いてしまうと、履歴じゃなくなる気がするので、
'〜 based on 〜' のアイデアを使おうと思います。
501login:Penguin:2007/10/29(月) 12:03:01 ID:XFknqRWc
marged A xxx section and B yyy section
502login:Penguin:2007/12/10(月) 10:17:50 ID:aaBPBrum
この制御文字なんとかなんね??
入れざるを得ないのに表示できねえから


cat << EOF > ${RPM_BUILD_ROOT}%{_bindir}/7zr
#! /bin/sh
/usr/lib/p7zip/7zr "$@"

EOF
503login:Penguin:2007/12/10(月) 10:21:14 ID:aO095Huw
"\$@"
504login:Penguin:2007/12/10(月) 10:27:36 ID:wwj9SrlK
>>502
普通に
/usr/lib/p7zip/7zr $@
でできているが。
505login:Penguin:2007/12/10(月) 10:35:13 ID:5rMpTSOh
>>504
shellにもよるがエスケープしないと出ないから>>503で。
"でくくっとけ。理由はわかるよな。
506login:Penguin:2007/12/10(月) 10:50:02 ID:aaBPBrum
すばらしい
507login:Penguin:2007/12/13(木) 08:20:31 ID:JeZOHY5G
buildrequiresは || でORできないのか?
findで見てから%ifしかないのか?
508login:Penguin:2007/12/13(木) 19:52:39 ID:z4o6OUZ7
>>507
or条件は書けないはず。
言ってる通り、%defineして%ifするのが妥当。
509login:Penguin:2007/12/13(木) 20:18:42 ID:8CjOJDdP
>>507
書けないかどうかは分からないが、取り敢えず私には
思いつかない
510login:Penguin:2007/12/14(金) 11:31:40 ID:djUpt+2w
できれば

BuildRequires: jdk >= 1.6 || jre >= 1.6

とかできればいいのに
511login:Penguin:2007/12/17(月) 04:01:56 ID:HS8oigxL
>>510
よく知らないが、jdkとjre側でProvidesをうまいこと指定しておけって
事じゃない?
512login:Penguin:2007/12/19(水) 00:26:24 ID:D/sQ0LFM
JDKおよびJREはSUN Microsystemsの範疇だからユーザーにはどうともできないだろ
513login:Penguin:2007/12/19(水) 14:00:04 ID:tNrIbKGu
パッケージ情報だけいじれない?
514login:Penguin:2007/12/24(月) 23:33:35 ID:k5ncNnAJ
>>505

なんで?
515login:Penguin:2007/12/25(火) 00:58:37 ID:WxwdOmPj
rpm -U で新しいヴァージョンに更新したときの動作として、古いパッケージを削除してからインストールされるのか、
インストールされてから削除されるのか、どっち?
516login:Penguin:2007/12/25(火) 01:00:51 ID:FIOODRBd
>>515
/usr/share/doc/rpm-4.4.2.2/triggers
インストールされてから削除される
517login:Penguin:2007/12/25(火) 01:55:30 ID:H9VdeBFN
インストールする前に削除やったらマッキントッシュのファイル移動みたいな
頭の悪いことになってしまいかねない。
(ファイル移動完了前に消すのでキャンセルすると移動元も移動先もどっちも消える)
518login:Penguin:2007/12/25(火) 02:05:39 ID:WxwdOmPj
>>516
ありがとう。
519login:Penguin:2008/01/14(月) 02:52:48 ID:Hy4ZdnuO
specの見づらさといったらない

タブ下げできないだろ
出来る場所もあるけど
タブで下げると認識しない部分が多すぎ
520login:Penguin:2008/01/14(月) 03:15:45 ID:XnIQC3/Z
>>519
具体的にspec晒してみ。
521login:Penguin:2008/01/14(月) 18:09:00 ID:i4VSmvKH
fedoraのカーネルとかglibcとか、ああいう大規模specは例外なく見づらい。
522login:Penguin:2008/01/15(火) 04:27:45 ID:srVMrVZp
だからといって、kernelのspecがインデントで見易くなるとは思えん。
523login:Penguin:2008/01/15(火) 11:02:08 ID:802CxOrm

「おじーちゃんspec臭ーい」

「インデントー」


524login:Penguin:2008/01/15(火) 12:42:25 ID:wnBaOwvz
>>521
今見た感じ、両方ともパッケージの性格上、
%defineと%ifarchが多いけど、読むだけなら普通クラスだな。
525login:Penguin:2008/01/29(火) 09:43:44 ID:PiAk8lBM
%makeinstall
では正常に動作せず、
make install DESTDIR=""${RPM_BUILD_ROOT}

でなければいけないものと、

GDBM-1.8.3のように
%makeinstall
でなければいけないものがあるわけだが

この差はどこからきてるんだ?なんで。

526login:Penguin:2008/01/29(火) 10:52:34 ID:0cIDlqMH
>>525
Fedoraでの話をすれば、現在では
*%makeinstallは「極めて非推奨」
 最近のautotools basedなMakefilesなら
 make install DESTDIR=fooが通じるはずなのでそれを
 使うべき
http://fedoraproject.org/wiki/Packaging/Guidelines#head-fcaf3e6fcbd51194a5d0dbcfbdd2fcb7791dd002

と言う感じ。Fedoraのgdbmに関しては、現在
「Merge Review」といって、古いspec fileを最新のFedoraの
Packaging guidelineに則って書き直させる作業を進めているけど、
gdbmに関してはまだ誰も審査を始めてない..
527login:Penguin:2008/01/29(火) 11:41:16 ID:PiAk8lBM
俺もなんかmakeinstallが嫌な動作するので
すべてmake install DESTDIRにしてるんだが

gdbmはこの時点でprefixにインストールされてしまう
528login:Penguin:2008/01/29(火) 12:57:59 ID:0cIDlqMH
>>527
gdbm 1.8.3のMakefile.inを見てみたけど、
最近のautotoolで自動生成された形式ではないね。
古いMakefileではDESTDIR=fooを受け付けないのは
良くあること。

でgdbm 1.8.3の場合はMakefile.inを見た限りでは
INSTALL_ROOT=fooとかいうのを受け付けそうな
気がするけど?(試してはない)
529login:Penguin:2008/01/29(火) 14:57:15 ID:PiAk8lBM
INSTALLに対するパッチで力技やった

そっちのほうがスマートだな

ありがとう
530login:Penguin:2008/01/29(火) 15:05:24 ID:/aTk9g+0
>>529
それは gdbm にパッチを当てて、Fedoraのガイドラインに
沿った spec ファイルを書いて、merge review に入る。

と期待していいのかな。
531login:Penguin:2008/02/03(日) 04:12:48 ID:FV7Cq710
ALSAってあらかじめspec入ってるよな
それ使ってRPM作ると、音鳴らないんだけど何で。


見たところどうも/dev/sndにデバイスがないのでポートが使えないようなのだが
こういうのって自分でMAKEDEVしなきゃならんもんなのか????
532login:Penguin:2008/02/03(日) 04:13:28 ID:FV7Cq710
ないならやれってことなんだろうが、なら最初からspecに書いてくれよって
533login:Penguin:2008/02/03(日) 04:35:06 ID:Hk07hUcp
>>531
alsa*.specが面倒を見るものではないから。
もしくはそういう前提でspec書いているから。

使ってるdist.知らないけど、いまどきは/dev以下はudevが面倒みるんじゃね?
534login:Penguin:2008/02/03(日) 04:41:13 ID:FV7Cq710
アップデートすると今まであったデバイス全部消えるけんな
535login:Penguin:2008/02/03(日) 04:49:41 ID:1BuAmCj1
このスレに何か最近こんな感じの文体や態度が独特な人が増えたみたいだけど、同じ人かな。
や、良し悪しとかそういう意味じゃないけど。
536login:Penguin:2008/02/03(日) 05:20:29 ID:ewzO3AQ2
>>535
一人じゃないと思うよ。
スルーせずにレスつける人がいるから助長してる部分もあるのだと思うけど
キレてたり、独り言みたいな書き方だったり、方言?みたいなの使ってみたり
普通に質問できない人は他のスレでも増えてると思う。
537login:Penguin:2008/02/03(日) 14:57:37 ID:Xl+pPMdq
>>535
Vineスレで暴れてる人と同じ人。
specが書けることがアイデンティティーを保つ手段。
538login:Penguin:2008/02/03(日) 15:08:16 ID:Q3Bc85gq
>>537
> Vineスレで暴れてる人と同じ人。
今は隔離スレの方だけで本スレに迷惑かけてはいないけどな。
隔離スレを本スレと言い張って困惑させてはいるが。

まあここでは暴れてる訳でもなく、ちょっと風変わりなだけで済んでるから
弄らなければ気にせずとも良いのではと。
539login:Penguin:2008/02/04(月) 08:44:41 ID:Ru6bdm/r
どんだけイジメられてビビッてんだか知らんが
すぐにそれだな毎回w
540login:Penguin:2008/02/04(月) 09:17:16 ID:0dV4dH/+
本人乙
541login:Penguin:2008/02/04(月) 11:13:53 ID:2cpXXhxW
http://pc11.2ch.net/test/read.cgi/linux/1198627677/l827
827 名前:login:Penguin [sage]: 2008/02/04(月) 10:30:19 ID:Ru6bdm/r
ここでいう「ド素人」とは、たった一人のことだよ。

(あまりにイジメられて精神障害になりAPT君APT君と連呼するだけのド素人)

本人だな。
542login:Penguin:2008/02/04(月) 11:26:15 ID:una/2N6h
いい加減スレ違いだ
543login:Penguin:2008/02/04(月) 11:31:19 ID:Ru6bdm/r
以後彼はスルーで
544login:Penguin:2008/02/04(月) 12:48:58 ID:isWNopqh
>>543
>>539書いといてお前が言うなよapt。

つか、>>538, >>540, >>541 召喚したんだから責任取れ。
545login:Penguin:2008/02/05(火) 16:22:36 ID:aIRISknv


むしろ気になることは、普段英語は発音大事といってるのに
空港の免税店で「デューリ゛ィフゥリィィでーす」と聞くとなんかムカッと来ること。


546login:Penguin:2008/02/17(日) 21:35:20 ID:KKn1ILV+
emacs で spec ファイル編集する際に,changelog に現在の日付を簡単に挿入
するばあいはどうするのでしょうか?
547login: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)
548login:Penguin:2008/02/24(日) 09:57:45 ID:lMBdUHZJ
どうやってもcyrus-saslで--enable-sql --with-mysql=/usr/lib/mysqlでできない…。
もう朝になったしorz

ダメなのは俺の頭と分かってるんだけど誰かヒントだけでもくれませんか?

vineのcyrus-sasl-2.1.18-0vl6.src.rpmなんですが…。
549login:Penguin:2008/02/24(日) 17:54:23 ID:ShDoJOOn
>>548
ログくらい出せ。
エスパー募集ならそう書いとけ。
550login:Penguin:2008/06/01(日) 18:41:44 ID:o2YzY2CY
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の一部ですが、書き方を間違っているのでしょうか?
551login:Penguin:2008/06/01(日) 18:56:44 ID:LzffnBG6
>>550
ログみないとはっきりは言えないが、
手元のman-pages.spec では make install 使ってない。
man-pages自体でそういう入れ方しろって書いてないか?
552login:Penguin:2008/06/01(日) 19:04:43 ID:o2YzY2CY
あ、すっかり忘れてました
man-pages.specは自分で書いたものですが
テストとして他の鳥の*.src.rpmでリビルドしても同じ現象になります
553login:Penguin:2008/06/01(日) 20:20:05 ID:LzffnBG6
>>552
「必ずレスがもらえる質問のガイドライン」じゃないんだから、
情報小出しにするなボケ。

インストールの手順も試したsrc.rpm名も
パッケージ作成時のログも見せずに解決できるわけがない。
自分でログ見て考えな。
554login:Penguin:2008/06/01(日) 20:55:20 ID:o2YzY2CY
すいません小出しにするつもりはありませんでした。

src.rpmは一つや二つじゃなくどのsrc.rpmでも同じ現象になります
rpmというかパッケージシステムに慣れていませんので
どういう風に質問すればいいのかさえ理解できておりません。
パッケージ作成時のログというのは/var/tmpに作られるxxxx.tempファイルでしょうか?
555login:Penguin:2008/06/01(日) 21:30:29 ID:o2YzY2CY
xxxx.tmpじゃなく/var/tmp/rpm-tmp.xxxxでしたね
ログとはこれの事でしょうか?
今、問題の環境で起動しました。
さっきまで違うパソコンでしたので。
556login:Penguin:2008/06/01(日) 21:34:10 ID:aul/p7sr
普通はよく知らないことを質問するときは
相手が情報を調べられるようにするもんだ。
いまの場合、当該の状況が回答者の目の前の
マシンで起きてるわけじゃないから、
やった手順を提示して追試してもらい、
それで情報のすりあわせをやる。
557login:Penguin:2008/06/01(日) 22:05:20 ID:o2YzY2CY
とりあえず、その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

という事で何をどうしたらいいのかサッパリです。
558login:Penguin:2008/06/01(日) 22:41:44 ID:o2YzY2CY
なんとなく解決の糸口が見つかりそうです

error: Installed (but unpackaged) file(s) found:
/usr/man/man1/m4.1

このように/usr/manや/usr/infoの時にエラーになってる
/usr/{man,info}は/usr/share/{man,info}へのシンボリックリンクです
559login:Penguin:2008/06/01(日) 22:43:57 ID:7+OClj2v
>>557
- sampleとなるspec file
- rpmbuild -ba XXXX.specとした時に表示されるログ
を最低限どっかのupろだに上げて示す。

私たちはエスパーではない。あなたのマシンで何が起きているか、
分かるような情報を提示してもらわないと答えようもない。
560login:Penguin:2008/06/01(日) 23:37:19 ID:o2YzY2CY
http://www6.uploader.jp/dl/linux/linux_uljp00005.zip.html

標準出力のログでしたか。
気づきませんでした orz

サンプルとしてm4-1.4.11のspecファイルとログです
拡張子はtar.gzですがtar.gzでもtgzでも
上げれませんでしたのでzipに拡張子だけ変更しました。
561login:Penguin:2008/06/01(日) 23:50:00 ID:7+OClj2v
まあ、分かった。本当は
> 標準出力のログでしたか。
標準エラー出力も欲しいところだけど (2>&1)

要は、インストールされる予定のもので、%filesに
記述が足りないものがある、という事でしょ?

>>558
> error: Installed (but unpackaged) file(s) found:
562login:Penguin:2008/06/02(月) 00:20:58 ID:BiTCFwIQ
>>560
m4.specに関しては、>>561の言うとおり
%filesに以下を追加すればよい。

%{_mandir}/man1/m4*

でも、>>550
> manやinfoをPrefixにインストールしようとしてしまうようです。
という症状は良く分からん。
563login:Penguin:2008/06/02(月) 18:02:07 ID:g/6ah81I
>>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
とかいったようにディレクトリを指定する。
564login:Penguin:2008/06/02(月) 18:45:47 ID:WeH3trY6
一部の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を参考にした記憶がある。)
565login:Penguin:2008/06/02(月) 18:49:19 ID:h2zC+aBA
いや、多分
> error: Installed (but unpackaged) file(s) found:
> /usr/man/man1/m4.1
という表示を、「m4.1が/usr/man/man1にインストールされたようだ」
と勘違いしているんだと思う
566login:Penguin:2008/06/02(月) 19:24:20 ID:PRZAnaUl
皆さんレスありがとうございます
今、帰宅しました。
>>562さん
後でトライしてみます。

> manやinfoをPrefixにインストールしようとしてしまうようです。
これについてなんですが、>>550で書いた

%install
make install

と記述したせいなのか/usr/man/man1等の中にファイルが書き込まれてしまいました
rpmbuild -ba や rpmbuild -bb はrpmパッケージ、srpmパッケージを生成し
インストール作業は行われないと思っていたのですがこの時点で自分の勘違いでしょうか?

-ba : rpmとsrpmを生成
-bb : rpmを生成
567login:Penguin:2008/06/02(月) 23:54:21 ID:2ZeTFNhe
環境変数を書き換えてないからじゃないの?

make -e prefix=$RPM_BUILD_ROOT%{prefix} install
こんな感じですかね
568login:Penguin:2008/06/03(火) 02:31:08 ID:zktyucn3
>>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
それ環境変数か? ただの変数では?
569login:Penguin:2008/06/03(火) 05:15:23 ID:krpoIhKW
当たり前の事を偉そうに並べ立ててなんだこの馬鹿は?
570login:Penguin:2008/06/12(木) 18:31:38 ID:+3KxROOU
"BuildRoot:"を必ず宣言して
"%install"で
rm -rf %{buildroot}
make DESTDIR=%{buildroot} install
とするのがいいんじゃないかとFedoraのPackaging Guidelinesに書いてある。
571login:Penguin:2008/06/12(木) 23:38:40 ID:KwSl/q6b
rpmの競合エラーの解決方法教えてください。
--forceでも、エラーとなってダメです。
572login:Penguin:2008/06/12(木) 23:44:38 ID:WYhcMAdN
>>571
--replacefiles
573login:Penguin:2008/06/13(金) 00:12:24 ID:w1f2e4XO
>>572
それもやったんですけど、MD5がマッチしないみたいなエラーが出てまして、どうしたらいいのか検討もつきません。
インストールしたいのは、openldap2.3です。
574login:Penguin:2008/06/13(金) 00:14:24 ID:xjwdehpi
>>573
正確なエラーメッセージはなに?
入力コマンドと出力結果をそのまんま書いて
575login: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がミスマッチ?だみたいなエラーが一行出て終わってしまいます。。。
576login:Penguin:2008/06/13(金) 00:50:19 ID:xjwdehpi
それでは意味が分からん....
577login:Penguin:2008/06/13(金) 12:47:18 ID:RIN6PGM1
cpio: MD5 sum mismatch なら 1.6.1 のバグじゃない?
1.6.0 を試すといい
578login:Penguin:2008/06/14(土) 00:21:45 ID:BZR5Dj+H
どうやらそうみたいでした。しかし、最初の競合エラーまでなぜか解決。
MD5はググって自己解決してたんですけど、最初のエラーが気になっていたのでインスコは見送って、バージョン下げたら何とか出来たっぽいです。
うーん気持ち悪い。
ソースからrpm作成なんてしばらくやりたくないな。
579login:Penguin:2008/06/14(土) 15:41:55 ID:4kV5wYkG
rpmってどんだけ昔のパッケージを管理システムだよ。
まだこんなの使われてんの?
580login:Penguin:2008/06/14(土) 16:10:59 ID:Zi21dYIW
>>579
てにおはが変だよ。
581login:Penguin:2008/06/14(土) 17:33:07 ID:QfLrt+Hp
debなんて車輪の再発明だろ?
582login:Penguin:2008/06/16(月) 08:23:36 ID:hFhjyFLE
rpmのChangeLogによれば最初のcommitは1995/11/27
dpkgのChangeLogによれば最初のcommitは1994/08/25
583login:Penguin:2008/06/22(日) 02:09:39 ID:p+9r3S9o
>>580
「てにおは」じゃなくて「てにをは」だろwwww
584login:Penguin:2008/12/21(日) 02:54:14 ID:DeceD7n0
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です。
585login:Penguin:2008/12/21(日) 03:04:11 ID:IZvP8Lp5
>>584
specにこういう内容を書けば望みどおりの動作する?

print_config() {
cat <<EOF
configuration check
perl_debugging -> %perl_debugging

EOF
}

print_config
586login:Penguin:2008/12/21(日) 03:19:27 ID:yvkKBw40
>>584
普通はspec fileの中に
echo %__sed
とか書いて、rpmbuildを実際に実行して何と表示されるか確認する。

というか、macroはspec fileの中で何度でも再定義出来るから、
macroが展開される場所で実際に何と定義されているか知るには
それしかないと思うけど。
587login:Penguin:2008/12/21(日) 05:36:16 ID:DeceD7n0
>>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セクションが実行されてしまいました。)

ともかく、こんな夜分遅くに素早いレスありがとうございました。
588login:Penguin:2008/12/21(日) 17:40:32 ID:IZvP8Lp5
>>587
時間かかるなら、--short-circuit すりゃいいんじゃね?

個人的には信じてないからspec変更したら最初から作り直すけど。
589login:Penguin:2008/12/22(月) 04:51:20 ID:uaKLspC9
>>584
> 自前(じゃなくてもいいけど)のspecファイルを用意して、動作確認とかをしたい時、
> そのspec内で定義されているマクロや変数なんかを出力したいのですが、
> そのようなことは可能でしょうか?

可能
SPEC ファイルの中に
%dump
って書いておいて普通にビルド。
rpmbuild -ba hoge.spec
590login:Penguin:2009/05/23(土) 18:15:38 ID:9mtn0p3C
rpm -ivh --test hoge.rpm
error: Failed dependencies:

ここで%filesの全てが必要だという依存性の問題が出るんですが
回避するにはどうすればいいですか?
591login:Penguin:2009/05/23(土) 18:20:20 ID:dozFXUS6
>>590
エラーメッセージはそのまま貼り付けるのが
基本です
592590: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/*
593login:Penguin:2009/05/23(土) 18:54:04 ID:dozFXUS6
>>592
*rpmのバージョンは何ですか(ひょっとして5系の
 ものを使っていませんか)?
*"filesystem"という名前のrpmがあれば、それを先に
 installすると回避出来ませんか?
594590:2009/05/23(土) 18:59:27 ID:9mtn0p3C
>>593
ビンゴです!
5系です。5.1.1を使ってます。
5系はまずかったでしょうか……。

filesystemというのがよく解りませんが、もしかして
初期のディレクトリ構造を作るrpmファイルが必要なんでしょうか?
595login:Penguin:2009/05/23(土) 19:10:46 ID:dozFXUS6
>>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は採用していないと
思います。
596590:2009/05/23(土) 19:26:59 ID:9mtn0p3C
ベースにしてるVineにもfilesystem-*.rpmがありました。
覗いて研究してみます。
ちなみにrpm5にしたのは特に理由はなく軽い好奇心でした。
どんなもんかなぁと。
しかし凄いですね、本物のエスパーに出会えた気がします。
ありがとうございました!!
597login:Penguin:2009/05/24(日) 12:35:22 ID:9Fvz3/MA
> %{_bindir}/*
> %{_mandir}/man*/*
> %{_infodir}/*info*
こういうシステムに必須のディレクトリやFHS準拠のディレクトリは
filesystem.rpmに含めやすいけど

> %{_datadir}/screen/*
/usr/share/screenのようにアプリごとに必要なディレクトリは
どうしたらいいんだろう?
598login:Penguin:2009/05/24(日) 12:56:05 ID:PoDTYvAW
>>597
%{_bindir}/* などは filesystem.spec では持たない。
filesystem.spec 側で持つのは、%dir %{_bindir} のみ。

個別のディレクトリは個別(今回はscreen.spec) で持つに決まってるだろ。
599login:Penguin:2009/05/24(日) 13:01:19 ID:9Fvz3/MA
>>598
言ってる事は解るが、それだと>>590に戻っちまうよ
600login:Penguin:2009/05/24(日) 13:22:05 ID:9Fvz3/MA
あ、解った。
>>592の%filesを

>%{_bindir}/*
>%{_mandir}/man*/*
>%{_infodir}/*info*
%dir %{_datadir}/screen
>%{_datadir}/screen/*

こういう風に変えりゃいいのか
601login:Penguin:2009/06/04(木) 08:08:47 ID:8IHK50eh
すみません。

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がないよ!と言ってるのは分かるんですけど、どこにそのファイルがないと言ってるのかが分からず、自力では解決できませんでした。。
誰かお分かりの方おられましたら教えていただけませんか?
602login:Penguin:2009/10/05(月) 17:40:24 ID:iORBSUfn
RPMを作成するためにspecファイルを作っているのですが
%preを記述することでinstall前に色々と行うことが出来ると思います。
ですがいくつかのspecファイルを見ていると$installの下の方に%preが記述しているのですが
これは書式が正しければ順序はあまり気にしなくてもよいということでしょうか?
603login:Penguin:2009/10/05(月) 18:28:00 ID:Plg/ruqL
>>602
何だか勘違いをしているかも知れないので一応
言っておくと、%installステージはsrpmからrpmbuildで
binary rpmを作成する時に実行されるもの。
一方%preはbinary rpmをインストールする時に、
その直前に実行されるもので、
srpmを作成する時に実行される%installの前に実行される
訳ではないというのはOK?
604603:2009/10/05(月) 18:33:57 ID:Plg/ruqL
> srpmを作成する時に実行される%installの前に実行される訳ではない
正しくはsrpm「から binary rpmを」作成する時に
実行される %installの前に実行される訳ではない
605602:2009/10/05(月) 18:41:33 ID:iORBSUfn
すいません勘違いしてました。
RPMのインストール前に実行されるのではなく、RPM作成時における%install前にに行われる作業ということですね。
ありがとうございました。
606login:Penguin:2009/10/05(月) 19:01:46 ID:Plg/ruqL
いやいや、そうではなく%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 が実行される
607602: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文で
分岐させれば出来るのではないか?と考えておりました。
608login:Penguin:2009/10/05(月) 21:03:41 ID:Plg/ruqL
>>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とか
書きたくなるかもしれない
609602:2009/10/05(月) 22:33:24 ID:iORBSUfn
>>608
なるほど。
一旦ファイルは違う所に入れておいて%postで判断して再配置してやるわけですね。
非常に勉強になります。
こちらを参考にしてやってみます。
本当にありがとうございます。
610login:Penguin:2009/10/13(火) 15:19:19 ID:ZJEPQsCG
rpmでtarget指定出来るけどXeonとかの場合はどれになるの?i686?
611login:Penguin:2009/10/13(火) 15:23:24 ID:AfmRS2fA
i686
612610:2009/10/13(火) 15:33:37 ID:ZJEPQsCG
>>611
サンクス
613login:Penguin:2009/10/14(水) 11:35:33 ID:FeA2ufKe
現在バージョンをtest1とtest2の2つ作ってみたのですが
両方入れることが出来ます。(ファイルは上書きされていますが)
RPMでダウングレードとか出来ないようにしたいんですがspecにはどう書けばいいんでしょうか?
614login:Penguin:2009/10/14(水) 12:16:34 ID:BLX3SX/b
>>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をインストールすれば
ダウングレードは出来てしまうから(というかやっぱりどういう状況か
よく分からんけど)、ダウングレードを禁止する、というのは
無理なのでは?
615613: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つのバージョンのみにしたいという事になります。
こういった事が可能なのでしょうか?
616login:Penguin:2009/10/14(水) 13:01:00 ID:BLX3SX/b
>>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が同時に
インストールされる、とか言うことは出来なくなる。
617login:Penguin:2009/10/14(水) 13:10:12 ID:9D8Qm2hH
>>615
Conflicts とか Obsoletes とか。
けど普通、615の通りにしたら、rpm -ivh した時に、
「もう既に、入れようとしてるのより新しいバージョンが入ってるよ」
とか言われない?

まあどっとにしろ--forceオプションつければ入ってしまうんだけども…。
618login:Penguin:2009/10/14(水) 13:11:31 ID:9D8Qm2hH
リロードしてなかった・・・orz
619613:2009/10/14(水) 13:40:49 ID:FeA2ufKe
>>616-617
ありがとうございます。
conflictsというのがあるのを知りませんでした。
旧バージョン削除とかされたら対処のしようがないですがこちらで対応できそうですので試してみます。
620login:Penguin:2010/02/24(水) 19:22:22 ID:Wf0IZUea
# 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
621perl.spec 1/2:2010/02/24(水) 19:24:15 ID:Wf0IZUea
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.
622perl.spec 2/2:2010/02/24(水) 19:25:01 ID:Wf0IZUea
%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
623620:2010/02/24(水) 19:28:47 ID:Wf0IZUea
ncursesを入れようとしたらperlが必要と言われるのでperlを入れようとしたら
>>620のエラーが出ます。このエラー内容から何をperlより先に入れればいいのでしょうか?
rpmのバージョンは5.1.1です。
624login:Penguin:2010/02/24(水) 19:58:03 ID:xHmKrqPs
625login:Penguin:2010/02/24(水) 19:58:27 ID:C50XprkV
>>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
したほうがいいと思う。
626login:Penguin:2010/02/24(水) 20:09:54 ID:Wf0IZUea
>>625
鳥がLFSなんでsrpmが無いんです。
あまりにも意味が解らないですが、何とか頑張ってみます。
Epochとか初歩的な事なんだろうか?全然知らなかった。
perlは鬼門かぁ、rpm難しいなぁ……
627login:Penguin:2010/02/24(水) 20:26:02 ID:C50XprkV
取り敢えず面倒臭ければ
* Release: 1%{?dist}の次の行に
Epoch: 1
  と書いておく
* perl(foo) is needed by ... と出ているものは
 全部Providesに加える
 e.g. Provides: perl(Carp::Heavy) とか何とか
   をBuildRoot: の行以下にずらっと書いておく
とすると多分行けると思う。
628login:Penguin:2010/02/24(水) 22:24:54 ID:Wf0IZUea
>>627
ありがとうございます、うまくいきました!

Epochについて詳しく説明されてるサイトは無いでしょうか?

http://www.jp.redhat.com/magazine/NO8/
>実はパッケージの新旧を判別するときにバージョンより前に比較されます。
>このフィールドはEpochです。Epochは整数値で、基本的にRPMのバージョン
>比較アルゴリズムを使用して正しく比較されないような方法でアップスト
>リームバージョンが変化するときに使用されます。特に理由がないかぎり、
>またEpochが悪用される可能性を理解していないかぎり、Epochはパッ
>ケージングで使用するべきではありません。

また、Vineのサイトでは「Epochは無闇に使わない」と書いてました。

バージョン比較に関する事のようなので自分のように理解の浅い者が使うと最初は良いが後で大変な事になりそうです(汗)
629login:Penguin:2010/02/25(木) 00:14:28 ID:kA6rfkhj
>>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が必要になる。
630620:2010/02/26(金) 15:24:30 ID:O248/D0k
>>629
返事が遅くなりました。

詳しく丁寧な解説で大変スッキリしました。
おかげでやりたいことが順調に進んでいます。
ありがとうございました。
631login:Penguin:2010/03/02(火) 22:18:26 ID:fWiC3lm1

632login:Penguin:2010/03/08(月) 14:36:56 ID:MwhnzSUc
UNIX板の「netatalkについて語るスレ」
ttp://pc12.2ch.net/test/read.cgi/unix/1014273743/711-
を読み、centos4.7でもnetatalk2.0.5が使えるかと思って
ttp://www003.upp.so-net.ne.jp/hat/netatalk/2.0.5.rpm.html
を参考にcentos4.7上でrpmインスコ→specファイル編集→rpmbuild -baしましたが、
何ヶ所かで Syntax error が出て正しくrpmbuildできません。
以下がそのコンパイルログなのですが
ttp://upsurusuru.hp.infoseek.co.jp/cgi-bin/src/up4107.txt.html (リンクページ)
ttp://upsurusuru.hp.infoseek.co.jp/cgi-bin/src/up4107.txt (ログファイル本体)
どうすればこの問題をフィックスできるでしょうか。
633login:Penguin:2010/03/08(月) 15:15:04 ID:bRoA2GMS
>>632
g++: command not found というメッセージが大量に出てるけど?
634login:Penguin:2010/03/08(月) 15:55:32 ID:2sdD7ihs
>>632
ttp://www003.upp.so-net.ne.jp/hat/contact.html
BuildRequires がたりてねぇんじゃねぇか? 直しとけよ。
って連絡する。
635login:Penguin:2010/03/08(月) 16:02:00 ID:aeUGLVS3
>>632
netatalkスレワロタ
文字通りネタtalkだなw

そこにも書いてあるが
原因と対処法を知りたきゃ
エラーメッセージを読んでぐぐれよ。
他人に聞くのはその後だ。
636login:Penguin:2010/03/08(月) 16:03:18 ID:aeUGLVS3
>>634
いや、specがFedora用だから。
CentOSだとgccと別パッケージになってる。
637login:Penguin:2010/03/08(月) 16:04:54 ID:bRoA2GMS
>>634
元rpmはFedoraのものなのね。

Fedoraでsrpmをrebuildする時は、以下のrpm(と依存性からインストールされる
rpm)は当然installされているものと仮定されてある
https://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2
CentOSの場合はfedora-releaseとかその辺を読み替える必要があるかも
知れない
638login:Penguin:2010/03/08(月) 16:06:57 ID:MwhnzSUc
>>633 どうもです。g++ ??は入ってないはずがない、と思って調べてみたら、
どうも gcc-c++ という別のパッケージがリポジトリの中に見つかって、
こいつが必要っぽいので、いっしょに見つかった、よく分からんが必要そうな他のパッケージともども、
yum install gcc-c++ gcc-g77 gcc-gnat gcc-objc gcc4 gcc4-gfortran でインスコ。
で、もう一度 rpmbuild -ba してみたら、今度はさっきより長く作業していたけどやっぱり途中で死亡。
以下が今回のconfig.log
ttp://upsurusuru.hp.infoseek.co.jp/cgi-bin/src/up4108.txt.html
ttp://upsurusuru.hp.infoseek.co.jp/cgi-bin/src/up4108.txt.
これとさっきのやつから何かヒントのようなものは分かりますか?
639login:Penguin:2010/03/08(月) 16:13:15 ID:bRoA2GMS
取り敢えずconfigureは終わっているみたいだけど?
makeの途中で失敗しているのならそのログがほしい
640634: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 使ってないからパッケージ名はわからない。
641login:Penguin:2010/03/08(月) 16:42:19 ID:m00P35oi
$ 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

段階的にやる事をお薦め
まぁ好みかもしれないが……。
642login:Penguin:2010/03/08(月) 16:43:05 ID:G6ma6yfs
一歩進むたびにここで質問か。
まったく自力で解決する気のないヤツだなw
643login:Penguin:2010/03/08(月) 16:47:38 ID:bRoA2GMS
取り敢えず私は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>
は一応成功した。動作するかは当然未確認
644login:Penguin:2010/04/07(水) 22:23:32 ID:OXJBKLBk
環境は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ファイルを書くべきでしょうか?

645login:Penguin:2010/04/07(水) 23:28:45 ID:2czAEdLh
>>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
 と書いておく
646644:2010/04/09(金) 01:40:40 ID:+q/YJcXU
>>645
んー、何かスマートじゃない気がするけど、そんなやり方しか無いですかねぇ?
色々悩んでみたけど、やっぱり思いつきません。
647login:Penguin:2010/04/12(月) 10:17:34 ID:0KX27N6a
今までファイル1個1個を指定していたんですがフォルダで指定というのは出来ますか?
source0: test.so
source1: test2.so
と指定してましたが、ファイル数が増えてきたのでフォルダで指定できればと思ってます。
648647: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というエラーが出ます。
ディレクトリもファイルもあるのですがフォルダの指定はダメということでしょうか?
649login:Penguin:2010/04/12(月) 14:35:31 ID:4Aa5n0iv
>>648
ダメ。というか漏れはやったことない。

.tarとか.tar.gz .tar.bz2 にするだろJK
650648: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で展開という流れでしょうか?
651login:Penguin:2010/04/12(月) 22:16:30 ID:rzThN8d3
>>644-646
> パッケージのアップグレード時にはインストールしたいといった場合
post とかで $1 を使うといいのかもしれない。
ttp://www.vinelinux.org/manuals/mr-important.html#mr-symlink
652login:Penguin:2010/04/27(火) 09:54:29 ID:O0k+afFo
RPMを作成しているのですが、ファイルを追加もしくは上書きするだけで
RPMを削除しても追加もしくは上書きしたファイルは削除されないようにしたいと思っております。
削除する際のファイルというのはどこで指定されているのでしょうか?
653login:Penguin:2010/04/27(火) 13:39:54 ID:Yo85ldD1
>>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されない
ようにしたいっていう事?(こんな事は出来るとは思わないけど)
654652: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が上書きされるだけの状態
というのが出来ればいいと思ってます。
655login:Penguin:2010/04/27(火) 14:10:12 ID:Yo85ldD1
>>654
私が知る限りそんな事は出来ない
656652:2010/04/27(火) 14:19:21 ID:O0k+afFo
>>655
ありがとうございます。
rpmで入れたものはrpmを削除した際に必ず消えるという事ですかね
別の方法を考えてみます。
657login:Penguin:2010/04/27(火) 14:34:57 ID:H0RVQFfi
いくつかのRPM群で、共通ファイルとRPMごとの選択式ファイル群があるということなら
共通ファイルだけを別RPMにして、選択ファイルは依存関係でどうにかする
というのが真っ当な考えなんじゃないの?
658652:2010/04/27(火) 14:49:28 ID:O0k+afFo
>>657
まったくもってその通りなんですが既存の手順と構成を維持したまま出来ればと思ってました。
%installと%filesでは実際にはこちらが用意した/reposi/に導入し、実際には%postセクションで
installセクションでやってたことをcpコマンドでやってやれば、基本的に上書きだけするようなものが出来るかな〜と漠然と考えております。
全然スマートなやりかたではないですけど・・・
659login:Penguin:2010/05/25(火) 21:47:53 ID:RNYbx8WT
RPMを作成したのですがrpm -iで失敗した際のエラーには依存関係以外で出るものですか?
RPMがちゃんと入ったかどうかの判断で、何も出なければ大丈夫だと思うんですが依存関係以外でのエラーが出るのであれば教えてください。
660login:Penguin:2010/05/25(火) 22:28:47 ID:Af3chLuG
>>659
色んな原因でerrorは出る。
*transactionが起こる前に失敗する例
 ー依存性が解決出来ない
 ーfileがconflictしている
*transaction中にエラーが起こる例
 ーrpmを実際に展開する前/後に実行されるscriptletsが失敗する
 ー(良くあるのがsymlinkをdirectoryに置き換えようとする等)rpmを
  展開する時に不可能なfileの置き換えをしようとして失敗する
661659:2010/05/25(火) 23:31:20 ID:RNYbx8WT
>>660
conflictは他のツールなどが使っている可能性がある場合にでるもの。
不可なファイルの置き換えというのは使用中のファイルを触ろうとしたけどロックされてて失敗というような意味でしょうか?
何かあったときのエラー対策をしたいと思ってるのですが、エラーが起こせないので対策をどうしたものかと思ってました。
662660: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への接続が悪いな...
何か別のサイト選べばよかった)
663659:2010/05/27(木) 08:10:49 ID:mR5kYcIC
わざわざサンプルまでありがとうございます。
いろいろなエラーを起こすことができて大変助かりました。
ただやり方がわるかったせいか上書きできない場合のエラーだけ確認が出来ませんでした。
/bin/sleepをshare/fileとしてコピーしてfile 10000 &とバックグラウンドで動作させ、echo 11 >> fileとしたときにビジーであることを確認した上で
RPM内でtouchしたら書き換わってしまいました。
これが正常なのか、異常だけどエラーが返らないのかちょっとわかりませんでしたが・・・。
664login:Penguin:2010/08/10(火) 20:24:41 ID:tCSiYThg
インストール前のrpmに入っているコンフィグファイルは以下の
コマンドで見れますが、

$ rpm -qcp aaa.rpm

そのコンフィグファイルがnoreplaceが指定されているか
どうかを知る方法は有りませんか?


665シベリアから代筆:2010/08/10(火) 22:24:59 ID:ylEyQBMh
長いので次のレスで
666シベリアから代筆その2:2010/08/10(火) 22:31:55 ID:ylEyQBMh
>>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)
667シベリアから代筆その3(最後):2010/08/10(火) 22:34:08 ID:ylEyQBMh
#!/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
668aoi ◆U1p9jHYFr6 :2010/08/10(火) 22:50:27 ID:ylEyQBMh
>>665-667を代行した者ですが>>667がズレてしまい申し訳ありません。
依頼の元レスの方を張りますのでどうぞそちらを参考にしてくださいまし。
>>667
http://toki.2ch.net/test/read.cgi/siberia/1281442223/53
669login:Penguin:2010/08/11(水) 02:50:06 ID:dEdzf4Dd
>>664
src.rpm持ってきてspecみたほうが早いが、
それできない理由があるの?
670login:Penguin:2010/12/02(木) 13:29:58 ID:6ID+DOoY
ソースコードを少しずつ修正してmakeを繰り返しているのですが、
出来上がったファイル群を再ビルドせずにrpmにするコマンドは何なのでしょうか。
make install DESTDIR=/hoge/huga/と自分で打ち、あとはこれをパッケージングするだけだと思うのですが、方法はあるのでしょうか。

フルビルドに数時間かかるソースなので再makeは避けたいのです。
671login:Penguin:2010/12/02(木) 15:17:21 ID:N72IvlB7
>>670
> 出来上がったファイル群を再ビルドせずにrpmにするコマンドは何なのでしょうか。
そんなコマンドは知らない。

できあがったものを tar かなんかでまとめて Source0 にして
make install に相当する処理 (mkdir とか install とか) を
spec の %install とかに書いて
%files を書けばパッケージを作れる。

再インストールする予定がないのなら checkinstall で済ませてもいいかと。
672シベリア便:2010/12/02(木) 17:29:30 ID:4Se6eCpE
>>670
そんな風に思ってrpmの開発者に「何とかしてくれ」と言ったけど
断られた人が「それなら俺が作る」といって作ったプログラムがある

http://v3.sk/~lkundrak/blog/entries/shortrpm.html
http://v3.sk/~lkundrak/shortrpm/
最新版は1.3。上には見つからないけど
http://koji.fedoraproject.org/koji/packageinfo?packageID=8288
からdownloadできる。Fedoraなら$ yum -y install shortrpm
でokay
673login:Penguin:2010/12/02(木) 19:49:27 ID:ZmqmPvue
Momonga Linuxのrpmにmake installからでも再開できるようなパッチが当たってたと思う
674login:Penguin:2011/03/03(木) 13:07:19.34 ID:VjIzuH2z
rpm5の5.3.6からtar玉の配布なくなった orz
rpmの無い環境で初期導入するにはどうすればいいんだ?
675login:Penguin:2011/03/03(木) 13:08:56.68 ID:VjIzuH2z
あ?cpioを入れりゃいいのか
676login:Penguin:2011/04/19(火) 18:03:06.82 ID:LrCEt0Uk
ここの Perl スクリプトで cpio に変換できるよ。
でも、試してみたら自作 rpm は上手く行ったのに、
Fedora の rpm では変換できなかった orz
ttp://www.iagora.com/~espel/rpm2cpio
677login:Penguin:2011/08/26(金) 14:12:19.94 ID:XRt0ve0F
復帰
678login:Penguin:2011/09/14(水) 03:45:37.05 ID:rOofFSFO
rpmとdebが滅びれば平和になる
679login:Penguin:2011/09/23(金) 17:46:16.42 ID:AcBUdt3J
通常のRPMパッケージの中にSPECが入ってないんですが
%postとか%postunに記述したスクリプトはどこにいったのでしょうか?
680login:Penguin:2011/09/23(金) 19:12:19.55 ID:Ne6Cq1HM
specはSRPMに入ってるでしょ。
SRPMが無いなら-q --scriptsで確かめるくらいしかない。
681login:Penguin:2011/12/06(火) 12:50:14.70 ID:jQo1eR9l
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です
682681:2011/12/06(火) 13:56:54.75 ID:jQo1eR9l
自己解決しました

/usr/bin/sudoは/usr/bin/sudoeditのハードリンクなので/usr/bin/sudoeditにもsuidを与えるとうまくいきました。
お騒がせしました。
683login:Penguin:2011/12/17(土) 22:27:29.62 ID:T9RD87iv
SRMPの中に .xz のファイル入れたいんだけどXZ_OPTはspecのどこに入れたらいい?
展開の時のメモリリミットに引っかかってしまうんで

XZ_OPT="--memory=max" rpmbuild -bp hogehoge.spec

とやってから残りの工程やってるんだけどリビルドする時にもXZのオプション渡さなきゃ
ならんのでspecの中に書いてしまいたい。
684login:Penguin:2011/12/17(土) 23:25:35.30 ID:DpTcSmVN
>>683
%prep の最初(例えば%setup -qの前とか)に
適当に"export XZ_OPT=foo"とか書いとけばいいんでは?
685login:Penguin:2011/12/17(土) 23:39:49.98 ID:T9RD87iv
>>684
それだ!
export 付けずにやってた orz

ありがとう!
686login:Penguin:2012/01/12(木) 20:25:06.62 ID:O/6oJwHc
s/Requires(PreReq)/Requires(pre)/
687login:Penguin:2012/02/21(火) 23:43:07.28 ID:KYAEL8fh
RHEL6.2のspecファイル内のfilesセクションに以下の記述を追加すると

%attr(0755, root, TEST) %{_log_dir}

セクション実行時に、必ず/xxxx/rpmbuild/BUILDROOT/ ってパスも追加されちまうんだけどこれ抑止する方法ないですか?

688login:Penguin:2012/02/22(水) 22:19:42.89 ID:HC6C2M8p
>>687
良く意味が分からない。インストールされるスクリプトか
何かに%buildroot(を展開したもの)の文字列が追加される
と言うこと?
689login:Penguin:2012/07/25(水) 23:23:31.24 ID:g/A0gHcr
rpmbuild/BUILDにあるものをrpmbuild/BUILDROOT/xxxに
移したいファイルがあるのですが、どうやって移す記述書けばいいの?
690login:Penguin:2012/07/26(木) 00:43:05.09 ID:N7SpZO0P
>>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}
とかでもいいかもしれない。
691login:Penguin:2012/07/27(金) 22:50:08.30 ID:THqv0vqp
書くなら%installだろうな。
ちなみに、正しくは、
%{__mkdir_p} "${RPM_BUILD_ROOT}"/xxx
%{__install} -m 644 "${RPM_BUILD_DIR}"/FILENAME "${RPM_BUILD_ROOT}"/xxx
692 忍法帖【Lv=40,xxxPT】(3+0:8) 【31.2m】 電脳プリオン ◆3YKmpu7JR7Ic :2013/01/03(木) 00:28:29.92 ID:51juYsUD BE:60811823-PLT(12079)
  ∧_∧
  ( ・∀・)            人 ガッ
  (    つ―-‐-‐-‐-‐-‐○ <  >__Λ∩
  人 Y ノ.             V`Д´)/
  し(_)                  /  ←>>87
693login:Penguin:2013/03/27(水) 18:17:52.42 ID:EO+gKyjh
rpmbuild -bi --short-circuit
を使って%prepと%buildを省こうと思ったのですが、
%{buildroot}にファイルがインストールされただけでパッケージの構築が行われませんでした。
($HOME/rpmbuild/RPMS/以下にバイナリパッケージがありませんでした。)

これはパッケージを構築する場合には最初からしろということなんでしょうか?
694login:Penguin:2013/03/28(木) 00:13:02.31 ID:gdGF6+fg
>>693
-bi だと %install までしか実行されないから
それで正常動作。

%files のチェックとか パッケージの作成は
-ba ( -bs + -bb ) に相当するものなので実行されない。
rpmbuild -ba --short-circuit
を試してみればいいかと。
695693:2013/03/28(木) 23:37:02.59 ID:SPC2WQ1Y
試してみたんですがビルド作業は省かれませんでした。
やはりパッケージを作成するには最初からでないとダメみたいです。
ビルド作業を省く場合はその場合の手順を書いたspecを用意する必要があるようです。
696login:Penguin:2013/03/29(金) 11:46:28.16 ID:fhKzZKHq
spec fileを編集しファイルの展開など省略して
いきなリmakeしたら。
697login:Penguin:2013/04/24(水) 06:55:27.86 ID:jQ5QlJQQ
すいません、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の扱いもわかりません…。
自分で作成しないと無いものなんでしょうか?
どこにも置いてなさそうなんですが。
698697: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)
699login:Penguin:2013/04/24(水) 11:52:17.39 ID:NbyILfT0
make installでRPM_BUILD_ROOT以下のディレクトリにfileが
インストールされていないと思う。
700login: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と設定しましたが…。
701login:Penguin:2013/04/24(水) 17:15:19.25 ID:NbyILfT0
インストールするfileが少なかったら、make installしないで
RPM_BUILD_ROOT配下にインストールするコマンドを書けば。
702login:Penguin:2013/04/24(水) 17:47:59.36 ID:NxmF5XFg
最近のautotools basedなtarballなら、
make install DESTDIR=%{buildroot}
と書けば、「普通は」うまくインストールされる。
703login:Penguin:2013/04/24(水) 22:31:30.80 ID:NF2e3Qou
>>697 >>700
ソースに付属のドキュメントとか、ソースが置いてある Webページとかを読めば
なにか書いてあるんじゃないのか?
ドキュメントとか説明とかいっさい無くても、
make するってのなら Makefile はあるのだろうし。
ドキュメントとかにあたらず推測だけで作業するのは非効率的だぞ。
704login:Penguin:2013/04/25(木) 06:34:28.99 ID:ISFeFt+r
DESTDIRも設定されてませんね…。
何の値をきるべきでしょうか…。
RPM_BUILD_ROOT配下にインストールする
コマンドですか。何と書くべきですかね。
段々わからなくなってきました。
705login:Penguin
Makefileのinstallのところをさらしてみたら。