r4051 - trunk/scripts
Bastian Blank
waldi at costa.debian.org
Wed Aug 24 18:02:01 UTC 2005
Author: waldi
Date: 2005-08-24 18:02:00 +0000 (Wed, 24 Aug 2005)
New Revision: 4051
Modified:
trunk/scripts/prune-non-free
Log:
prune-non-free: Write Kconfig file.
Modified: trunk/scripts/prune-non-free
===================================================================
--- trunk/scripts/prune-non-free 2005-08-24 17:52:47 UTC (rev 4050)
+++ trunk/scripts/prune-non-free 2005-08-24 18:02:00 UTC (rev 4051)
@@ -170,7 +170,7 @@
Shell.command("tar #{zipped}cf " + Shell.quote(tarball) + ' ' + Shell.quote(srcdir))
end
-def rm_config_from_kconfig(mf, option)
+def rm_config_from_kconfig(mf, option, kc)
option = option.sub(/^CONFIG_/, '')
kconfig = File.dirname(mf) + '/Kconfig'
new_kconfig = File.open(kconfig + '.new', 'w')
@@ -182,6 +182,7 @@
deleting = false
end
new_kconfig << line unless deleting
+ kc << line if deleting
}
new_kconfig.close
FileUtils.mv(kconfig + '.new', kconfig)
@@ -202,14 +203,12 @@
FileUtils.mv(mf + '.new', mf)
end
-def scan_frag(src_mf, dst_mf, objects)
+def scan_frag(src_mf, dst_mf, dst_kc, objects)
deferred = []
File.open(src_mf).each { |line|
if objects.find { |o| line.include?(o) } || line.include?('EXTRA_CFLAGS')
if line =~ /\$\((CONFIG_[A-Z0-9_]+)\)/
- rm_config_from_kconfig(src_mf, $1)
- dst_mf << "EXTRA_CFLAGS += -D#{$1}=1\n"
- line.gsub!(/\$\(CONFIG_[A-Z0-9_]+\)/, 'm')
+ rm_config_from_kconfig(src_mf, $1, dst_kc)
end
dst_mf << line
@@ -225,19 +224,23 @@
deferred
end
-def mk_makefile(name, dst_dir, fragments)
- mf = File.open(name, 'w')
+def mk_files(dir, dst_dir, fragments)
+ kc = File.open("#{dir}/Kconfig", 'w')
+ mf = File.open("#{dir}/Makefile", 'w')
+ kc << "menu \"Non-free modules\"\n\n"
mf << "DIR ?= /usr/src/linux\n\n"
fragments.each { |key, val|
objects = val
# objects << 'EXTRA_CFLAGS' # make sure these don't get missed
while objects.length > 0
- objects = scan_frag("#{dst_dir}/#{key}/Makefile", mf, objects)
+ objects = scan_frag("#{dst_dir}/#{key}/Makefile", mf, kc, objects)
end
}
+ kc << "\nendmenu\n"
mf << "\nall:\n\t$(MAKE) -C $(DIR) M=$(CURDIR) modules\n\n"
mf << "install:\n\t$(MAKE) -C $(DIR) M=$(CURDIR) modules_install\n\n"
mf << "clean:\n\t$(MAKE) -C $(DIR) M=$(CURDIR) clean\n\n"
+ kc.close
mf.close
end
@@ -291,7 +294,7 @@
end
}
# Generate non-free driver's makefile
-mk_makefile("#{nonfree_dir}/Makefile", free_dir, makefiles)
+mk_files(nonfree_dir, free_dir, makefiles)
dont_nuke_debian_dir(free_dir)
More information about the Kernel-svn-changes
mailing list