[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/09 08:46 / Filesize : 158 KB / Number-of Response : 550
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

rpm作成スレッド



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

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

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

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


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


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

210 名前:login:Penguin mailto:sage [04/11/09 15:05:09 ID:djcIs5Z+]
ワロタ

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


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

本当だ。

213 名前:login:Penguin mailto:sage [04/11/09 16:02:53 ID:cqFt3Vlt]
>>212
ワラタ

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


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



216 名前:login:Penguin mailto:sage [04/11/21 20:03:40 ID:VQuZ+65z]
ぐぬぬぬぬぬぬぬぬぬぬぬぬぬぬ

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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




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

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

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

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


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

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

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

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

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


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


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

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

234 名前:login:Penguin mailto:age [05/03/16 12:37:34 ID:zQujFZYD]
age

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

$rpmbuild -ta apr-1.1.0.tar.gz

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

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

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



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

237 名前:235 mailto:sage [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 ファイルのデバッグ、というのはどのようにすればいいのでしょうか?

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

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

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

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

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

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

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

241 名前:login:Penguin mailto:sage [05/03/18 12:19:57 ID:x5kfc3Qj]
>>231

rpm2cpio hoge.src.rpm | cpio -idm

242 名前:235 mailto:sage [05/03/20 09:10:36 ID:7RtkTiX5]
>>240

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

古すぎますかね?

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

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

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

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

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

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

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

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



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

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

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

rpmbuild -ba php.spec 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

いまビルド中です。

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

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

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



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

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

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

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

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

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

259 名前: ◆/UXtw/S..2 mailto:sage [2005/08/16(火) 15:47:59 ID:Vn0puH61]
>>258

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

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

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

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

でも読んでおけ。


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

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

262 名前:login:Penguin mailto:sage [2006/06/11(日) 22:42:16 ID:UdaIvYnC]
short-circuit

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

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

265 名前:login:Penguin mailto:sage [2006/07/06(木) 15:25:43 ID:5XYo67aq]
>>264
バーカ



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

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

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

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

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

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

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

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

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

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

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


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

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

%install
rm -rf $RPM_BUILD_ROOT

%prep
%setup -T -D

%build

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


272 名前:268 mailto:sage [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の中身が全部入るはず。

273 名前:login:Penguin mailto:sage [2007/05/21(月) 23:50:01 ID:wTcHQfiz]
rpm-4.4.9 released

274 名前:login:Penguin [2007/06/06(水) 03:17:13 ID:lGsmCtkv]
不思議に思うのでage。
SOURCES/以下にgcc等で作成したバイナリ置いて
rpm -bb hoge.spec にてhoge.i386.rpmを作成。
rpm -qlp hoge.i386.rpm で中身見るとバイナリのサイズが異なっている。
rpm -Uvh --nodeps hoge.i386.rpm すると、やはりサイズの異なるバイナリがインストールされる。
インストールされたバイナリは実行すると正常に動く。

皆さんもこのようにサイズって変わります?

275 名前:login:Penguin mailto:sage [2007/06/06(水) 05:31:10 ID:2s+JxBbh]
>>274
strip が実行されるかって話か?



276 名前:274 mailto:sage [2007/06/09(土) 02:01:07 ID:pwWD+Gu2]
>>275
strip のようです。
レスthxでした。

もちょっと調べてみます。

277 名前:login:Penguin [2007/06/26(火) 05:01:51 ID:u8xPlGSp]
rpmbuild -cleanってBUILDの中しか、掃除してくれないのですね。

SOURCESが腐臭を放ってるのですがrm -rfしか無いですかね? 

278 名前:login:Penguin mailto:sage [2007/06/26(火) 05:05:47 ID:IbaDPO04]
>>277
貧乏なの?

279 名前:277 mailto:sage [2007/06/26(火) 05:19:26 ID:u8xPlGSp]
>>277
考えてみればこれはインスコしたrpmの責任と思われ。しかしちらっと見た所ソースパッケージの
情報ってrpmのデータベースには入らないんですよね? すると何を消せばいいかを知る者は
誰もいない。 皆さんどうやって整理してます? 


280 名前:277 mailto:sage [2007/06/26(火) 05:24:14 ID:u8xPlGSp]
>>278
ふと気がつくと50Gぐらい溜まってたので整理したいなと。 けど今使ってるのは消したくないなと
思いまして。

281 名前:login:Penguin mailto:sage [2007/06/26(火) 05:33:17 ID:IbaDPO04]
>>280
俺が見てるHDDの値段だと、買った方がいいような気がするけど

282 名前:login:Penguin mailto:sage [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 を手動で削除してる。
パッケージいじる度に整理してるからゴミはたまらない。

283 名前:login:Penguin [2007/08/09(木) 17:44:02 ID:VAkbqcfi]
自分のやったことを書き残しておかないと俺は忘れるので
rpmbuildは絶対に-baだしspecの中にコメントを残しまくる

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

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

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

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

しかも大型連休の前で、連休中はATMも窓口もやってねえから
連休中引き篭りの如き生活を余儀なくされる
無理して出かけるとロクなことにならない。
前日に買ったばかりの一眼レフカメラを滝壷に落としたりとか

284 名前:login:Penguin mailto:sage [2007/08/09(木) 18:43:52 ID:i2G080T2]
>>277 >>279 >>282
超亀レスだけど、--rmsource とか --rmspec とかいう
オプションがあってですね

285 名前:login:Penguin [2007/08/09(木) 19:10:02 ID:MwiSZeKc]
rpmで分からない事

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


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

*2
特にバカ棒とか、fedoraのrpmはパッチだらけ。で、そのパッチはどこから来たものかね?と言いたくなる。



286 名前:login:Penguin mailto:sage [2007/08/09(木) 21:23:01 ID:i2G080T2]
>>285

*1 どういう事?
*2 色々としかいいようがないけど、具体的に例えば
  何のパッケージ?

287 名前:login:Penguin mailto:sage [2007/08/10(金) 01:06:48 ID:6t2LYoGm]
>>285
>*1
パッケージ作ったら動作確認。
そのパッケージに依存するパッケージがあればそれも。

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

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

fedora のことはよく知らないけど
MLやBTSなどを見ていけば直接きかなくてもわかるだろうし
パッチ自体に誰が書いたか情報が残ってる場合もある。

288 名前:login:Penguin mailto:sage [2007/08/10(金) 01:21:39 ID:6DrepktQ]
>>285
1) パッケージャなら分かる。
 逆に言うと、filesはパッケージが判断したものが入っている。

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

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

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

具体的な話しないと良く分からんかもな。

289 名前:login:Penguin mailto:sage [2007/08/10(金) 09:21:01 ID:ZlX02ZfX]
>>288
> 具体的な話しないと良く分からんかもな。
質問じゃなくて日記と思われ。
だから具体的な事は故意に書いていないんじゃ。
触れない方が良い人かもね。

290 名前:login:Penguin mailto:sage [2007/08/10(金) 10:47:37 ID:OFRvlfOd]
rpmより
debだよ〜www

291 名前:login:Penguin [2007/08/10(金) 11:29:21 ID:YRDOnw55]
いろんな所に顔出す>>289


vineスレで「チョンのド素人」とバレて以来トラウマになり
何かあると悔しさのあまりすぐに「apt君」とか
「句読点が」とかしか言えなくなったかわいそうなド素人

292 名前:login:Penguin mailto:sage [2007/08/10(金) 11:34:52 ID:ZlX02ZfX]
apt君とか句読点とか良くは知らないが、
やっぱり触れないでいた方が良い人なのは解った。

293 名前:login:Penguin [2007/08/10(金) 11:39:07 ID:YRDOnw55]
図星らしいw

294 名前:login:Penguin [2007/08/12(日) 20:42:51 ID:uSeb1di4]
うむむうううううううううううんんんん

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

その昔、アセンブラ覚えたての頃PCに15時間
コラムスでメガドライブに向き合って20時間以来

295 名前:login:Penguin mailto:sage [2007/08/14(火) 03:10:45 ID:DT26MoOB]
installしないrpmって作れないかな。
設定手順だけ纏めたいんだよね。

ダミーで/usr/shareあたりにファイルを突っ込んでおくのが妥協点かな?
そんな運用してる人っていません?



296 名前:login:Penguin mailto:sage [2007/08/14(火) 09:57:56 ID:T6jHvyjq]
>>295
%files とだけ書いておけばいい。
ダミーファイルは不要。

297 名前:login:Penguin mailto:sage [2007/08/14(火) 12:25:17 ID:DT26MoOB]
>>296
>%files とだけ書いておけばいい。
>ダミーファイルは不要。
あ、ほんとだ。
先日試してみたときはinstallするものが無いといった感じで出来なかった記憶があったけど、さっき試したらちゃんと出来た。
ありがとう。

これで%triggerunとかでトリガーをいっぱい仕掛けておくと勝手に設定してくれるような管理ができそうでいい感じです。

298 名前:login:Penguin mailto:sage [2007/08/14(火) 21:13:42 ID:ra5qZy+x]
manってsource.tar.gzのどこに入れておくのが親切?

299 名前:login:Penguin mailto:sage [2007/08/14(火) 22:48:35 ID:1g2wKjHY]
>>298
別にどこでも。
どこに置かれようとinstallできるだろうし、
Makefileがあればmake installでmanが入るだろうから、なおどこでもいい。

300 名前:login:Penguin mailto:sage [2007/08/16(木) 05:15:41 ID:SqrROuxG]
俺ちょいとばかり難しく考えていたのだが、
RPMってテキトーにテンポラリフォルダにインストールしてみて
出来てきたファイルを見て%files とかに追加してくだけで出来ちまうのではないかと思った。
configureとか負けは既に用意されてるファイル使うだけだし、
あとは--enableとか、そういったオプションさえ知れば何て事ないのではないかと!!

301 名前:login:Penguin mailto:sage [2007/08/16(木) 11:03:42 ID:7j7bVIrI]
>>300
その通りだよ。

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

こんな感じで書いておけばtmpにインストールしてみる事すらほぼ不要だ。


302 名前:login:Penguin mailto:sage [2007/08/16(木) 12:11:19 ID:Q9550e1t]
となると、問題はパッチと
わけのわからんトリッキーなインストール方法を要求する奴をどうやって見抜くか
なんだな。

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

じゃないもんなそういうの。

303 名前:login:Penguin mailto:sage [2007/08/16(木) 12:59:31 ID:igdB7TDi]
>>302
そういうのは普通READMEとかINSTALLとかに
どうやってインストールするか書いてあるから、それを
まねするもの

304 名前:login:Penguin mailto:sage [2007/08/16(木) 13:40:56 ID:6nUsWssB]
>>301
それを元にtry & error するならわかるが、
そのままだと不要なdirectory まで globしてしまって、
他のパッケージとconflictするのでお勧めできない。
あと、file list を作る方法も同様の理由でお勧めできない。

%files ちゃんと書くためには--prefix=/tmpで試すのは有効だ。

305 名前:login:Penguin mailto:sage [2007/08/16(木) 19:33:48 ID:7j7bVIrI]
ああ、ほんとだ。
/usr/share/manとか思いっきりかぶるね。



306 名前:login:Penguin mailto:sage [2007/08/17(金) 02:48:05 ID:KxcSYsRc]
spec開くと、右のスクロールバーがみるみる小さくなったので
いったい何千行あるんだと辟易

よーく見ると、%changelog が8割

307 名前:login:Penguin mailto:sage [2007/08/17(金) 02:48:35 ID:mEp2Zb5H]
あるあるwww






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<158KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef