Hi,
While I'm far from an expert, the headers needed to build 3rd party modules are now packaged with the kernel proper (that's one reason it's taking so long to install a new kernel nowadays).
Looks to me like the main reason it's taking so long is because kernel post scripts run "hardlink" which is not documented and has no help output. But judging by the name, the arguments it takes, and where it's run, I'd bet good money on conjecturing that it is a script that given a path or set of paths figures out all the files are the same, then hardlinks one to the other, thus saving space.
Personally I don't think the benefit of saving space outweighs the tremendous amount of time this takes, and I can't imagine it having very much benefit if the kernel version and release of the files being evualuated aren't exactly the same. Just my idea though.
I discussed this with Arjan during FC2 test development because I was very annoyed by the amount of time needed for hardlink. I wondered if we could run hardlink with "&" so that it runs in the background, allowing rpm to finish the transaction much sooner. I also asked if hardlink can be run as a low priority background maintenance job like prelink. Both were rejected because there is no guarantee that hardlink will be finished when rpm touches it again, and some difficulty related to free disk space calculation.
Now I think that removing hardlink from rpm %post and running it like prelink would be the best solution, but I am perhaps forgetting some past discussed details.
Warren Togami wtogami@xxxxxxxxxx