[Momonga-devel.ja:02060] OmoiKondara, v.1.126
- From: zunda <zunda616e@xxxxxxxxxxx>
- Date: Wed, 10 Sep 2003 17:52:16 +0900 (JST)
zundaです
OmoiKondaraに以下の改造を施して、1.126としてcommitしました。不具合があれ
ばお知らせください。
* ソースのダウンロードの後にパッケージのビルドが失敗しても、ソースは保存
されるようにしました。
* 必要ないgrepが実行されるのを防ぐようにしました。
* -develパッケージがインストールされる時に、メインパッケージもインストー
ルされるようにしました
-develパッケージとメインパッケージのインストールについては、まだ漏れがあ
りそうですし、-devel以外のサブパッケージがメインパッケージを必要としてい
る状況には対応できていません。これに対応するためには、もう少し根本的に改
造が必要なようです。
それでは。
Index: OmoiKondara
===================================================================
RCS file: /home/cvs/tools/OmoiKondara,v
retrieving revision 1.125
diff -u -r1.125 OmoiKondara
--- OmoiKondara 23 Aug 2003 17:27:14 -0000 1.125
+++ OmoiKondara 10 Sep 2003 08:41:01 -0000
@@ -350,11 +350,12 @@
end
end
file.sub!(re, $URL_ALIAS[re]) if re
- if exec_command("#{$FTP_CMD} #{file}").nonzero? and !$MIRROR_FIRST
+ status = exec_command("#{$FTP_CMD} #{file}")
+ if status.nonzero? and !$MIRROR_FIRST
# file retrieve error
status = get_from_mirror(n)
end
- end
+ end
Dir.chdir "../.."
end
else
@@ -729,7 +730,6 @@
def clean_up(pkg, install)
prepare_outputdirs
- backup_nosources
backup_rpms(install, pkg)
exec_command "rpmbuild --rmsource --rcfile rpmrc #{pkg}.spec"
File.delete "rpmrc"
@@ -894,7 +894,7 @@
return if flag
end
else # specname.nil?
- pkg = `rpm -q --whatprovides --queryformat "%{name}\\n" #{pkg}`.chomp
+ `rpm -q --whatprovides --queryformat "%{name}\\n" #{pkg}`
return if $?.to_i == 0
end # specname.nil?
if !File.directory?(specname||pkg) then
@@ -930,18 +930,26 @@
if specname and $DEPGRAPH then
spec = $DEPGRAPH.db.specs[specname]
pkg2 = spec.packages.select{|a| a.name == pkg}[0]
- pkg2.requires.each do |req|
- if not $SYSTEM_PROVIDES.has_name?(req.name) then
- $DEPGRAPH.db.packages[req.name].each do |a|
- build_and_install(a.spec, rpmflg)
+ if pkg2 then
+ pkg2.requires.each do |req|
+ if not $SYSTEM_PROVIDES.has_name?(req.name) then
+ if $DEPGRAPH.db.packages[req.name] then
+ $DEPGRAPH.db.packages[req.name].each do |a|
+ build_and_install(a.spec, rpmflg)
+ end
+ end
end
end
+ pkg = pkg2.name
end
- pkgs = Dir.glob("#{topdir}/#{$ARCH}/#{pkg2.name}-*.rpm")
- pkgs += Dir.glob("#{topdir}/noarch/#{pkg2.name}-*.rpm")
- else
- pkgs = Dir.glob("#{topdir}/#{$ARCH}/#{pkg}-*.rpm")
- pkgs += Dir.glob("#{topdir}/noarch/#{pkg}-*.rpm")
+ end
+ pkgs = Dir.glob("#{topdir}/#{$ARCH}/#{pkg}-*.rpm")
+ pkgs += Dir.glob("#{topdir}/noarch/#{pkg}-*.rpm")
+
+ if /-devel/ =~ pkg then
+ mainpkg = pkg.sub( /-devel/, '' )
+ pkgs += Dir.glob("#{topdir}/#{$ARCH}/#{mainpkg}-*.rpm")
+ pkgs += Dir.glob("#{topdir}/noarch/#{mainpkg}-*.rpm")
end
if not pkgs.empty? then
@@ -1264,6 +1272,10 @@
throw :exit_buildme, 2
end
cp_to_tree
+ Dir.chdir "#{$hTAG['NAME']}"
+ prepare_outputdirs
+ backup_nosources
+ Dir.chdir '..'
throw :exit_buildme, do_rpm(pkg)
else
throw :exit_buildme, 1
__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!
http://bb.yahoo.co.jp/