New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"%transfiletriggerin -- /lib/modules" loops through every file 375 times #370
Comments
The first thing that comes to mind is that both /lib/modules and /usr/src/kernels involve multiple versions of same package name installed in parallel, which is a fairly unusual situation otherwise, maybe that confuses the file trigger code. Just a guess for now, I'll look into it. Thanks for the report. |
A prefix can have arbitrary number of matches within a given header, but each header should be fed into the file list iteration just once. Otherwise we end up feeding the same file list over and over to the scriptlet - hundreds of megs or gigs of waste in worser cases.
Fixed in commit e6effe3, and again thanks for reporting and a nice reproducer! Another file trigger bug that needs an update to 4.13.x and 4.14.x soon... |
Besides testing the output length sanity, add provisions for testing scriptlet arguments too. All those zeros are technically wrong, but it simply reflects what is implemented, there's no attempt at providing anything else to the file triggers atm.
Wow, thank you for the quick fix! A bit of an unusual situation indeed. In my case, I was making something that would trigger when out-of-tree kernel modules or DKMS config files were installed so that they would be automatically signed for UEFI secure boot. |
A prefix can have arbitrary number of matches within a given header, but each header should be fed into the file list iteration just once. Otherwise we end up feeding the same file list over and over to the scriptlet - hundreds of megs or gigs of waste in worser cases. (cherry picked from commit e6effe3)
Besides testing the output length sanity, add provisions for testing scriptlet arguments too. All those zeros are technically wrong, but it simply reflects what is implemented, there's no attempt at providing anything else to the file triggers atm. (cherry picked from commit c6170c6)
A prefix can have arbitrary number of matches within a given header, but each header should be fed into the file list iteration just once. Otherwise we end up feeding the same file list over and over to the scriptlet - hundreds of megs or gigs of waste in worser cases. (cherry picked from commit e6effe3)
Besides testing the output length sanity, add provisions for testing scriptlet arguments too. All those zeros are technically wrong, but it simply reflects what is implemented, there's no attempt at providing anything else to the file triggers atm. Backported from commit c6170c6
When setting
%transfiletriggerin
on/lib/modules
, RPM seems to be passing the same list of files to the trigger script over and over. For example, with the following test case:installing the RPM produces a 433MB file list:
The number of lines do not match the number of files in
/lib/modules
.The same thing happens when setting the same trigger for
/usr/src/kernels
, though the list of files is now 15GB.I tested with other non-kernel directories (eg.
/usr/bin
) and was not able to reproduce this issue. Any ideas what could cause this?The text was updated successfully, but these errors were encountered: