On Wed, Oct 25, 2006 at 11:16:18AM -0700, ravianand wrote: > >On Wed, 25 Oct 2006, Pasi K?rkk?inen wrote: > > Reply-To: Development discussions related to Fedora Core <fedora-devel-list@xxxxxxxxxx> > > > > On Wed, Oct 25, 2006 at 05:25:31PM +0300, Pasi K?rkk?inen wrote: > > > On Wed, Oct 25, 2006 at 09:07:04AM -0500, Matt Domsch wrote: > > > > On Tue, Oct 24, 2006 at 03:48:15PM -0700, ravianand wrote: > > > > > Does DKMS looks for pcitable or it has been updated to package module.alias ? > > > > > > > > It uses pcitable for <= 2.0.13 (the current release). What's the module.alias change? > > > https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=195899#c18 > > > > > > FC6 and RHEL5 use the new format, and work properly with it.. DKMS patch below which creates the FC5+ driver disk format. It auto-generates modules.alias. Please try this if you use this feature. Thanks, Matt -- Matt Domsch Software Architect Dell Linux Solutions linux.dell.com & www.dell.com/linux Linux on Dell mailing lists @ http://lists.us.dell.com --- /home/mdomsch/dkms/dev/SOURCES/dkms-2.0.13 2006-06-30 13:13:04.000000000 -0500 +++ /usr/sbin/dkms 2006-10-26 13:12:44.000000000 -0500 @@ -1733,10 +1733,25 @@ make_redhat_driver_disk() # Copy files for the driver disk (or warn if not present) local files_for_driverdisk="modinfo disk-info modules.dep pcitable modules.pcimap pci.ids" - local files_into_driverdisk="modules.cgz $rhdd_filename" + # Fedora Core 5 and higher, RHEL5 and higher, strictly require: rhdd, modules.cgz, modinfo, modules.alias, modules.dep + # which is in effect ignoring disk-info, pcitable, modules.pcimap and pci.ids + # and adding modules.alias, which will be generated. + local fc5_required_usercreated_files="modinfo modules.dep" + + # start with the list of DKMS-generated files + local files_into_driverdisk="modules.cgz $rhdd_filename modules.alias" + local ignore=0 + local warnlevel="Error!" for file in $files_for_driverdisk; do + warnlevel="Error!" + ignore=0 if ! [ -e "$dkms_tree/$module/$module_version/source/redhat_driver_disk/$file" ]; then - echo $"Warning! File: $file not found in $dkms_tree/$module/$module_version/source/redhat_driver_disk/" >&2 + if ! is_word_in_list "$file" "$fc5_required_usercreated_files" ; then + warnlevel="Notice:" + ignore=1 + fi + echo $"${warnlevel} File: $file not found in $dkms_tree/$module/$module_version/source/redhat_driver_disk/" >&2 + [ $ignore -eq 1 ] && echo $" If target is Fedora Core 5 or higher, RHEL5 or higher, this can be safely ignored." >&2 else files_into_driverdisk="$file $files_into_driverdisk" cp -f "$dkms_tree/$module/$module_version/source/redhat_driver_disk/$file" "$dkms_tree/$module/$module_version/driver_disk/" 2>/dev/null @@ -1756,6 +1771,28 @@ make_redhat_driver_disk() cd $temp_dir_name invoke_command "echo -e '$modules_cgz_list' | cpio -oH crc 2>/dev/null | gzip -9 > ./modules.cgz" "compressing modules.cgz" background cp -f ./modules.cgz "$dkms_tree/$module/$module_version/driver_disk/" + + # generate modules.alias file + # On 2.4 kernels. this won't yield anything. + # modules.alias needs to exist, even if its empty. + touch ./modules.alias + for f in $(echo -e ${modules_cgz_list}); do + module_wo_suffix=$(basename ${f} ${module_suffix}) + tmp_alias="./modules.alias.${module_wo_suffix}" + depmod -n ./${f} 2>/dev/null | grep ^alias > ${tmp_alias} + if [ -s ${tmp_alias} ]; then + cat ${tmp_alias} >> ./modules.alias + else + for a in $(modinfo ./${f} 2>/dev/null | grep ^alias: | awk '{print $2}'); do + echo "alias ${a} ${module_wo_suffix}" >> ${tmp_alias} + done + if [ -s ${tmp_alias} ]; then + cat ${tmp_alias} >> ./modules.alias + fi + fi + done + cp -f ./modules.alias "$dkms_tree/$module/$module_version/driver_disk/" + cd - >/dev/null rm -rf $temp_dir_name cd "$dkms_tree/$module/$module_version/driver_disk/" -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list