reactos.cab depends only on cabman and reactos.inf. This means after changing e.g. a dll module, it is necessary to delete reactos.cab before rebuilding so that the changed file will be updated in the cab.
My idea of a fix would be to make a reactos_cab target that works as before and always rebuild, and then have a reactos_cab_fast target that works like the new reactos_cab. Then we could have bootcd_fast, testcd_fast targets etc.
A similar issue breaks the Windows testbot. It executes a sequence such as
- ninja bootcd
- copy X:\wine_gecko-2.24-x86.msi ..\..\modules\optional\
- ninja bootcdregtest
The inf file is never updated to reflect the new file. This issue alone could be fixed by simply always rebuilding the inf file (i.e. using the .maydiff trick on the inf instead of the dff), however that does not fix the above problem.