On Thu, Jul 30, 2009 at 6:20 PM, Roman Macko<rmacko72@xxxxxxxxx> wrote: > Hi Luis, > > I have version 3.6 of module-init-tools and this version reads /etc/depmod.d > directory too. > > But I wanted to understand how depmod reads config files, so I looked into > source codes (both version 3.6 and 3.10) > and finally found out how it works. > > Assume depmod is run without -C or --config option > > Version 3.6 reads firstly /etc/depmod.conf file and then it reads config > files in directory /etc/depmod.d. > Files in directory /etc/depmod.d are read and parsed in unpredictable order > by readdir function (this function uses > raw directory structures of filesystem) > > Version 3.10 reads /etc/depmod.conf firstly as well, but this config file is > considered as deprecated in this version > and prints out warning about that. Then it reads config files in directory > /etc/depmod.d by readdir function as well, but before it starts > to parse them, it sorts them accord to filename, so you know the order in > which they are going to be parsed > and this is very improtant!!! This behavior should be from version 3.7 > > The same for both versions: > 1) List of directories to be searched is created from search commands from > all config files in order how particular > search commands are found in config files (so order of parsed config files > is important). If no search command is found, > updates directory is added before "built-in" directory. > > 2) As for override command, the last one found for particular module and > kernel in all config files wins, > so again the order of parsed config files is important. > > From this is evident, that both versions can work differently which depends > on the order of parsed config files from > /etc/depmod.d directory that is different in both versions. > > So solution would be: > 1) if there is no search command in any of config files (in /etc/depmod.conf > or those in /etc/depmod.d directory), do nothing. > 2) if there is a search command in any of config files and does not contain > updates directory before built-in add search command > "search updates" in > a) if system has version >=3.7, create config file in /etc/depmod.d > directory which name is alphabeticaly less than all you will find > in that directory > b) if system has version <=3.6 add search command "search updates" at the > begining of /etc/depmod.conf file > > But such adding of "search updates" can break depmod configuration in some > systems or it is not desirable to make search in > updates directory at all. So maybe it would be better to use another name > for directory than updates > > Or it would be also interesting to use override command for all modules > compiled in compat-wireless > and put it all to configuration file /etc/depmod.d/compat-wireless.conf and > not bothering with version of depmod nor > finding the search command in all configuration files, e.g > > compat-wireless.conf > ====================================== > override iwlagn * updates/drivers/net/wireless/iwlwifi > override iwlcore * updates/drivers/net/wireless/iwlwifi > .... > .... > .... > ====================================== > > it can make problem only when some other config file in /etc/depmod.d > directory contains override command for > any module from compat-wireless > > > I hope this help you Thanks, since you have read this and can read code, mind putting together a patch for the script on compat-wireless? Luis -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html