diff -Nru linux-firmware-nonfree-1.13/debian/changelog linux-firmware-nonfree-1.14/debian/changelog --- linux-firmware-nonfree-1.13/debian/changelog 2012-05-22 16:17:56.000000000 +0000 +++ linux-firmware-nonfree-1.14/debian/changelog 2012-05-23 09:16:50.000000000 +0000 @@ -1,3 +1,12 @@ +linux-firmware-nonfree (1.14) quantal; urgency=low + + * debian/gen-modaliases: handle invalid UTF-8 encoding in modinfo output. + * Build-Depend on linux-image-generic to pull in the latest kernel and + point the module list generator at the modules as installed by it during + build. + + -- Andy Whitcroft Wed, 23 May 2012 10:16:45 +0100 + linux-firmware-nonfree (1.13) quantal; urgency=low * Add Modaliases: package header, so that ubuntu-drivers-common, PackageKit, diff -Nru linux-firmware-nonfree-1.13/debian/control linux-firmware-nonfree-1.14/debian/control --- linux-firmware-nonfree-1.13/debian/control 2012-05-22 16:05:04.000000000 +0000 +++ linux-firmware-nonfree-1.14/debian/control 2012-05-23 08:52:42.000000000 +0000 @@ -3,7 +3,7 @@ Priority: optional Maintainer: Ubuntu Kernel Team Standards-Version: 3.8.4 -Build-Depends: debhelper (>= 7), dh-modaliases +Build-Depends: debhelper (>= 7), dh-modaliases, python3, linux-image-generic Package: linux-firmware-nonfree Architecture: all diff -Nru linux-firmware-nonfree-1.13/debian/gen-modaliases linux-firmware-nonfree-1.14/debian/gen-modaliases --- linux-firmware-nonfree-1.13/debian/gen-modaliases 2012-05-22 16:16:05.000000000 +0000 +++ linux-firmware-nonfree-1.14/debian/gen-modaliases 2012-05-23 08:45:31.000000000 +0000 @@ -25,21 +25,21 @@ return data -def gen_firmware_map(): +def gen_firmware_map(moddir): '''Generate firmware/module mapping. Return map firmware -> module -> [modaliases]. ''' fw_map = {} - for root, dirs, files in os.walk(os.path.join('/lib/modules', os.uname()[2])): + for root, dirs, files in os.walk(moddir): for f in files: if not f.endswith('.ko'): continue modinfo = subprocess.Popen(['modinfo', os.path.join(root, f)], - stdout=subprocess.PIPE, universal_newlines=True) - out = modinfo.communicate()[0] + stdout=subprocess.PIPE) + out = modinfo.communicate()[0].decode('UTF-8', errors='ignore') assert modinfo.returncode == 0 info = parse_modinfo(out) @@ -62,7 +62,7 @@ yield os.path.join(root, f)[2:] if __name__ == '__main__': - fwmap = gen_firmware_map() + fwmap = gen_firmware_map(sys.argv[1]) #for fw, modinfo in fwmap.items(): # print('--- %s ----' % fw) # print(modinfo) diff -Nru linux-firmware-nonfree-1.13/debian/rules linux-firmware-nonfree-1.14/debian/rules --- linux-firmware-nonfree-1.13/debian/rules 2012-05-22 16:07:17.000000000 +0000 +++ linux-firmware-nonfree-1.14/debian/rules 2012-05-23 08:45:31.000000000 +0000 @@ -5,6 +5,8 @@ firm_dir = $(CURDIR)/debian/linux-firmware-nonfree/lib/firmware +kernel_version := $(shell apt-cache depends linux-image-generic | sed -ne 's/^ Depends: linux-image-\([0-9]\)/\1/p') + install-indep: build-indep dh_testdir dh_testroot @@ -27,7 +29,7 @@ # tar -C $(firm_dir) -xzf firmware/B43.tgz -binary-indep: install-indep +binary-indep: install-indep debian/linux-firmware-nonfree.modaliases dh_testdir dh_testroot @@ -53,7 +55,9 @@ # run this target to update the Modaliases: package header, so that # ubuntu-common-drivers/PackageKit can pick up the package automatically if a # covered piece of hardware is found +debian/linux-firmware-nonfree.modaliases: moddir=/lib/modules/$(kernel_version) debian/linux-firmware-nonfree.modaliases: install-indep - debian/gen-modaliases > $@ + test -d $(moddir) + debian/gen-modaliases $(moddir) > $@ .PHONY: clean binary build binary-indep install-indep binary-arch build-arch build-indep