1== Patches applied on top of zlib == 2 3 - 0000-build.patch: changes from the upstream version, mostly related to the 4 build. 5 - 0001-simd.patch: integrate Intel SIMD optimizations from 6 https://github.com/jtkukunas/zlib/ 7 - 0002-uninitializedcheck.patch: prevent uninitialized use of state->check 8 9== Procedure to create a patch file == 10 11 Assuming you are working in a new feature branch: 12 - git format-patch master --stdout > foo.patch # where naming follows a growing 13 # number plus patch description. 14 - git add foo.patch 15 - git commit -a -m "Local patch." 16 - git rebase -i HEAD~2 # Squashing the second commit 17 18 As patches created in this way will feature a ChangeLog, there is no longer 19the need to append this file with a description of what the patch does. This 20should help to solve frequent conflicts in pending new patches on 21Chromium's zlib. 22 23 The plan for the near future is to better insulate the platform specific 24changes to ease update adoption with new releases of zlib. This insulation 25happens by making changes inside contrib/ rather than the root directory 26(where conflicts can happen). 27 28 If a change modifies enough things inside the root directory that the 29intention is not immediately clear, generate a .patch file to go with your 30change. If the change's modifications in the root directory are small, like: 31 32#ifdef FEATURE_FLAG 33use_special_feature(); 34#elif 35use_default_behavior(); 36#endif 37 38 then the intent is clear and a .patch file doesn't need to be generated (since 39it would not provide much value). 40 41 Ideally local changes should have a merge request featured in either: 42 - canonical zlib: https://github.com/madler/zlib/ 43 - zlib-ng: https://github.com/Dead2/zlib-ng 44